この問題は、VMware vCenter Server 5.0 Update 2 および vCenter Server 5.1 Update 1 では解決されています。
- vCenter Server 5.0 Update 2 をダウンロードするには、「VMware ダウンロード センター」を参照してください。
- vCenter Server 5.1 Update 1 をダウンロードするには、「VMware ダウンロード センター」を参照してください。
注: vCenter Server の更新がオプションに含まれていない場合は、以下の手順に従ってこの問題を回避してください。
テンプレートからデプロイされた仮想マシンは、そのマシンではなくテンプレートの仮想ディスクと VMDK ファイルで実行されるように誤って構成されている場合に、テンプレートの VMDK ファイルをロックします。ロックにより、その他の仮想マシンがテンプレートからデプロイされないようにします。
テンプレートの VMDK ファイルが別の仮想マシンによってロックされているかどうかを判別し、ロックされている場合には、ファイルのロックを解除してください。
注意:仮想マシンはテンプレートのディスクで実行されていたため、ディスクに対して不必要な変更が加えられている可能性があります。そのため、本番環境では適切なバックアップとリカバリのプランが重要です。
テンプレートの VMDK ファイルが別の仮想マシンによってロックされているかどうかを判別するには:
-
ESX ホストに root としてログインします。
-
ディレクトリをテンプレートの作業ディレクトリに変更します。
-
次のコマンドを実行します。
vmkfstools -D <virtual disk file> | tail -f /var/log/vmkernel | grep -i owner
注: ESXi 5.x の場合は、次のコマンドを実行します。
vmkfstools -D <virtual disk file> | tail -f /var/log/vmkernel.log | grep -i owner
-
出力の終わり近くに数字(0 以外)と文字がある場合、MAC アドレスはこの VMDK に関連付けられており、別の仮想マシンがこのファイルでロックしています。出力の終わりに 0 が続く場合、その VMDK ファイルは別の仮想マシンによってロックされていません。
テンプレートの VMDK ファイルでのロックを解除するには:
- ロックしている単一ホスト上の仮想マシンを表示するには、次のコマンドを実行します。
grep -lr <virtual disk file> /vmfs/volumes/*/*/*.vmx
注:仮想ディスク ファイルへのフル パスを記録してください。ロックされたファイルが原因で記録できない場合は、以下のいずれかの方法を試してください。仮想マシンのディスクが、複数のホストで共有されているストレージ上に存在する場合には、この状態になることがあります。
代替方法:
- grep vmx /etc/vmware/hostd/vmInventory.xml | sed -e 's/>/</g' | awk -F\< '{print $3}' > vmx;
IFS=$(echo -en "\n\b"); for i in `cat vmx`; do echo grep -H vmdk $i; done - Connect-VIServer -server localhost
Get-Vm | Get-Harddisk | Where {$_.Filename -match "<diskname>"}
- ロックしている仮想マシンをパワーオフします。仮想マシンをパワーオフできない場合は、Powering off an unresponsive virtual machine on an ESX host (1004340) を参照してください。
- 仮想マシンの設定を編集して仮想ディスクを除外します。ただし、削除はしないでください。
- 既存のディスクに接続するには:
- ハードウェアの追加ウィザードで、ハード ディスク > 次へ をクリックします。
- 仮想マシンのディスクのストレージのタイプを選択します。
- 次へ > 既存の仮想ディスクを使用をクリックします。
- 手順 1 で特定した仮想ディスク ファイルのパスを参照します。
- 次へ をクリックします。