久しぶりのghettoVCBです。
Backup of the virtual machine on VMware ESXi 5.5 with the ghettoVCB.sh
最新版はVersion: 1.0.0-0.0.0(Creation Date: 2015-05-06)でESXi 6対応になっていました。
ghettoVCB
https://github.com/lamw/ghettoVCB
Description
The ghettoVCB script performs backups of virtual machines residing on ESX(i) 3.x, 4.x, 5.x & 6.x servers using methodology similar to VMware’s VCB tool. The script takes snapshots of live running virtual machines, backs up the master VMDK(s) and then upon completion, deletes the snapshot until the next backup. The only caveat is that it utilizes resources available to the ESXi Shell running the backups as opposed to following the traditional method of offloading virtual machine backups through a VCB proxy.
作者のWebです。
virtuallyGhetto – ghettoVCB VIB & offline bundle for ESXi
http://www.virtuallyghetto.com/2015/05/ghettovcb-vib-offline-bundle-for-esxi.html
オフライン・バンドル vghetto-ghettoVCB-offline-bundle.zipをダウンロードしてESXiホストの適当な場所にコピー、インストールします。
直接ESXiホストからダウンロードできればいいのですがwgetしかなくhttps未対応なので一度PCなどでダウンロードしてからESXiホストにコピーすることになります。
- インストール
- 確認
- ファイル・レイアウト
- グローバル設定ファイルの編集
- バックアップVMリスト作成
- バックアップ
1 2 3 4 5 6 7 8 |
[root@esxi6:~] esxcli software vib install -d /vmfs/volumes/store/tools/vghetto-ghettoVCB-offline-bundle.zip -f Installation Result Message: Operation finished successfully. Reboot Required: false VIBs Installed: virtuallyGhetto_bootbank_ghettoVCB_1.0.0-0.0.0 VIBs Removed: VIBs Skipped: |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[root@esxi6:~] esxcli software vib get -n ghettoVCB virtuallyGhetto_bootbank_ghettoVCB_1.0.0-0.0.0 Name: ghettoVCB Version: 1.0.0-0.0.0 Type: bootbank Vendor: virtuallyGhetto Acceptance Level: CommunitySupported Summary: [Fling] ghettoVCB VM backup and restore script Description: e3c472abd58f79cfb107a59730c926548b8caa39 ReferenceURLs: ghettoVCB|https://github.com/lamw/ghettoVCB Creation Date: 2015-05-06 Depends: Conflicts: Replaces: Provides: Maintenance Mode Required: False Hardware Platforms Required: Live Install Allowed: True Live Remove Allowed: True Stateless Ready: True Overlay: False Tags: Payloads: payload1 |
このVIBは許容レベルがCommunitySupportedです。
ホストの許容レベルはデフォルトではPartnerSupportedです。
1 2 |
[root@esxi6:~] esxcli software acceptance get PartnerSupported |
本来はインストール出来ないのですが-fオプションで強制的にインストールしています。
https://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.upgrade.doc_50/GUID-27BBBAB8-01EA-4238-8140-1C3C3EFC0AA6.html
ただ、この状態だと通常のVMware Patchが適用できなくなります。
ホスト許容レベルをCommunitySupportedまで下げるか、ghettoVCBをアンインストールする必要があります。
ghettoVCBのファイル・レイアウトです。
設定ファイル
1 2 3 4 5 |
[root@esxi6:~] ls -l /etc/ghettovcb/ total 12 -r--r--r-- 1 root root 309 May 26 2015 ghettoVCB-restore_vm_restore_configuration_template -r--r--r-- 1 root root 356 May 26 2015 ghettoVCB-vm_backup_configuration_template -r--r--r-- 1 root root 728 May 26 2015 ghettoVCB.conf |
実行スクリプト
1 2 3 4 |
[root@esxi6:~] ls -l /opt/ghettovcb/bin/ total 84 -r-xr-xr-x 1 root root 17336 May 26 2015 ghettoVCB-restore.sh -r-xr-xr-x 1 root root 62846 May 26 2015 ghettoVCB.sh |
グローバル設定ファイル/etc/ghettovcb/ghettoVCB.confを編集します。
取り敢えずバックアップ先の設定(VM_BACKUP_VOLUME=)を行えばいいと思います。
参考
ghettoVCB.sh – Free alternative for backing up VM’s for ESX(i) 3.5, 4.x & 5.x
https://communities.vmware.com/docs/DOC-8760
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
[root@esxi6:~] cat /etc/ghettovcb/ghettoVCB.conf VM_BACKUP_VOLUME=/vmfs/volumes/dlgCore-NFS-bigboi.VM-Backups/WILLIAM_BACKUPS DISK_BACKUP_FORMAT=thin VM_BACKUP_ROTATION_COUNT=3 POWER_VM_DOWN_BEFORE_BACKUP=0 ENABLE_HARD_POWER_OFF=0 ITER_TO_WAIT_SHUTDOWN=3 POWER_DOWN_TIMEOUT=5 ENABLE_COMPRESSION=0 VM_SNAPSHOT_MEMORY=0 VM_SNAPSHOT_QUIESCE=0 ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=0 ENABLE_NON_PERSISTENT_NFS=0 UNMOUNT_NFS=0 NFS_SERVER=172.30.0.195 NFS_VERSION=nfs NFS_MOUNT=/nfsshare NFS_LOCAL_NAME=nfs_storage_backup NFS_VM_BACKUP_DIR=mybackups SNAPSHOT_TIMEOUT=15 EMAIL_LOG=0 EMAIL_SERVER=auroa.primp-industries.com EMAIL_SERVER_PORT=25 EMAIL_DELAY_INTERVAL=1 EMAIL_TO=auroa@primp-industries.com EMAIL_FROM=root@ghettoVCB WORKDIR_DEBUG=0 VM_SHUTDOWN_ORDER= VM_STARTUP_ORDER= |
ただそのままvi編集すると-r–r–r–なので“/etc/ghettovcb/ghettoVCB.conf” Operation not permittedで保存できません。
ところが-rw-r–r–にしても、-rw-rw-rw-でも同様のエラーで保存できません。
原因がわからないのですが取り敢えず新規で作成することで設定ファイルを作成しました。
1 2 |
[root@esxi6:~] ls -l /etc/ghettovcb/rootlinks.conf -rw-r--r-- 1 root root 701 Jun 1 06:16 /etc/ghettovcb/rootlinks.conf |
バックアップするVMのリストを作成します。
1 |
[root@esxi6:~] vi /etc/ghettovcb/vm2backup |
試しにバックアップを実行してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
[root@esxi6:~] /opt/ghettovcb/bin/ghettoVCB.sh -f /etc/ghettovcb/vm2backup -g /etc/ghettovcb/rootlinks.conf Logging output to "/tmp/ghettoVCB-2016-06-01_06-24-50-4022521.log" ... 2016-06-01 06:24:51 -- info: multiextent VMkernel module is not loaded & is required for 2gbsparse, enabling ... 2016-06-01 06:24:51 -- info: ============================== ghettoVCB LOG START ============================== 2016-06-01 06:24:51 -- info: CONFIG - USING GLOBAL GHETTOVCB CONFIGURATION FILE = /etc/ghettovcb/rootlinks.conf 2016-06-01 06:24:51 -- info: CONFIG - VERSION = 2015_05_06_1 2016-06-01 06:24:51 -- info: CONFIG - GHETTOVCB_PID = 4022521 2016-06-01 06:24:51 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/nfs 2016-06-01 06:24:51 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3 2016-06-01 06:24:51 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2016-06-01_06-24-50 2016-06-01 06:24:51 -- info: CONFIG - DISK_BACKUP_FORMAT = thin 2016-06-01 06:24:51 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0 2016-06-01 06:24:51 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0 2016-06-01 06:24:51 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3 2016-06-01 06:24:51 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5 2016-06-01 06:24:51 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15 2016-06-01 06:24:51 -- info: CONFIG - LOG_LEVEL = info 2016-06-01 06:24:51 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2016-06-01_06-24-50-4022521.log 2016-06-01 06:24:51 -- info: CONFIG - ENABLE_COMPRESSION = 0 2016-06-01 06:24:51 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0 2016-06-01 06:24:51 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0 2016-06-01 06:24:51 -- info: CONFIG - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0 2016-06-01 06:24:51 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all 2016-06-01 06:24:51 -- info: CONFIG - VM_SHUTDOWN_ORDER = 2016-06-01 06:24:51 -- info: CONFIG - VM_STARTUP_ORDER = 2016-06-01 06:24:51 -- info: CONFIG - RSYNC_LINK = 0 2016-06-01 06:24:51 -- info: CONFIG - EMAIL_LOG = 0 2016-06-01 06:24:51 -- info: 2016-06-01 06:24:53 -- info: Initiate backup for host01 2016-06-01 06:24:53 -- info: Creating Snapshot "ghettoVCB-snapshot-2016-06-01" for host01 Option --adaptertype is deprecated and hence will be ignored Destination disk format: VMFS thin-provisioned Cloning disk '/vmfs/volumes/Store/CentOS/host01/host01.vmdk'... Clone: 21% done. |
スナップ・ショットを作成してから、それをバックアップするのでVMの電源をOFFにしなくてもバックアップできます。
ただ、それなりに時間は掛かります。
VIBをインストールするより、必要なファイルを適当なフォルダにコピーして設定する方が楽かもしれません。
追記
3台の仮想マシンのバックアップに約7時間かかりました。
仮想マシン1(100GB zeroedthick): Backup Duration: 227.13 Minutes
仮想マシン2(100GB zeroedthick): Backup Duration: 130.05 Minutes
仮想マシン3(30GB zeroedthick): Backup Duration: 60.10 Minutes