คู่มือสำรองข้อมูล VPS และ Snapshot

โดย ทีมวิศวกรรม ONIE · อัปเดตเมื่อ 12 พฤศจิกายน ค.ศ. 2026 · อ่าน 3 นาที

เซิร์ฟเวอร์อาจล้มเหลวได้จากการอัปเดตที่มีปัญหา ความผิดพลาดของมนุษย์ มัลแวร์ หรือปัญหาฮาร์ดแวร์ แผนที่ดีควรผสาน snapshot, backup และการทดสอบการกู้คืนเข้าด้วยกัน บน ONIE, Cloud Servers ในนครโฮจิมินห์ รองรับการสร้าง snapshot และ backup และคุณสามารถเพิ่ม Block Storage สำหรับเก็บข้อมูลได้

Snapshot กับ Backup

SnapshotBackup
ความหมายสถานะของดิสก์ที่บันทึกไว้ ณ เวลาหนึ่งสำเนาแยกต่างหากของเซิร์ฟเวอร์หรือข้อมูล
เหมาะกับวิธีย้อนกลับอย่างรวดเร็วก่อนอัปเกรดหรือเปลี่ยนการตั้งค่ากู้คืนเมื่อข้อมูลสูญหาย เสียหาย หรือถูกลบ
เก็บไว้ที่ใกล้กับเซิร์ฟเวอร์ต้นฉบับบนพื้นที่จัดเก็บแยกต่างหาก
ความเร็วสร้างและกู้คืนได้รวดเร็วช้ากว่า ขึ้นอยู่กับขนาดข้อมูล

ใช้ทั้งสองอย่าง: สร้าง snapshot ก่อนการเปลี่ยนแปลงที่มีความเสี่ยง และตั้งเวลาทำ backup สำหรับส่วนที่เหลือ

กฎ 3-2-1

เก็บสำเนาข้อมูลสำคัญไว้ 3 ชุด บนสื่อจัดเก็บ 2 ประเภทที่ต่างกัน และเก็บไว้ที่อื่นอีก 1 ชุด Snapshot บนเซิร์ฟเวอร์เดียวกันไม่เพียงพอเมื่อใช้เพียงลำพัง

สำรองไฟล์

rsync คัดลอกเฉพาะไฟล์ที่มีการเปลี่ยนแปลง:

rsync -aH --delete /var/www/ backup@backup-host:/srv/backups/www/

restic สร้าง backup ที่เข้ารหัสและตัดข้อมูลซ้ำซ้อน ไปยังปลายทางหลายแห่ง:

sudo apt install -y restic
restic -r sftp:backup@backup-host:/srv/restic init
restic -r sftp:backup@backup-host:/srv/restic backup /var/www /etc
restic -r sftp:backup@backup-host:/srv/restic forget --keep-daily 7 --keep-weekly 4 --prune

สำรองฐานข้อมูล

คัดลอกฐานข้อมูลด้วยการ dump แทนการคัดลอกไฟล์ข้อมูลที่กำลังใช้งานอยู่โดยตรง:

mysqldump --single-transaction --routines -u root wordpress | gzip > /var/backups/wordpress-$(date +%F).sql.gz

สำหรับ PostgreSQL ให้ใช้ pg_dump

ทำให้เป็นอัตโนมัติ

รัน backup ผ่าน cron หรือ systemd timer และกำหนดนโยบายการเก็บรักษาข้อมูล เพื่อลบสำเนาเก่าออกโดยอัตโนมัติ:

sudo crontab -e
# every day at 02:30
30 2 * * * /usr/local/bin/backup.sh

ทดสอบการกู้คืน

Backup ที่ไม่เคยทดสอบกู้คืนก็เป็นเพียงการคาดเดา ทุกเดือนให้กู้คืนไปยังเซิร์ฟเวอร์สำรองและตรวจสอบว่าเว็บไซต์และข้อมูลใช้งานได้ บันทึกขั้นตอนไว้ เพื่อให้ทุกคนในทีมทำตามได้

ก่อนการเปลี่ยนแปลงครั้งใหญ่

สร้าง snapshot ทำการเปลี่ยนแปลง ทดสอบ แล้วลบ snapshot เมื่อมั่นใจแล้ว วิธีนี้เข้ากันดีกับการตั้งค่า SSH ให้ปลอดภัย และนิสัยเดียวกันนี้ก็ช่วยได้เมื่อคุณอัปเกรดเว็บไซต์ WordPress

คำถามที่พบบ่อย

ควรสำรองข้อมูลบ่อยแค่ไหน?

การสำรองข้อมูลทุกวันเป็นเรื่องปกติสำหรับเว็บไซต์และฐานข้อมูลที่มีการเปลี่ยนแปลงบ่อย หากการสูญเสียข้อมูลหนึ่งวันสร้างความเสียหายมาก ควรสำรองบ่อยกว่านั้น

Snapshot มีค่าใช้จ่ายหรือไม่?

Snapshot และ backup คิดค่าบริการตามพื้นที่ที่ใช้ ดูอัตราค่าบริการปัจจุบันได้ที่หน้าราคาของบริการ

ควรเก็บ backup ไว้ที่ใด?

ไม่ควรเก็บไว้เฉพาะในเซิร์ฟเวอร์เดียวกัน ควรใช้สถานที่หรือผู้ให้บริการอื่น เพื่อให้ความล้มเหลวครั้งเดียวไม่ทำให้สำเนาทั้งหมดหายไป

แหล่งข้อมูลและการอ่านเพิ่มเติม

คู่มือ VPS เพิ่มเติม