VMWare ESXiをUSBメモリにインストールした場合、数GB程度しか必要ないので、32GBのUSBメモリを使うと20GB以上使わない領域ができる。
この領域をデータストアにすれば、仮想マシン1台ぐらいはここで動かせる事ができる。
と言う事で、やってみました。

 起動用USBメモリを2つ又は、今回変更するサーバーとは別のESXiサーバーを用意してサーバー起動後に変更するUSBメモリをサーバーに刺す。
 例えば
・サーバー① ←このサーバーの起動用USBメモリの空きをデータストアにする
・サーバー② USB変更用のサーバー
で、サーバー②にSSHでログインし、サーバー①のUSBメモリを刺して作業する。
※今回使った作業用サーバー②はVMWare ESXi 6.5を使用、ちなみに、サーバー①は都合により6.0を使用
(以前、作業用サーバーを6.0で行ったときはうまくいかなかったような気がします)

今回使ったUSBメモリ

以降はサーバー②へSSHでログインしての作業

ディスク構成をチェックする

※ USBメモリを刺す前
 # ls /dev/disks/
 mpx.vmhba32:C0:T0:L0
 mpx.vmhba32:C0:T0:L0:1
 mpx.vmhba32:C0:T0:L0:5
 mpx.vmhba32:C0:T0:L0:6
 mpx.vmhba32:C0:T0:L0:7
 mpx.vmhba32:C0:T0:L0:8
 mpx.vmhba32:C0:T0:L0:9

サーバー側にUSBを認識させるため USB arbitrator service を停止させる

# /etc/init.d/usbarbitrator stop

ここでUSBメモリを刺して再度ディスク構成を確認する。

 ※USBメモリを刺した後のデスク構成
# ls /dev/disks/
 mpx.vmhba32:C0:T0:L0
 mpx.vmhba32:C0:T0:L0:1
 mpx.vmhba32:C0:T0:L0:5
 mpx.vmhba32:C0:T0:L0:6
 mpx.vmhba32:C0:T0:L0:7
 mpx.vmhba32:C0:T0:L0:8
 mpx.vmhba32:C0:T0:L0:9
 mpx.vmhba39:C0:T0:L0
 mpx.vmhba39:C0:T0:L0:1
 mpx.vmhba39:C0:T0:L0:5
 mpx.vmhba39:C0:T0:L0:6
 mpx.vmhba39:C0:T0:L0:7
 mpx.vmhba39:C0:T0:L0:8

”mpx.vmhba39:C0:T0:L0″が増えているので、これが刺したUSBメモリ。

このUBSメモリのパーティーションリストを取得する。

# partedUtil getptbl /dev/disks/mpx.vmhba39:C0:T0:L0
gpt
951 255 63 15278080   (シリンダ数:15278080、ヘッド数:255、トラック当たりのセクタ数:63、セクタ:15278080)
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番目のパーティーションを追加する
パーティーションはLinux LVM(GUID:E6D6D379F50744C2A23C238F2A3DF928)
パーティーションの最終セクタは “951*255*63-1″=15277814
パーティーションの作成方法については、以下を参照ください。
https://kb.vmware.com/s/article/2080042

パーティーションを作成する。
※パーティーションテーブルを作るためにはすべてのパーティーションの定義を記述する必要があるので注意

# partedUtil setptbl "/dev/disks/mpx.vmhba39:C0:T0:L0" 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 1843232 15277814  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 1843232 15277814 AA31E02A400F11DB9590000C2911D1B8 0

パーティーションが作れたか確認

# partedUtil getptbl /dev/disks/mpx.vmhba39:C0:T0:L0
gpt
951 255 63 15278080
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 1843232 15277814 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

パーディーションをvmfsでフォーマット

# vmkfstools -C vmfs5 -S boot_usb  /dev/disks/mpx.vmhba39:C0:T0:L0:9 
create fs deviceName:'/dev/disks/mpx.vmhba39:C0:T0:L0:9', fsShortName:'vmfs5', fsName:'boot_usb'
deviceFullPath:/dev/disks/mpx.vmhba39:C0:T0:L0:9 deviceFile:mpx.vmhba39:C0:T0:L0:9
ATS on device /dev/disks/mpx.vmhba39:C0:T0:L0:9: not supported
.
Checking if remote hosts are using this device as a valid file system. This may take a few seconds...
Creating vmfs5 file system on "mpx.vmhba39:C0:T0:L0:9" with blockSize 1048576 and volume label "boot_usb".
Successfully created new volume: 587970b1-224dab78-285d-0cc47a93882e

これでOK、USBメモリを抜いて USB arbitrator service を有効にする。

# /etc/init.d/usbarbitrator start

この後サーバーは再起動した方が良さそう。
変更した起動用USBメモリを刺して起動すると”boot_usb”というデータストアが見つかる。