ノートパソコンにESXi7.0を入れて、USBをデータストア化した作業ログ。
コマンドの解釈等が間違ってたら教えて下さい。
公式はこちら。謎のブログ記事より公式を見て。
ESXiでのpartedUtilコマンドラインディスクパーティションユーティリティの使用(1036609)
SUBメモリを「exFAT」形式でフォーマット
作業PCで Windows+R >「diskmgmt.msc」(ディスクの管理)を起動。
もしくはエクスプローラから右クリックからフォーマットしてもいい。
とにかく「exFAT」を選ぶということと、「クイックフォーマット」を選ぶ。
ついでにexFATにする理由は、ESXiからはこの形式しか読み込めないから。
公式記事があったはずなんだけど…掘り返したら追記する。
USBパススルーの無効化
パススルーされたら困るので無効化しておく。
#状態を確認 /etc/init.d/usbarbitrator status #runningしているなら止める /etc/init.d/usbarbitrator stop #自動起動も止める chkconfig usbarbitrator off
物理的にぶっ刺して認識されるか確認
とにかく刺さっているかを確認。
私が刺したのはTOSHIBAなので、表示はこうなった。
[root@localhost:~] lsusb Bus 002 Device 002: ID 0930:6544 Toshiba Corp. TransMemory-Mini / Kingston DataTraveler 2.0 Stick
kernelのログを見る
USBはSCSIデバイス扱いらしい。接続したかどうかがログから分かる。
cat /var/log/vmkernel.log | grep "ScsiDevice"
デバイス名とともに「Successfully」と出てくれば接続成功。
65854)ScsiDevice: 6092: Successfully registered device "mpx.vmhba64:C0:T0:L0" from plugin "NMP" of type 5
デバイス名を確認
[root@localhost:~] ls /dev/disks/ mpx.vmhba0:C0:T0:L0 vml.0000000000766d686261303a303a30 mpx.vmhba0:C0:T0:L0:1 vml.0000000000766d686261303a303a30:1 mpx.vmhba0:C0:T0:L0:5 vml.0000000000766d686261303a303a30:5 mpx.vmhba0:C0:T0:L0:6 vml.0000000000766d686261303a303a30:6 mpx.vmhba0:C0:T0:L0:7 vml.0000000000766d686261303a303a30:7 mpx.vmhba0:C0:T0:L0:8 vml.0000000000766d686261303a303a30:8 mpx.vmhba32:C0:T0:L0 vml.0000000000766d68626133323a303a30 mpx.vmhba32:C0:T0:L0:1 vml.0000000000766d68626133323a303a30:1
下の2行が追加したUSB。
末尾の「:1」というコロン+数字はパーテーションを指す。
よってディスクはホストの「mpx.vmhba0:C0:T0:L0」とUSBで追加した「mpx.vmhba32:C0:T0:L0」の2ディスクということになる。
gptラベルを付ける
partedUtil mklabel /dev/disks/mpx.vmhba32:C0:T0:L0 gpt
ついでに、この「gpt」というのはGUIDパーティーションテーブルという標準規格であって、ラベルと言っても視認性のために自由に命名して付けるものではない。
パーティションテーブルをセットする
まずは現在のパーティションを調べる。
[root@localhost:~] partedUtil getptbl /dev/disks/mpx.vmhba32:C0:T0:L0 gpt 942 255 63 15137280
シリンダー数、ヘッダ数、トラックあたりのセクター数、セクター数、という4つの数字が表示される。
パーティションセットに必要な「エンドセクター」の数字を計算する。
eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba32:C0:T0:L0 | tail -1 | awk '{print $1*$2*$3 -1}')
ここ、ググると出てくる記事はほとんど乗算記号「*」をダブルクォーテーションで括ってるんだけど、それすると計算式が表示されるだけで、計算結果が返ってきません。
ESXiのバージョンによっては括らないといけないんですかね。
上記で計算したエンドセクターを3つ目の引数にあててパーティションセット。
partedUtil setptbl /dev/disks/mpx.vmhba32:C0:T0:L0 gpt "1 2048 [計算した数字] AA31E02A400F11DB9590000C2911D1B8 0"
引数は公式に書いてあるとおり5つあって、4つ目は「GUID」。このGUIDは、VMFSフォーマットする今回は絶対に上記の文字列になります。
1つ目が1、2つ目が2048、最後のアトリビュートが0というのはこの場合は固定でいいらしい。理由はどこかのブログさんが書いてくれてましたが忘れました。
やっとフォーマット
ここのボリューム名は自由に命名するやつ。GUIにデータストアとして表示される名前です。
ディスクは末尾の「:1」に注意。パーティションに対してフォーマットするというわけですね。
カーソルが返ってくるまで数秒間だけかかる。
vmkfstools -C vmfs6 -S [ボリューム名] /dev/disks/mpx.vmhba32:C0:T0:L0:1
ちゃんとフォーマットされたか確認。
Typeが「vmfs6」でVolumeNameが命名した通りのが表示されればおk
esxcli storage filesystem list
あとはGUIでデータストアが追加されているか確認。
というわけでここの一連の作業ログ。
[root@localhost:~] eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba32:C0:T0:L0 | tail -1 | awk '{print $1*$2*$3 -1}') 15133229 [root@localhost:~] partedUtil setptbl /dev/disks/mpx.vmhba32:C0:T0:L0 gpt "1 2048 15133229 AA31E02A400F11DB9590000C2911D1B8 0" gpt 0 0 0 0 1 2048 15133229 AA31E02A400F11DB9590000C2911D1B8 0 [root@localhost:~] vmkfstools -C vmfs6 -S USB-ADD-DS /dev/disks/mpx.vmhba32:C0:T0:L0:1 create fs deviceName:'/dev/disks/mpx.vmhba32:C0:T0:L0:1', fsShortName:'vmfs6', fsName:'USB-ADD-DS' deviceFullPath:/dev/disks/mpx.vmhba32:C0:T0:L0:1 deviceFile:mpx.vmhba32:C0:T0:L0:1 ATS on device /dev/disks/mpx.vmhba32:C0:T0:L0:1: 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:1" with blockSize 1048576, unmapGranularity 1048576, unmapPriority default and volume label "USB-ADD-DS". Successfully created new volume: 60e2cd7f-2bb1c6ca-776f-000c29f7ff49 [root@localhost:~] esxcli storage filesystem list Mount Point Volume Name UUID Mounted Type Size Free ------------------------------------------------- ------------------------------------------ ----------------------------------- ------- ------ ------------ ------------ /vmfs/volumes/60dd7776-53fb0668-14f9-000c29f7ff49 datastore1 60dd7776-53fb0668-14f9-000c29f7ff49 true VMFS-6 14763950080 4564451328 /vmfs/volumes/60e2cd7f-2bb1c6ca-776f-000c29f7ff49 USB-ADD-DS 60e2cd7f-2bb1c6ca-776f-000c29f7ff49 true VMFS-6 7516192768 6007291904 /vmfs/volumes/60dd7776-3d07350c-1467-000c29f7ff49 OSDATA-60dd7776-3d07350c-1467-000c29f7ff49 60dd7776-3d07350c-1467-000c29f7ff49 true VFFS 128580583424 125620453376 /vmfs/volumes/eefa9f0a-b642b9f3-748f-e0ca4678d024 BOOTBANK1 eefa9f0a-b642b9f3-748f-e0ca4678d024 true vfat 4293591040 4085121024 /vmfs/volumes/86095575-d64702ae-028b-84b6d880d33b BOOTBANK2 86095575-d64702ae-028b-84b6d880d33b true vfat 4293591040 4293525504