Nutanix VMのvDiskのエクスポート(WinSCP編)


本記事はNutanix Advent Calendar 2019 3枚目 12/6の記事です。

NutanixでvDiskを出す必要性 #とは

普通はないでしょう。

おうちで3ノード構成のうち先日1ノードだけCPUとメモリの使用率が表示されないなぁと思っていたら静かにお亡くなりになってました。それだけならいいのですが、別ノードのHot TierのSSDが壊れ若干クラスターも壊れかけてしまい、go watanaさんが書かれた記事の通りにエクスポートも実行しました。
ですが、ホワイトリストに追加コマンドも受け付けず、元々追加していたIPアドレスがあったものの、通信が途中でプツリと切れてしまい、他の手段をとる必要性がありました。

ダウンロードする前に

仮想マシンがシャットダウンされていることを確認してください。

vDiskの格納先

仮想マシンを作成する際やディスクイメージを作成する際に指定したコンテナの中にあります。
既にshadowhatさんが書かれた記事の通り、 /コンテナ名/.acropolis/vmdisk/
の中に格納されています。

接続方法

WinCSPを立ち上げ、以下の通り入力します。

転送プロトコル:SFTP
ホスト名:Nutanixクラスターの任意のCVM or ClusterVIP (クラスターが壊れかけている際にはCVMにすることを強く推奨します)
ポート番号:2222
ユーザ名:prism elementのログインユーザー(admin等)
パスワード: prism elementの上記ユーザのパスワード

UUIDの特定

ディレクトリに入ったはいいものの、ファイルがあり過ぎてどれがどれだかわかりません。
ですので一度WinSCPはそのままにして、CVMにCLIで特定しましょう。

Powershellやteraterm等でCVMに以下の情報でログインします

ユーザー名 nutanmix
password nutanix/4u
port 22

ログイン後、仮想マシンがあるか確認します。

acli vm.list 

では、肝心のUUIDを特定しましょう

acli vm.get [vmname] | grep vmdisk_uuid

ダウンロード

先ほど接続したWinSCPに戻り、フィルターでUUIDを入力してください。すると1つのファイルに絞れるはずです。
その後ダウンロードしますが、その前に転送モードの確認を行いましょう。WinSCPのデフォルトはバイナリモードですが、心配な方は設定でバイナリモードへ変更してください。

クラスターが壊れかけな時には、ここが鬼門です。

ダウンロードは常に行っているわけではなく途中で何回も切れます。
通信が切れ、再開、また切れるを繰り返します。
壊れかけなノードによっては中断されてしまいます。何度も行ってダメな場合には別のノードを試しましょう。

ダウンロード後

diskイメージのファイルシステムを確認します。

qemu-img info [imagefile]

特に指定がなければrawファイルであると思います。
アップロードの予定がある場合は圧縮するとデータ転送量や時間の削減になりますので事前に行いましょう。コマンドは以下の通りです。

qemu-img convert -c -O qcow2 [imagefile]

これって意味ある?

商用版Nutanixでここまで悲惨な状況になる前にサポートから色々と手助けがあるでしょう。

CEを使用されている方が悲惨な状況になった際に、手段の1つとしてこんなのもあったなぁぐらいに覚えて頂ければ幸いです。