ESXiのバックアップを取得する2013年08月24日 19:29

LinuxのサーバをフリーのESXiの上で運用している。バックアップは、rsyncを用いてNASにとっているが、仮想マシンのイメージのバックアップもとっておきたい。ずいぶん放置していたが、改めて取り組む。

自動化するのであれば、vmwareの提供するCLIを使うのがいい。shellのコマンド群、perlのコマンド群、PowerShellのコマンド群とあるが、今回はPowerShellのCLI。LinuxがゲストOSとして動いているので、shellやperlは使いにくい。cygwinにperlのSDKをインストールしようとしたがエラー。素直にWindows環境から制御する。
http://www.vmware.com/support/pubs/sdk_pubs.html ;ログインが必要かも

Power CLI
インストールは簡単。

Power CLI Sample
ESXiのサーバに接続して、仮想マシンを確認。DataStoreを確認。ここまではよかった。

CLI ライセンスエラー
試しに、ファイルのコピーをするとエラー。ライセンス要件を満たしていない。調べてみると、FreeのESXiでは、参照系のコマンドしか使えない。
VMwareのサイトのKnowledge Base:VMware ESXi/ESX 4.1 and ESXi 5.0 Comparison (2005377)
CLI-Based Configurationの説明に不可とある。

方針転換。

vSphere Clientを活用する記事があったので試す。ゲストOSを動かしたままのバックアップもできるようだが、今回は、シャットダウンしてからコールドバックアップにする。

vSphere Client
vSphere ClientのホストOSの構成のタブを表示する。

データストアの参照
データストアを選んで、右クリック。データストアの参照を選択。ファイルのバックアップ元と先でそれぞれ参照、データストアブラウザが開く。

データストアブラウザでフォルダをコピー
ゲストOSのファイルが入っているバックアップ元のフォルダを選んで右クリックでコピーを選ぶ。次に、バックアップ先のフォルダに移り、右クリックで貼り付けを選ぶ。コピーが始まる。コピーが終われば、ゲストOSを起動して終了。試していないが、ホットバックアップの場合は、スナップショットをとってからコピーをすればよいようだ。ただし、ジャーナルファイルはロックされているので、ファイルを選んでバックアップする必要がある。

自動化はできなかったが、テスト環境の1つ2つであれば、手作業でも手間ではない。スクリプトのAPIは充実しているので、いろいろ試せると面白いのだが。