ESXi

ESXi 7.0でバックアップを自動取得する

ご注意下さい

この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。

0
(0)

vSphere Hypevervisor(ESXi)でバックアップを自動で取得する方法について解説します。

バックアップツールのインストール

バックアップツールとしては、ghettoVCBが有名です。Githubよりダウンロードしてください。

lamw/ghettoVCB
ghettoVCB. Contribute to lamw/ghettoVCB development by creating an account on GitHub.
lamw/ghettoVCB

こちらをデータストアブラウザでESXiにGithubよりダウンロードしたGhettoVCB-master.zipをアップロードします。

ESXiの管理画面のデータストアブラウザでGhettoVCB-master.zipをアップロードします

続いてSSHでESXiに接続します。

[root@esxi:~] cd /vmfs/volumes/HDD/backup
[root@esxi:/vmfs/volumes/5f539272-3ffe985a-23b1-58278cbf4213/backup] ls
ghettoVCB-master.zip
[root@esxi:/vmfs/volumes/5f539272-3ffe985a-23b1-58278cbf4213/backup] unzip ghettoVCB-master.zip 
Archive:  ghettoVCB-master.zip
   creating: ghettoVCB-master/
  inflating: ghettoVCB-master/README.md
  inflating: ghettoVCB-master/ghettoVCB-restore.sh
  inflating: ghettoVCB-master/ghettoVCB-restore_vm_restore_configuration_template
  inflating: ghettoVCB-master/ghettoVCB-vm_backup_configuration_template
  inflating: ghettoVCB-master/ghettoVCB.conf
  inflating: ghettoVCB-master/ghettoVCB.sh
  inflating: ghettoVCB-master/vghetto-ghettoVCB-offline-bundle.zip
  inflating: ghettoVCB-master/vghetto-ghettoVCB.vib
[root@esxi:/vmfs/volumes/5f539272-3ffe985a-23b1-58278cbf4213/backup] 

バックアップ設定

ghettoVCB.shの頭に設定項目があるので編集しましょう。

##################################################################
#                   User Definable Parameters
##################################################################

LAST_MODIFIED_DATE=2019_01_06
VERSION=4

# directory that all VM backups should go (e.g. /vmfs/volumes/SAN_LUN1/mybackupdir)
VM_BACKUP_VOLUME=/vmfs/volumes/HDD/backup

# Format output of VMDK backup
# zeroedthick
# 2gbsparse
# thin
# eagerzeroedthick
DISK_BACKUP_FORMAT=thin

# Number of backups for a given VM before deleting
VM_BACKUP_ROTATION_COUNT=3

取り急ぎバックアップデータ保存先のディレクトリを9行目で指定します。

バックアップ取得対象をbackuplist.txtとして作成しましょう。リストには仮想マシン名を指定します

kamatawww
kamatamail

バックアップ実行

[root@esxi:/vmfs/volumes/5f539272-3ffe985a-23b1-58278cbf4213/backup/ghettoVCB-master] ./ghettoVCB.sh -f ./backuplist.txt 
Logging output to "/tmp/ghettoVCB-2020-09-26_10-52-53-1208386.log" ...
2020-09-26 10:52:53 -- info: ============================== ghettoVCB LOG START ==============================

2020-09-26 10:52:53 -- info: CONFIG - VERSION = 2019_01_06_4
2020-09-26 10:52:53 -- info: CONFIG - GHETTOVCB_PID = 1208386
2020-09-26 10:52:53 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/HDD/backup
2020-09-26 10:52:53 -- info: CONFIG - ENABLE_NON_PERSISTENT_NFS = 0
2020-09-26 10:52:53 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2020-09-26 10:52:53 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2020-09-26_10-52-53
2020-09-26 10:52:53 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2020-09-26 10:52:53 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2020-09-26 10:52:53 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2020-09-26 10:52:53 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2020-09-26 10:52:53 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2020-09-26 10:52:53 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2020-09-26 10:52:53 -- info: CONFIG - LOG_LEVEL = info
2020-09-26 10:52:53 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2020-09-26_10-52-53-1208386.log
2020-09-26 10:52:53 -- info: CONFIG - ENABLE_COMPRESSION = 0
2020-09-26 10:52:53 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2020-09-26 10:52:53 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2020-09-26 10:52:53 -- info: CONFIG - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0
2020-09-26 10:52:53 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all
2020-09-26 10:52:53 -- info: CONFIG - VM_SHUTDOWN_ORDER = 
2020-09-26 10:52:53 -- info: CONFIG - VM_STARTUP_ORDER = 
2020-09-26 10:52:53 -- info: CONFIG - RSYNC_LINK = 0
2020-09-26 10:52:53 -- info: CONFIG - BACKUP_FILES_CHMOD = 
2020-09-26 10:52:53 -- info: CONFIG - EMAIL_LOG = 0
2020-09-26 10:52:53 -- info: CONFIG - ENABLE NFS IO HACK = 0

2020-09-26 10:52:56 -- info: Initiate backup for kamatamail
2020-09-26 10:52:56 -- info: Creating Snapshot "ghettoVCB-snapshot-2020-09-26" for kamatamail
Option --adaptertype is deprecated and hence will be ignored
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/NVMe1/kamatamail/kamatamail.vmdk'...
Clone: 100% done.
2020-09-26 10:54:15 -- info: Removing snapshot from kamatamail ...
2020-09-26 10:54:15 -- info: Backup Duration: 1.32 Minutes
2020-09-26 10:54:15 -- info: Successfully completed backup for kamatamail!

