ครั้งที่แล้วเราได้ลอง Backup และ Restore VM ใน Proxmox ผ่าน Web UI ไปแล้ว ครั้งนี้เรามาดูวิธีการ Backup/Restore ผ่าน Command กันบ้าง การ Backup เราจะใช้คำสั่ง vzdump ซึ่งสามารถทำ snapshot ขณะ VM ยังรันอยู่ได้ โดยวิธี Backup ก็แบ่งเป็น 3 โหมด ดังนี้
- “stop” หยุดการทำงานของ CT ระหว่าง Backup (วิธีนี้ downtime นานมาก)
- “suspend” ใช้ rsync และ suspend/resume (downtime น้อย)
- “snapshot” ใช้ LVM2(ไม่มี downtime)
มาดูวิธีการ Backup กัน สมมุติตัวอย่างเราจะ Backup CTID 108 เราสามารถดู CTID เครื่องที่ต้องการ Backup ได้โดยใช้คำสั่ง vzlist -a
ตัวอย่างแรกใช้คำสั่ง vzdump 108
คำสั่งนี้เป็นการ Backup แบบไม่มีการทำ snapshot โดยจะเก็บ file ไว้ default path คือ /var/lib/vz/dump
ต่อไปลองใช้ rsync และ suspend/resume ทำ snapshot ดู แบบนี้จะลดเวลา downtime ได้ ดังตัวอย่าง
vzdump -mode suspend 108
เรามาลอง backup แบบไม่ต้อง downtime ดูบ้าง ดังตัวอย่าง เป็นการ backup ในโหมด snapshot โดย –dumpdir คือให้นำไฟล์ backup ไปเก็บที่ไดเรคทอรี /backup นั่นเอง
vzdump --dumpdir /backup -mode snapshot 108
สำหรับ option เพิ่มเติมสามารถดูได้จาก man vzdump
หรือ vzdump help
ต่อไปมาดูการ Restore กันบ้าง การ restore เราจะใช้ vzrestore /path/backup/vzdump-xxx.tar CTID
เช่น ตัวอย่างคือต้องการ Restore เครื่อง CTID 108 ที่ได้ Backup ก่อนหน้า ไว้ที่ CTID 222 โดยใช้คำสั่ง vzlist -a
เพื่อตรวจสอบหมายเลข CTID เพื่อไม่ให้ซ้ำกันก่อน
จะเห็นว่ามี CTID 222 เพิ่มขึ้นมาจากการ Restore CTID 108 แล้ว