[vmware][vcb][backup] 利用 ghettoVCB 進行 vmware Esxi 6.5 的guest os備分及還原
6 月 03
參考來源:
備分: https://sc8log.blogspot.tw/2016/12/ghettovcb-esxi-guest-os_16.html
還原: https://sc8log.blogspot.tw/2016/12/ghettovcb-esxi-guest-os.html
備分
指令範例
cd /vmfs/volumes/datastore1/ghettoVCB_sh ./bin/ghettoVCB.sh -g ./backup-IMKM.conf -m imkm.udngroup.com
還原
範例指令
/vmfs/volumes/datastore1/ghettoVCB_sh/bin/ghettoVCB-restore.sh -c /vmfs/volumes/datastore1/ghettoVCB_sh/restore-IMKM.conf
設定檔 /vmfs/volumes/datastore1/ghettoVCB_sh/restore-IMKM.conf
# DISK_FORMATS # 1 = zeroedthick (一次給足全部的硬碟大小,需要時才初使化未使用的空間) # 2 = 2gbsparse (將硬碟分割成多個 2G 的硬碟) # 3 = thin (隨著使用量而增加硬碟大小,達到設定上限時就不會在增加) # 4 = eagerzeroedthick (一次給足全部的硬碟大小(刪除所有的資料),已初始化可直接使用) #"/vmfs/volumes/vm-bak/pentaho/pentaho-2017-06-06_03-41-17;/vmfs/volumes/datastore1/restored;3" #"/vmfs/volumes/vm-bak/imkm.udngroup.com/imkm.udngroup.com-2017-06-07_04-05-32;/vmfs/volumes/datastore1/restored;3" "/vmfs/volumes/vm-bak/imkm.udngroup.com/imkm.udngroup.com-2017-06-09_07-40-57;/vmfs/volumes/datastore1/restored;3"
每日自動執行
因為 Esxi 沒有內建 crontab 程式, 目前以外部 linux 的 crontab 登入執行
參考了 http://blog.faq-book.com/?p=6180 (幫助不大)
在 host A 編寫
#!/usr/bin/expect spawn ssh "root@esxihost" expect "*assword: " send -- "yourpassword\n" expect "\[root@esxihost:~\] " #send -- "hostname\n" send -- "/bin/sh /vmfs/volumes/datastore1/ghettoVCB/bin/ghettoVCB.sh -g /vmfs/volumes/datastore1/ghettoVCB/backup-IMKM.conf -m imkm.udngroup.com\n" expect eof
為便於檢查目前已備分的 guest OS, 另外在備分完的時候, 同時檢查目前佔用的容量
#!/usr/bin/expect spawn ssh "root@esxihost" expect "*assword: " send -- "yourpassword\n" expect "\[root@esxihost:*" send -- "/bin/du -sh /vmfs/volumes/vm-bak/imkm.udngroup.com/* > /vmfs/volumes/vm-bak/\`date +%Y%m%d-%H%M%S%Z\`-space.log\n" expect "\[root@esxihost:*" send -- "exit\n" expect eof
然後在 host-A 增加一組 crontab 設定
0 23 * * * (/home/userA/scripts/ssh-esxi.sh; /home/userA/scripts/ssh-esxi-log.sh)