2020-09-26 10:54:20 -- info: Initiate backup for kamatawww
2020-09-26 10:54:20 -- info: Creating Snapshot "ghettoVCB-snapshot-2020-09-26" for kamatawww
Option --adaptertype is deprecated and hence will be ignored
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/NVMe1/kamatawww/kamatawww.vmdk'...
Clone: 100% done.
2020-09-26 10:55:28 -- info: Removing snapshot from kamatawww ...
2020-09-26 10:55:28 -- info: Backup Duration: 1.13 Minutes
2020-09-26 10:55:28 -- info: Successfully completed backup for kamatawww!

2020-09-26 11:00:22 -- info: ###### Final status: All VMs backed up OK! ######

2020-09-26 11:00:22 -- info: ============================== ghettoVCB LOG END ================================

バックアップの自動実行

ここまで動作確認したらcronに登録して自動でバックアップが取得できるようにしましょう。

/var/spool/cron/crontabs/rootに書いてあげればいいんですが、ESXiホストが再起動すると消えてしまいます。そこで/etc/rc.local.d/local.shに細工をしてあげます。

/etc/rc.local.d/local.shを編集します。

# Note: modify at your own risk!  If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading.  Changes are not supported unless under direction of
# VMware support.

# Note: This script will not be run when UEFI secure boot is enabled.

cat<<_EOT_>>/var/spool/cron/crontabs/root
0 3 * * 1 /vmfs/volumes/HDD/backup/ghettoVCB-master/ghettoVCB.sh \
-f /vmfs/volumes/HDD/ghettoVCB-master/backuplist.txt
_EOT_

/bin/kill $(cat /var/run/crond.pid)
/bin/crond

exit 0

これで毎週月曜日の午前3:00に自動でバックアップがスタートします。

トラブルシューティング

私の場合は以下のエラーが出てバックアップが取得できない仮想マシンがありました。

[root@esxi:/vmfs/volumes/5f539272-3ffe985a-23b1-58278cbf4213/backup/ghettoVCB-master] ./ghettoVCB.sh -f ./backuplist.txt
 
Logging output to "/tmp/ghettoVCB-2020-09-26_11-24-52-1210817.log" ...
2020-09-26 11:24:52 -- info: ============================== ghettoVCB LOG START ==============================

2020-09-26 11:24:52 -- info: CONFIG - VERSION = 2019_01_06_4
2020-09-26 11:24:52 -- info: CONFIG - GHETTOVCB_PID = 1210817
2020-09-26 11:24:52 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/HDD/backup
2020-09-26 11:24:52 -- info: CONFIG - ENABLE_NON_PERSISTENT_NFS = 0
2020-09-26 11:24:52 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2020-09-26 11:24:52 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2020-09-26_11-24-52
2020-09-26 11:24:52 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2020-09-26 11:24:52 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2020-09-26 11:24:52 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2020-09-26 11:24:52 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2020-09-26 11:24:52 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2020-09-26 11:24:52 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2020-09-26 11:24:52 -- info: CONFIG - LOG_LEVEL = info
2020-09-26 11:24:52 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2020-09-26_11-24-52-1210817.log
2020-09-26 11:24:52 -- info: CONFIG - ENABLE_COMPRESSION = 0
2020-09-26 11:24:52 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2020-09-26 11:24:52 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2020-09-26 11:24:52 -- info: CONFIG - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0
2020-09-26 11:24:52 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all
2020-09-26 11:24:52 -- info: CONFIG - VM_SHUTDOWN_ORDER = 
2020-09-26 11:24:52 -- info: CONFIG - VM_STARTUP_ORDER = 
2020-09-26 11:24:52 -- info: CONFIG - RSYNC_LINK = 0
2020-09-26 11:24:52 -- info: CONFIG - BACKUP_FILES_CHMOD = 
2020-09-26 11:24:52 -- info: CONFIG - EMAIL_LOG = 0
2020-09-26 11:24:52 -- info: CONFIG - ENABLE NFS IO HACK = 0

2020-09-26 11:24:56 -- info: Initiate backup for VM01
2020-09-26 11:24:56 -- info: Backup Duration: 0 Seconds
2020-09-26 11:24:56 -- info: WARN: VM01 has some Independent VMDKs that can not be backed up!

2020-09-26 11:24:57 -- info: ###### Final status: ERROR: No VMs backed up! ######

2020-09-26 11:24:57 -- info: ============================== ghettoVCB LOG END ================================

[root@esxi:/vmfs/volumes/5f539272-3ffe985a-23b1-58278cbf4213/backup/ghettoVCB-master]

何やら独立ディスクがあるのでバックアップが取れないと言っていますね。

そこで仮想マシンの設定を見てみましょう。

ディスクモードが「独立型:通常」となっていました

ディスクモードが独立型になっていることが原因なので依存型に変更します。

ディスクモードを依存型にしましょう

なんで独立型になっていたのかは定かではありませんが、Hyper-Vから移行するときにこうなってしまったものと思われます。

ちなみにディスモードについては、以下の解説が公式サイトにあります。

ディスク モードは、仮想ディスクとスナップショットの関係性を決定します。
次のオプションがあります。
[依存型]:依存型ディスクはスナップショットに含まれます。
[独立型:通常]:通常モードのディスクは、物理コンピュータ上の従来のディスクと同様に動作します。通常モードのディスクに書き込まれたすべてのデータは、永続的にそのディスクに書き込まれます。

https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-E1D541D1-DF96-467A-89B7-E84F83B2563D.html
仮想ディスク構成の変更
ディスク容量が不足した場合、ディスクのサイズを増やすことができます。仮想マシンの仮想ディスク構成について、仮想デバイス ノードおよび通常モードを変更できます。
仮想ディスク構成の変更

記事は以上!

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 0 / 5. 投票数 | Votes: 0

最初の評価を下さい | Please vote for the first rating.

-ESXi
-, , ,

© 1999 - 2021 蒲田ネット