
ก่อนจะ Update OS, Deploy โค้ดใหม่ หรือเปลี่ยนแปลง Config สำคัญบน VPS สิ่งที่ควรทำก่อนเสมอคือสร้าง Snapshot ไว้ก่อน แต่ Snapshot ต่างจาก Backup อย่างไร และเมื่อไหร่ควรใช้ตัวไหน บทความนี้อธิบายให้ชัดเจน
Snapshot คืออะไร
Snapshot คือภาพถ่าย (Point-in-time Image) ของ Disk หรือ System State ทั้งหมดของ VPS ณ เวลาที่สร้าง ครอบคลุม OS, Software, Configuration, และข้อมูลทั้งหมดในขณะนั้น เปรียบเหมือน "บันทึกสถานะ" ที่สามารถ Rollback กลับมาได้ทันที
Snapshot ทำงานระดับ Block Storage โดยบันทึกเฉพาะส่วนที่เปลี่ยนแปลง (Copy-on-Write) ทำให้สร้างเร็วและใช้พื้นที่น้อยกว่า Full Copy ในช่วงแรก
Backup คืออะไร
Backup คือการสำเนาข้อมูลไปยัง Storage ที่แยกออกจาก Production Server (Off-site หรือ Remote Storage) โดยทั่วไป Backup จะรันเป็น Schedule เช่น ทุกคืน ทุกสัปดาห์ และเก็บ History หลาย Version
เปรียบเทียบ Snapshot กับ Backup
| รายการ | Snapshot | Backup |
|---|---|---|
| วัตถุประสงค์ | Rollback ฉุกเฉิน ระยะสั้น | ปกป้องข้อมูลระยะยาว |
| ตำแหน่งเก็บ | บน Storage เดียวกับ VPS | Off-site / Remote Storage |
| ความเร็วในการสร้าง | เร็วมาก (วินาที-นาที) | ช้ากว่า (ขึ้นอยู่กับขนาดข้อมูล) |
| ความเร็ว Restore | เร็ว | ช้ากว่า ต้อง Transfer ข้อมูล |
| ป้องกัน Hardware Failure | ไม่ (อยู่ที่เดียวกัน) | ใช่ (แยก Storage) |
| ระยะเวลาเก็บ | สั้น (ลบทิ้งหลังใช้) | นาน (อาจเก็บหลายเดือน) |
| ค่าใช้จ่าย | บางผู้ให้บริการรวมอยู่ | อาจมีค่าใช้จ่ายเพิ่ม |
Snapshot vs Backup: ตารางเปรียบเทียบเชิงลึก
หลายคนเข้าใจว่า Snapshot กับ Backup เป็นสิ่งเดียวกัน แต่ในความเป็นจริงทั้งสองทำงานคนละระดับและตอบโจทย์คนละสถานการณ์ ตารางด้านล่างเปรียบเทียบ 5 มิติสำคัญที่ควรรู้ก่อนวางกลยุทธ์ปกป้องข้อมูล ได้แก่ ความเร็ว, พื้นที่จัดเก็บ, การย้อนเวลา (Point-in-time), การกู้คืนจากภัยพิบัติ (Disaster Recovery) และระยะเวลาเก็บรักษา (Retention)
| มิติ | Snapshot | Backup |
|---|---|---|
| ความเร็ว (สร้าง/กู้คืน) | เร็วมาก — สร้างเสร็จในวินาทีถึงนาที กู้คืนทันทีบน Storage เดิม | ช้ากว่า — ต้องอ่าน/เขียนและโอนข้อมูลข้าม Network |
| พื้นที่จัดเก็บ | ประหยัดช่วงแรก (Copy-on-Write เก็บเฉพาะ Block ที่เปลี่ยน) | ใช้พื้นที่เต็มตามขนาดข้อมูล (โดยเฉพาะ Full Backup) |
| Point-in-time (ย้อนเวลา) | ทำได้ แต่ปกติเก็บไม่กี่จุดและช่วงสั้น | เก็บได้หลาย Version ย้อนหลังหลายวัน/สัปดาห์/เดือน |
| Disaster Recovery | ไม่รอด — อยู่บน Storage เดียวกับ VPS ถ้า Hardware/DC พังหายตามไปด้วย | รอด — เก็บแยก Off-site คนละ Storage/คนละ Region |
| Retention (ระยะเก็บ) | สั้น — ควรลบทิ้งหลังใช้เพื่อไม่ให้กิน Storage | ยาว — เก็บตาม Policy เช่น 30–90 วัน หรือนานกว่านั้น |
สรุปง่ายๆ คือ Snapshot เก่งเรื่อง ความเร็วและการย้อนกลับเฉพาะหน้า ส่วน Backup เก่งเรื่อง ความทนทานและการกู้คืนจากภัยพิบัติระยะยาว ทั้งสองไม่ได้แข่งกัน แต่ทำงานเสริมกัน
ใช้ Snapshot เมื่อไหร่ (ก่อน Update / ก่อน Migrate)
เวลาที่เหมาะที่สุดในการสร้าง Snapshot คือ ช่วงก่อนการเปลี่ยนแปลงที่มีความเสี่ยง เพราะ Snapshot สร้างได้เร็วและกู้คืนได้ทันที จึงเป็น "เซฟพอยต์" ที่ดีก่อนทำสิ่งที่อาจพังระบบ ตัวอย่างจังหวะที่ควรกด Snapshot ทุกครั้ง:
- ก่อน Update OS หรือ Kernel — การอัปเดตที่กระทบ Boot loader หรือ Driver อาจทำให้ Server Boot ไม่ขึ้น มี Snapshot ไว้ Rollback ได้ในนาทีเดียว
- ก่อน Migrate / ย้าย Server / Upgrade Plan — สร้าง Snapshot ของสถานะปัจจุบันไว้ก่อน ถ้าการย้ายมีปัญหาก็กลับมาตั้งต้นใหม่ได้
- ก่อน Deploy Major Release ที่มีการเปลี่ยน Database Schema หรือ Dependency ใหญ่
- ก่อนแก้ Config ที่อาจล็อกตัวเองออกจากระบบ เช่น SSH, Firewall, Network interface
หลักคิดสั้นๆ: ถ้าสิ่งที่กำลังจะทำ "ถ้าพังแล้วแก้ยากหรือกู้คืนนาน" ให้สร้าง Snapshot ก่อนเสมอ มันใช้เวลาไม่กี่วินาที แต่ช่วยประหยัดเวลาตอนฉุกเฉินได้เป็นชั่วโมง
Snapshot ไม่ใช่ Backup — ทำไม
นี่คือความเข้าใจผิดที่อันตรายที่สุด: หลายคนกด Snapshot แล้วคิดว่า "ปลอดภัยแล้ว ไม่ต้อง Backup" ซึ่งผิดอย่างยิ่ง เหตุผลหลักมี 3 ข้อ:
- อยู่บน Storage เดียวกับ VPS — Snapshot ส่วนใหญ่ถูกเก็บบน Storage Pool เดียวกับ Disk ของ VPS ถ้า Storage นั้นเสีย, RAID พัง หรือ Data Center มีปัญหา Snapshot จะหายไปพร้อมกับข้อมูลต้นฉบับ — แปลว่าไม่มีอะไรเหลือให้กู้
- ไม่ได้ออกแบบมาให้เก็บนาน — Snapshot ที่เก็บไว้นานจะกิน Storage มากขึ้นเรื่อยๆ (เพราะต้องเก็บ Block ที่ต่างกันสะสม) และอาจกระทบ Performance ของ Disk จึงควรเป็นของชั่วคราว
- ไม่ป้องกัน Logical Error ที่ค้นพบช้า — ถ้าข้อมูลเสียหายแบบเงียบๆ (เช่น Ransomware, ลบไฟล์ผิด) แล้วเพิ่งรู้ตัวหลายวันถัดมา Snapshot ระยะสั้นมักถูกลบไปแล้ว ในขณะที่ Backup ที่มี History ยาวยังกู้ได้
⚠️ จำให้ขึ้นใจ: Snapshot = "Undo ปุ่มฉุกเฉิน" ที่อยู่ในบ้านหลังเดียวกัน ถ้าบ้านไฟไหม้ ปุ่ม Undo ก็ไหม้ไปด้วย — Backup คือสำเนาที่เก็บไว้ "นอกบ้าน" ต่างหาก
Best Practice: Snapshot + Offsite Backup คู่กัน
แนวทางที่ถูกต้องไม่ใช่เลือกอย่างใดอย่างหนึ่ง แต่ใช้ทั้งคู่ตามจุดแข็งของแต่ละตัว:
- ใช้ Snapshot เป็นเซฟพอยต์ระยะสั้นก่อนการเปลี่ยนแปลง (Update, Deploy, Migrate) — สร้างเร็ว Rollback เร็ว แล้วลบทิ้งเมื่อมั่นใจว่าระบบใหม่เสถียร
- ใช้ Offsite Backup เป็นแนวป้องกันระยะยาว — ตั้ง Scheduled Backup รายวัน/รายสัปดาห์ ส่งข้อมูลไปเก็บที่ Storage แยกออกจาก VPS เช่น Object Storage แบบ S3-compatible หรือ Remote Server คนละ Region
- ทดสอบการ Restore เป็นระยะ — Backup ที่กู้คืนไม่ได้ก็เท่ากับไม่มี Backup ควรลองกู้คืนจริงอย่างน้อยไตรมาสละครั้ง
กฎ 3-2-1 ที่ควรยึด: ข้อมูลสำคัญควรมี 3 สำเนา, บน 2 สื่อ/ระบบที่ต่างกัน, และอย่างน้อย 1 สำเนาอยู่ Off-site — Snapshot นับเป็นเพียงส่วนหนึ่งของ "2 สื่อ" เท่านั้น ยังต้องมี Offsite Backup เติมเต็มให้ครบ
เมื่อไหร่ควรสร้าง Snapshot
- ก่อน Update OS เช่น
apt upgradeหรือ Kernel update ที่อาจทำให้ระบบ Boot ไม่ขึ้น - ก่อน Deploy โค้ดใหม่ โดยเฉพาะ Major Release ที่มีการเปลี่ยนแปลง Database Schema
- ก่อนเปลี่ยน Config สำคัญ เช่น Nginx, MySQL, Firewall Rules
- ก่อนติดตั้ง Software ใหม่ ที่อาจ Conflict กับ Package ที่มีอยู่
- ก่อน Migrate ย้าย Server หรือ Upgrade Plan
⚠️ Snapshot ไม่ใช่ Backup ถาวร: ถ้า Storage เสียหรือ Data Center มีปัญหา Snapshot ที่อยู่บน Storage เดียวกันจะหายไปด้วย ต้องมีทั้ง Snapshot (ฉุกเฉิน) และ Backup (ระยะยาว) ควบคู่กัน
วิธีสร้าง Snapshot บน VPS (ระดับ Provider)
Snapshot ส่วนใหญ่สร้างจาก Control Panel ของผู้ให้บริการ VPS ไม่ใช่จากใน Server โดยตรง ขั้นตอนทั่วไป:
- Login เข้า Dashboard ของ VPS Provider
- ไปที่หน้า VPS ที่ต้องการ
- เลือก Snapshots หรือ Images
- คลิก Take Snapshot หรือ Create Snapshot
- ตั้งชื่อ Snapshot ให้จำได้ง่าย เช่น
before-laravel-v2-deploy - รอระบบสร้าง Snapshot เสร็จ (อาจใช้เวลาไม่กี่นาทีถึงครึ่งชั่วโมงขึ้นอยู่กับขนาด Disk)
วิธี Rollback จาก Snapshot
- หยุด VPS (Power Off) หรือบาง Provider รองรับ Live Restore
- ไปที่หน้า Snapshots → เลือก Snapshot ที่ต้องการ
- คลิก Restore หรือ Rebuild from Snapshot
- ยืนยัน — ระบบจะ Restore Disk กลับไปยังสถานะในขณะที่สร้าง Snapshot
สำคัญ: การ Restore จาก Snapshot จะ Overwrite ข้อมูลทั้งหมดบน Disk ปัจจุบัน ข้อมูลที่เพิ่มหรือแก้ไขหลังจากสร้าง Snapshot จะหายไป ตรวจสอบให้แน่ใจก่อน Restore เสมอ
Backup ระดับ File ด้วย rsync
สำหรับ Backup แบบ Incremental ที่ง่ายและประหยัด ใช้ rsync ส่งข้อมูลไปยัง Remote Server:
นอกจาก Snapshot แนะนำให้ตั้งค่า Scheduled Backup ด้วย rsync, Rclone, หรือใช้บริการ Object Storage (เช่น S3-compatible) เพื่อเก็บ Backup ระยะยาวแยกออกจาก VPS Production
กฎ 3-2-1: ข้อมูลสำคัญควรมี 3 สำเนา บน 2 สื่อต่างกัน และ 1 สำเนาอยู่ Off-site — Snapshot เป็นแค่ส่วนหนึ่ง ไม่ใช่ทั้งหมดของกลยุทธ์ Backup
คำถามที่พบบ่อย (FAQ)
Snapshot ใช้แทน Backup ได้ไหม
ไม่ได้ Snapshot ส่วนใหญ่อยู่บน Storage เดียวกับ VPS ถ้า Storage หรือ Data Center เสียหาย Snapshot จะหายตามไปด้วย จึงควรใช้ Snapshot สำหรับ Rollback ระยะสั้น และมี Offsite Backup แยกต่างหากสำหรับการกู้คืนระยะยาวเสมอ
การ Restore จาก Snapshot จะลบข้อมูลปัจจุบันไหม
ใช่ การ Restore จะเขียนทับ Disk ทั้งหมดกลับไปยังสถานะ ณ ตอนที่สร้าง Snapshot ข้อมูลที่เพิ่มหรือแก้ไขหลังจากนั้นจะหายไป ควรตรวจสอบและสำรองไฟล์ที่จำเป็นก่อน Restore ทุกครั้ง
ควรเก็บ Snapshot ไว้นานแค่ไหน
Snapshot เป็นของชั่วคราว ควรเก็บเฉพาะช่วงที่ยังไม่มั่นใจว่าระบบใหม่เสถียร เมื่อยืนยันว่าทุกอย่างทำงานปกติแล้วควรลบทิ้ง เพราะ Snapshot ที่ค้างนานจะกิน Storage เพิ่มขึ้นเรื่อยๆ และอาจกระทบ Performance ของ Disk
AsiaGB VPS มีระบบ Snapshot ให้ใช้ไหม
มี AsiaGB VPS รองรับการสร้าง Snapshot ผ่าน Control Panel พร้อม Root Access เต็มรูปแบบและ SSD ความเร็วสูง เริ่มต้น 500 บาท/เดือน เหมาะกับ WordPress, E-Commerce, Node.js และ Business Apps
VPS ที่มีระบบ Snapshot และ Backup พร้อมใช้
AsiaGB VPS มีฟีเจอร์ Snapshot ผ่าน Control Panel ง่าย Root Access เต็มรูปแบบ พร้อม SSD Storage ความเร็วสูง
ดูแพ็กเกจ VPS