PowerCLIを使用して仮想マシンの管理を行っております。現在、Move-VMコマンドを用いてVMのそれぞれのディスクを異なるデータストアに移行しようとしています。
下記のスクリプトで、"Hard disk 1"を"Datastore1"に、"Hard disk 2"を"Datastore2"に移行しようとしています。
---------------------------------------------------------------------------------------------------------------
$VM = Get-VM -Name $<仮想マシン名>
$Disk = Get-HardDisk -VM $VM | Where-Object {$_.Name -eq $<ハードディスク名>}
$DS = Get-Datastore -Name $<移行先データストア>
#vMotionの実行
Move-HardDisk -HardDisk $Disk -Datastore $DS
---------------------------------------------------------------------------------------------------------------
この方法で、ハードディスク1はデータストア1に、ハードディスク2はデータストア2に移行できました。
しかし、元のデータストア0に構成ファイルが残ってしまいました。
下記ご存知でしたら回答願います。
今々手元で試せる複数のデータストアが無いため情報のみの共有ですが、VM の構成ファイル (VM Home) 関連を指定した移動は Relocate VM 系の操作で対応が出来た覚えがあります。
質問 1 に関しては以下で出来ないでしょうか?
API リファレンスだと以下に例があり、
だいぶ古いスレッドですが、PowerCLI のディスカッションに以下で LucD さんが助言しています。
質問 2 に関しては、記載いただいた手順が二段構えでデータ移動が走りますが一番楽にできるかと思います。
上記の Relocate VM と同じで用意された PowerCLI の cmdlets だけでは出来なかった記憶です。
1 については、vSphere Clientでコードキャプチャを起動してそれを参考にするのはいかがでしょうか?
コードキャプチャも有用と言えば有用なのですが、
PowerCLI の cmdlet で返さずにオブジェクトとプロパティを直接操作するコードが出力されるので
何と言うか、人の目に優しくないのが弱点なんですよね… 🤔
裏側の挙動を調べるって観点だと有りだと思います。
ご回答ありがとうございました。
短期間で開発しなければならず、理解と説明がしやすい2を選択し、検証うまくいきました。
今後も同じような作業をするので、一旦一区切りついたら1のほう検討してみます。