Introduction
VMWare ESXi 7 の話。
掲題通り、作成した仮想ディスク (*.vmdk) を別の仮想マシンにアタッチすることができない。
既存の仮想ディスクを GUI から追加すると下記のようにある。
How to resolve?
最終バージョンの ESXi 8 でも治っていないもよう。
- Problem with adding existing hard disk in ESXi 8 (bug?)
- ESXi 8.0 unable to add hard disk to VM
- Heads Up - ESXi 8.0 Host Client unable to attach existing virtual disk to VM
という感じで報告多数。
回避策は vim-cmd でアタッチすることである。
まず、SSH で ESXi のホストマシンにログイン。
次に、仮想マシンの一覧を取得し、仮想ディスクを追加する対象のマシンの Vmid
を調べる。
1 | $ vim-cmd vmsvc/getallvms |
そして、追加する仮想ディスクのフルパス、仮想ディスクを接続する先のコントローラを確認して下記の構文に従ってコマンドを実行。
1 | $ vim-cmd vmsvc/device.diskaddexisting <vmid> <disk_file> <controller_number> <unit_number> [ctlr_type] |
引数 | 概要 |
---|---|
vmid | 仮想マシンの ID |
disk_file | *vmdk ファイルへのフルパス |
controller_number | コントローラ番号。scsiX:Y の場合、 X がコントローラ番号 |
unit_number | ユニット番号。scsiX:Y の場合、 Y がユニット番号 |
ctlr_type | 省略可能。デフォルトは SCSI |
NOTE
フルパスを使う旨は Hot adding a virtual disk to a virtual machine from command line interface に記載されているので素直に従う。
下記は一例
1 | $ vim-cmd vmsvc/device.diskaddexisting 2 /vmfs/volumes/63ad6330-f4510bfc-beb2-64006a60542f/share/share.vmdk 0 2 |
注意するのは、既に使用しているユニット番号を指定すると
1 | Reconfigure failed: (vim.fault.InvalidDeviceSpec) { |
のようなエラーが出るので注意。