VMware ESXi 8をインストールしてVMware vSphere Hypervisor(ESXi) 8のライセンスを登録ししました。
これで本格的にいろいろ試してみます。
先日、Windows 11をインストールしましたが、これは削除して新たにUbuntu Server 22.04 LSTを試しにインストールしました。
そこで考えなければならないのがバックアップです。
いままではghettoVCBを使用してNFS経由でバックアップしていました。
Backup of the virtual machine on VMware ESXi 6 with the ghettoVCB.sh
lamw/ghettoVCB
https://github.com/lamw/ghettoVCB
Releases
https://github.com/lamw/ghettoVCB/releases
ghettoVCB – 2021_10_20 Latest
Note: This VIB can only be installed on ESXi 5.x, 6.x and 7.x. ESXi 8.x is NOT supported due to changes in VIB packaging requirements
エェェ!? ESXi 8はサポート対象外と
でも、これってVIBをインストールする為の要件変更でインストールできないってだけで、スクリプトは動くのでは…?
そこでghettoVCB – 2021_10_20のzipファイルをダウンロードして試してみました。
- ghettoVCB-2021_10_20.zipのダウンロード
- データストアにコピー
- zipファイルの解凍
- 取り合えず実行
- バックアップ先の指定
- バックアップの実行
- 再度バックアップの実行
上記サイトから最新のghettoVCB-2021_10_20.zipをダウンロードします。
ESXi管理画面からストレージのデータブラウザでアップロードするかssh経由でESXiホストのデータストアにコピーして下さい。
場所はどこでもいいです。
以下、本当はディレクトリパスでデータストアがデバイスIDになりますが、見づらいのでデータストア名で記述しています。
1 2 3 4 5 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] ls -l total 1216 drwxr-xr-x 1 root root 73728 Apr 10 07:03 . drwxr-xr-t 1 root root 73728 Apr 10 07:02 .. -rw-r--r-- 1 root root 44362 Apr 10 07:03 ghettoVCB-2021_10_20.zip |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] unzip ghettoVCB-2021_10_20.zip Archive: ghettoVCB-2021_10_20.zip creating: ghettoVCB-2021_10_20/ inflating: ghettoVCB-2021_10_20/README.md creating: ghettoVCB-2021_10_20/build/ inflating: ghettoVCB-2021_10_20/build/Dockerfile inflating: ghettoVCB-2021_10_20/build/README.md inflating: ghettoVCB-2021_10_20/build/build.sh inflating: ghettoVCB-2021_10_20/build/create_ghettoVCB_vib.sh inflating: ghettoVCB-2021_10_20/ghettoVCB-VMDKexclude.sh inflating: ghettoVCB-2021_10_20/ghettoVCB-restore.sh inflating: ghettoVCB-2021_10_20/ghettoVCB-restore_vm_restore_configuration_template inflating: ghettoVCB-2021_10_20/ghettoVCB-vm_backup_configuration_template inflating: ghettoVCB-2021_10_20/ghettoVCB.conf inflating: ghettoVCB-2021_10_20/ghettoVCB.sh |
1 2 3 4 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] ls -l total 192 drwxrwxrwx 1 root root 73728 Apr 10 07:04 ghettoVCB-2021_10_20 -rw-r--r-- 1 root root 44362 Apr 10 07:03 ghettoVCB-2021_10_20.zip |
ディレクトリを整理して最終の配置です。
1 2 3 4 5 6 7 8 9 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] ls -l total 2112 -rw-r--r-- 1 root root 3047 Apr 10 07:04 README.md -rw-r--r-- 1 root root 72682 Apr 10 07:04 ghettoVCB-VMDKexclude.sh -rwxr-xr-x 1 root root 17945 Apr 10 07:04 ghettoVCB-restore.sh -rw-r--r-- 1 root root 309 Apr 10 07:04 ghettoVCB-restore_vm_restore_configuration_template -rw-r--r-- 1 root root 356 Apr 10 07:04 ghettoVCB-vm_backup_configuration_template -rw-r--r-- 1 root root 767 Apr 10 07:08 ghettoVCB.conf -rwxr-xr-x 1 root root 75244 Apr 10 07:14 ghettoVCB.sh |
あれ権限が無いって? -rwxr-xr-xなのに。
1 2 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] ./ghettoVCB.sh -sh: ./ghettoVCB.sh: Operation not permitted |
sh経由にしてみたら動きました。
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] sh ghettoVCB.sh ############################################################################### # # ghettoVCB for ESX/ESXi 3.5, 4.x, 5.x, 6.x & 7.x # Author: William Lam # http://www.virtuallyghetto.com/ # Documentation: http://communities.vmware.com/docs/DOC-8760 # Created: 11/17/2008 # Last modified: 2021_07_09 Version 1 # ############################################################################### Usage: ghettoVCB.sh [options] OPTIONS: -a Backup all VMs on host -f List of VMs to backup -m Name of VM to backup (overrides -f) -j Job name to show in email report subject (makes sense only in conjunction with -f) -c VM configuration directory for VM backups -g Path to global ghettoVCB configuration file -l File to output logging -w ghettoVCB work directory (default: /tmp/ghettoVCB.work) -d Debug level [info|debug|dryrun] (default: info) (e.g.) Backup list of VMs from a file (optionally include a job name for the email report) ghettoVCB.sh -f vms_to_backup [ -j myJob ] Backup a single VM ghettoVCB.sh -m vm_to_backup Backup all VMs residing on this host ghettoVCB.sh -a Backup all VMs residing on this host except for the VMs in the exclusion list ghettoVCB.sh -a -e vm_exclusion_list Backup VMs based on specific configuration located in directory ghettoVCB.sh -f vms_to_backup -c vm_backup_configs Backup VMs using global ghettoVCB configuration file ghettoVCB.sh -f vms_to_backup -g /global/ghettoVCB.conf Output will log to /tmp/ghettoVCB.log (consider logging to local or remote datastore to persist logs) ghettoVCB.sh -f vms_to_backup -l /vmfs/volume/local-storage/ghettoVCB.log Dry run (no backup will take place) ghettoVCB.sh -f vms_to_backup -d dryrun 2023-04-10 07:09:44 -- info: ERROR: Incorrect number of arguments! |
ghettoVCB.confを編集してバックアップ先を指定します。取り合えず検証なので同じデータストアにBackupフォルダを作成しました。
1 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] vi ghettoVCB.conf |
VM_BACKUP_VOLUMEがバックアップ先になります。
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 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] cat ghettoVCB.conf VM_BACKUP_VOLUME=/vmfs/volumes/datastore1/Backup 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_ALERT=0 EMAIL_LOG=0 EMAIL_SERVER=auroa.primp-industries.com EMAIL_SERVER_PORT=25 EMAIL_DELAY_INTERVAL=1 EMAIL_USER_NAME= EMAIL_USER_PASSWORD= EMAIL_TO=auroa@primp-industries.com EMAIL_ERRORS_TO= EMAIL_FROM=root@ghettoVCB WORKDIR_DEBUG=0 VM_SHUTDOWN_ORDER= VM_STARTUP_ORDER= |
サポート対象外で実行できません。
1 2 3 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] sh ghettoVCB.sh -m Ubuntu -g ./ghettoVCB.conf Logging output to "/tmp/ghettoVCB-2023-04-10_07-12-22-533642.log" ... ESX(i) version not supported! |
以前も似たようなことがあってスクリプトを修正しました。今回もスクリプトを確認するとバージョンチェックでエラーになっていたようです。そこで修正しました。
【修正前】
1 2 3 4 5 6 7 8 9 10 11 |
ESX_VERSION=$(vmware -v | awk '{print $3}') ESX_RELEASE=$(uname -r) case "${ESX_VERSION}" in 7.0.0|7.0.1|7.0.2|7.0.3) VER=7; break;; 6.0.0|6.5.0|6.7.0) VER=6; break;; 5.0.0|5.1.0|5.5.0) VER=5; break;; 4.0.0|4.1.0) VER=4; break;; 3.5.0|3i) VER=3; break;; *) echo "ESX(i) version not supported!"; exit 1; break;; esac |
【修正後】
1 2 3 4 5 6 7 8 9 10 11 12 |
ESX_VERSION=$(vmware -v | awk '{print $3}') ESX_RELEASE=$(uname -r) case "${ESX_VERSION}" in 8.0.0) VER=8; break;; 7.0.0|7.0.1|7.0.2|7.0.3) VER=7; break;; 6.0.0|6.5.0|6.7.0) VER=6; break;; 5.0.0|5.1.0|5.5.0) VER=5; break;; 4.0.0|4.1.0) VER=4; break;; 3.5.0|3i) VER=3; break;; *) echo "ESX(i) version not supported!"; exit 1; break;; esac |
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 36 37 38 39 40 |
[root@localhost:/vmfs/volumes/datastore1/ghettoVCB/] sh ghettoVCB.sh -m Ubuntu -g ./ghettoVCB.conf Logging output to "/tmp/ghettoVCB-2023-04-10_07-15-03-534454.log" ... 2023-04-10 07:15:03 -- info: ============================== ghettoVCB LOG START ============================== 2023-04-10 07:15:03 -- info: CONFIG - USING GLOBAL GHETTOVCB CONFIGURATION FILE = ./ghettoVCB.conf 2023-04-10 07:15:03 -- info: CONFIG - VERSION = 2021_07_09_1 2023-04-10 07:15:03 -- info: CONFIG - GHETTOVCB_PID = 534454 2023-04-10 07:15:03 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/datastore1/Backup 2023-04-10 07:15:03 -- info: CONFIG - ENABLE_NON_PERSISTENT_NFS = 0 2023-04-10 07:15:03 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3 2023-04-10 07:15:03 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2023-04-10_07-15-03 2023-04-10 07:15:03 -- info: CONFIG - DISK_BACKUP_FORMAT = thin 2023-04-10 07:15:03 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0 2023-04-10 07:15:03 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0 2023-04-10 07:15:03 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3 2023-04-10 07:15:03 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5 2023-04-10 07:15:03 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15 2023-04-10 07:15:03 -- info: CONFIG - LOG_LEVEL = info 2023-04-10 07:15:03 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2023-04-10_07-15-03-534454.log 2023-04-10 07:15:03 -- info: CONFIG - ENABLE_COMPRESSION = 0 2023-04-10 07:15:03 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0 2023-04-10 07:15:03 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0 2023-04-10 07:15:03 -- info: CONFIG - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0 2023-04-10 07:15:03 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all 2023-04-10 07:15:03 -- info: CONFIG - VM_SHUTDOWN_ORDER = 2023-04-10 07:15:03 -- info: CONFIG - VM_STARTUP_ORDER = 2023-04-10 07:15:03 -- info: CONFIG - RSYNC_LINK = 0 2023-04-10 07:15:03 -- info: CONFIG - BACKUP_FILES_CHMOD = 2023-04-10 07:15:03 -- info: CONFIG - EMAIL_LOG = 0 2023-04-10 07:15:03 -- info: CONFIG - ENABLE_NFS_IO_HACK = 0 2023-04-10 07:15:07 -- info: Initiate backup for Ubuntu Destination disk format: VMFS thin-provisioned Cloning disk '/vmfs/volumes/datastore1/Ubuntu/Ubuntu.vmdk'... Clone: 80% done. 2023-04-10 07:15:48 -- info: Backup Duration: 41 Seconds 2023-04-10 07:15:48 -- info: Successfully completed backup for Ubuntu! 2023-04-10 07:15:50 -- info: ###### Final status: All VMs backed up OK! ###### 2023-04-10 07:15:50 -- info: ============================== ghettoVCB LOG END ================================ |
エラーも無くバックアップが正常に終了したようです。
1 2 3 4 5 6 7 |
[root@localhost:~] ls -l /vmfs/volumes/datastore1/Backup/Ubuntu/Ubuntu-2023-04-10_07-15-03/ total 7901184 -rw-r--r-- 1 root root 30 Apr 10 07:15 STATUS.ok -rw------- 1 root root 107374182400 Apr 10 07:15 Ubuntu-flat.vmdk -rw------- 1 root root 270840 Apr 10 07:15 Ubuntu.nvram -rw------- 1 root root 553 Apr 10 07:15 Ubuntu.vmdk -rwxr-xr-x 1 root root 3388 Apr 10 07:15 Ubuntu.vmx |
次回はRestoreしてみます。
追記
ここまで書いて改めてmasterのスクリプトを確認したらESXi 8対応になっていました(;_;
masterから必要なものをダウンロードして下さい。そのまま動くと思います。
https://github.com/lamw/ghettoVCB/blob/master/ghettoVCB.sh
LAST_MODIFIED_DATE=2021_10_20
VERSION=1