確認環境
ESXi6.7 VMware ESXi 6.7.0 build-14320388
ESXi7.0 VMware ESXi 7.0.3 build-20328353
バックアップ
①ESXiにSSH接続し以下のコマンドを実行
#メンテナンスモード設定
esxcli system maintenanceMode get
esxcli system maintenanceMode set --enable true
esxcli system maintenanceMode get
#コンフィグ変更内容のファイル同期
vim-cmd hostsvc/firmware/sync_config
#コンフィグファイル作成(ダウンロードURL出力)
vim-cmd hostsvc/firmware/backup_config
#メンテナンスモード解除
esxcli system maintenanceMode get
esxcli system maintenanceMode set --enable false
esxcli system maintenanceMode get
②ブラウザからコンフィグURLに接続しダウンロード
コマンド出力結果からダウンロードURLを作成
(ESXiサーバのIPアドレスに置換)
http://*/downloads/52d82cd0-7128-04c3-0d51-35596019eb3e/configBundle-localhost.tgz
↓
http://192.168.142.1/downloads/52d82cd0-7128-04c3-0d51-35596019eb3e/configBundle-localhost.tgz
ダウンロードURLにブラウザでアクセスするとコンフィグがダウンロードされる
リストア
①コンフィグファイルについて configBundle.tgz
というファイル名に修正
②データストアにアップロード
(今回はデータストアdatastore1
のconfig
フォルダを作成して格納)
③SSHコンソール接続し、以下のコマンド実行
#メンテナンスモード設定
esxcli system maintenanceMode get
esxcli system maintenanceMode set --enable true
esxcli system maintenanceMode get
#コンフィグファイルの場所確認
ls /vmfs/volumes/datastore1/config/configBundle.tgz
#コンフィグファイルを /tmp 配下に移動
cp /vmfs/volumes/datastore1/config/configBundle.tgz /tmp
#リストア実行
vim-cmd hostsvc/firmware/restore_config configBundle.tgz
リストアコマンドを実行すると、直後に再起動が走ります。
vim-cmd hostsvc/firmware/restore_config configBundle.tgz
④再起動が完了し、リストア完了
(その他)リストアコマンドのコンフィグファイル指定について
vmware公式ではリストア実行コマンドのコンフィグファイルについてフルパスで記載するようありますが、実際に実行するとエラーとなり/tmp
にコンフィグファイルを配置するように見えますため、上記手順でも/tmp
に配置するようしています。
■vmware公式
以下のコマンドを実行して ESXi ホストの構成をリストアします:
vim-cmd hostsvc/firmware/restore_config /backup_location/configBundle.tgz
■実行結果
[root@localhost:~] vim-cmd hostsvc/firmware/restore_config /vmfs/volumes/datastore1/config/configBundle.tgz
(vim.fault.FileNotFound) {
faultCause = (vmodl.MethodFault) null,
faultMessage = <unset>,
file = "/tmp/configBundle.tgz"
msg = "Received SOAP response fault from [<cs p:00000037cbd43a50, TCP:localhost:8307>]: restoreConfiguration
File /tmp/configBundle.tgz was not found"
}
[root@localhost:~]
[root@localhost:~] vim-cmd hostsvc/firmware/restore_config /vmfs/volumes/datastore1/config/configBundle.tgz
(vim.fault.FileNotFound) {
faultCause = (vmodl.MethodFault) null,
faultMessage = <unset>,
file = "/tmp/configBundle.tgz"
msg = "Received SOAP response fault from [<<io_obj p:0x000000a3fc80e2b8, h:5, <TCP '127.0.0.1 : 59576'>, <TCP '127.0.0.1 : 8307'>>, /sdk>]: restoreConfiguration
File /tmp/configBundle.tgz was not found"
}
[root@localhost:~]
参考