以下は、パーティションを作成し、VMFSでフォーマットする手順である。 手順を実行する ESXi をインストールしたOSとは別のOSで起動する必要がある。その辺りは解説しないので、参考文献を参照すること。
before
after
tl;dr
disk に対象のUSBメモリのパスを格納して、partedUtilの情報を元にコマンドを生成する。
ESXiのコマンドラインでは、 diskpart
における create partition
のような「パーティションを追加する」という仕組みが用意されていない。 partedUtil setptbl
では、作成したいパーティション情報を partedUtil setptbl "$disk" gpt "<1>" "<2>" ...
のように並べる必要があるため、既存のパーティション情報も含めて、パーティション情報をリスティングし、全て1つのコマンドとして実行する。
そのためのリストを以下のコマンドで作成する。
disk=`ls -1 /dev/disks/mpx.vmhba* | head -n 1`; echo ${disk} partedUtil getptbl "${disk}" | tail -n +3 | while read line; do echo "$line" | awk '{print "\"" $1,$2,$3,$4,$6 "\" \\"}' ; done; echo \"`partedUtil getptbl "${disk}" | tail -n 1 | awk '{print $1+1 " " $3+1}'` `partedUtil getptbl "${disk}" | head -n 2 | tail -1 | awk '{print $1 * $2 * $3 -1}'` "AA31E02A400F11DB9590000C2911D1B8 0"\"
上記のコマンドで得られる出力を以下のコマンドに渡す。
partedUtil setptbl "$disk" gpt \
作成したパーティションを vmfs6 でフォーマットする。デフォルトの構成だと10番目のパーティションとなるので :10
と指定しているが、異なる場合はコマンドを変えること。
vmkfstools -C vmfs6 -S usb "${disk}:10"
実行例
[root@localhost:~] disk=`ls -1 /dev/disks/mpx.vmhba* | head -n 1`; echo ${disk} /dev/disks/mpx.vmhba32:C0:T0:L0 [root@localhost:~] partedUtil getptbl "${disk}" | tail -n +3 | while read line; do echo "$line" | awk '{print "\"" $1,$2,$3,$4,$6 "\" \\"}' ; done; echo \"`partedUtil getptbl "${disk}" | tail -n 1 | awk '{print $1+1 " " $3+1}'` `partedUtil getptbl "${disk}" | head -n 2 | tail -1 | awk '{print $1 * $2 * $3 -1}'` "AA31E02A400F11DB9590000C2911D1B8 0"\" "1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B 128" \ "5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 0" \ "6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 0" \ "7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 0" \ "8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 0" \ "9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 0" \ "10 7086080 122013674 AA31E02A400F11DB9590000C2911D1B8 0" [root@localhost:~] partedUtil setptbl "$disk" gpt \ > "1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B 128" \ > "5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 0" \ > "6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 0" \ > "7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 0" \ > "8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 0" \ > "9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 0" \ > "10 7086080 122013674 AA31E02A400F11DB9590000C2911D1B8 0" gpt 0 0 0 0 1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B 128 5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 0 6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 0 7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 0 8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 0 9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 0 10 7086080 122013674 AA31E02A400F11DB9590000C2911D1B8 0 s [root@localhost:~] partedUtil getptbl $disk gpt 7595 255 63 122019840 1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128 5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0 6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0 7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0 8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0 9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0 10 7086080 122013674 AA31E02A400F11DB9590000C2911D1B8 vmfs 0 [root@localhost:~] vmkfstools -C vmfs6 -S usb /dev/disks/mpx.vmhba32:C0:T0:L0:10 create fs deviceName:'/dev/disks/mpx.vmhba32:C0:T0:L0:10', fsShortName:'vmfs6', fsName:'usb' deviceFullPath:/dev/disks/mpx.vmhba32:C0:T0:L0:10 deviceFile:mpx.vmhba32:C0:T0:L0:10 ATS on device /dev/disks/mpx.vmhba32:C0:T0:L0:10: not supported . Checking if remote hosts are using this device as a valid file system. This may take a few seconds... Creating vmfs6 file system on "mpx.vmhba32:C0:T0:L0:10" with blockSize 1048576, unmapGranularity 1048576, unmapPriority default and volume label "usb". Successfully created new volume: *********************************************
補足: ESXi 7.0 における OS インストール用メディアとして USB メモリを利用する場合の注意点
今回紹介した手順は、EOLをもうすぐ迎える ESXi 6.7 向けの手順である。 次のバージョンである ESXi 7.0でも同様のことはできると思うが、起動ドライブの構成によっては高頻度の書き込みが行われるので、VMFSのデバイスとして空き容量を使ってよいかは用検討。
- ESXi 7.0 Update 1からSDカード/USBメモリ起動の場合に書き込み回数性能が重要になった件について – OSAKANA TAROのメモ帳
- https://kb.vmware.com/s/article/83376?lang=en_US
- https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.esxi.install.doc/GUID-474D003B-C6FB-465D-BC1B-5FD30F8E2209.html