[vmware][vcb][backup] 利用 ghettoVCB 進行 vmware Esxi 6.5 的guest os備分及還原

No Comments

參考來源:
備分: 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)

Leave a Reply

Share via
Copy link