VMware ESXi を ghettoVCB で自動バックアップ
VMware ESXi を使い始めて1月半ほど経ったところで、仮想マシンのバックアップ環境も構築しておくことにした。自分用だけでなく一般公開用のサーバーもいくつか動かしているから、バックアップがあると安心だ。
今回は新たに 500GB のハードディスクを増設し、それをバックアップ専用のストレージとする。
(1)増設するハードディスクは念のため Mac で exFAT にフォーマットした上で、設置した。
ESXi を起動すると「Navigator>Storage>Devices」で認識されていた。
該当のハードディスク名をクリックし、「Actions>Clear partition table」をクリック。これでパーティションテーブルがクリアされる。
(2)「New datastore」をクリックし、適当なデータストア名を決めて、ディスク内のすべての容量を使用するようにした。
これで新たにデータストアが作られた。
(3)ghettoVCB をダウンロードする。以下の「Code>Download Zip」から。
GitHub - lamw/ghettoVCB: ghettoVCB
https://github.com/lamw/ghettoVCB
(4)「ESXi>Navigator>Storage>Datastore browser」をクリック。
3の Zip ファイルを2のデータストアのルートディレクトリにアップロードする(別のデータストアにアップロードしてもいい)。
(5)ESXi に SSH でログインする。
(6)以下のコマンドで2のデータストアの場所を確認。
# df -h
cd コマンドでそこに移動する。ls コマンドで確認すれば、4でアップロードした Zip ファイルが確認できるはずだ。
(7)Zip ファイルを解凍。
# unzip ghettoVCB-master.zip
(8)解凍したファイル内の ghettoVCB.sh を編集する。
# cd ghettoVCB-master/
# vi ghettoVCB.sh
(vi は使い慣れていないのでメモ。i でカーソルキーの位置に文字を挿入。/ で検索。編集後は Esc キーを押した後、:wq を入力し、Enter することで保存して終了。変更がない場合の終了は :q 。)
最低限、以下を編集する。
(9)バックアップ対象の仮想マシンを指定する vmlist.txt(ファイル名は任意)を作成し、改行区切りで記述する。
仮想マシン名は ESXi の「Navigator>Virtual Machines」で確認するか、以下のコマンドで確認する。
# vim-cmd vmsvc/getallvms
(10)試しに以下のコマンドで dryrun を実行してみる。
# ./ghettoVCB.sh -f ./vmlist.txt -d dryrun
info: ###### Final status: OK, only a dryrun. ###### と表示されれば問題ない
(11)実際に実行してみる。
# ./ghettoVCB.sh -f ./vmlist.txt
問題なく完了すれば以下のように表示される。
info: ###### Final status: All VMs backed up OK! ######
データストアには仮想マシンごとにディレクトリが作成されて、そこにバックアップファイルが保存されていた。なお、そのフォルダー名のタイムスタンプは UTC なので、9時間前となっている。
(12)自動バックアップは /etc/rc.local.d/local.sh へ記述する。毎週月曜日と木曜日の 23:15 に実行するようにした(UTC で設定する必要があるので、9時間前の 14:15 を指定する)。
cat<<_EOT_>>/var/spool/cron/crontabs/root
15 14 * * 1,4 /vmfs/volumes/{データストア名}/ghettoVCB-master/ghettoVCB.sh \
-f /vmfs/volumes/{データストア名}/ghettoVCB-master/vmlist.txt
_EOT_
/bin/kill $(cat /var/run/crond.pid)
/bin/crond
exit 0
(13)ESXi を再起動し、/var/spool/cron/crontabs/root に cron が正しく記述されていることを確認する。
cron の指定時刻になると、問題なくバックアップが実行されていたことを確認した。
参考:
ESXi 6.7u3でHDD増設してデータストアを追加する手順 - そういうのがいいブログ
https://souiunogaii.hatenablog.com/entry/ESXi67-add-datastore
viコマンドについて詳しくまとめました 【Linuxコマンド集】
https://eng-entrance.com/linux-command-vi
【初心者向け】viでの文字列の検索方法を一通り
https://eng-entrance.com/linux-vi-search
コマンドラインから仮想マシンの一覧を取得する : vim-cmd vmsvc/getallvms / ESXi 4.0 Update 2: “HP ML115 G5”と自作機で、できたこと
http://virtual.cocolog-nifty.com/virtualmachine/2010/07/vim-cmd-vmsvcge.html
ESXi 7.0でバックアップを自動取得する - 蒲田ネット
https://blog.kamata-net.com/archives/12367.html
ESXi Hypervisor上のVM自動バックアップ - 雑木林
https://zokibayashi.hatenablog.com/entry/2019/05/06/222446
ESXiにてghettoVCBを利用したコールドバックアップをやった件 - Qiita
https://qiita.com/garakutayama/items/9c1641dd3e41777a40b9
ESXiのVMバックアップは「ghettoVCB」一択
http://blog.andromeda.jp/archives/3160
ESXi上の仮想マシンバックアップ(ghettoVCB) - スズハドットコム
https://www.suzu-ha.com/entry/2019/11/06/011659
VMware オンラインバックアップ
https://www.unix-power.net/networking/post-508
無償版ESXiのホストと仮想マシンの自動バックアップを設定する - インフラエンジニア風 備忘録
https://miyamo83.com/20220717/
この記事が気に入ったらサポートをしてみませんか?