めもぶろぐ

お勉強したこと、趣味なんかを適当に書いてます。。。

ESXi 6.x USB データストア作成

ESXi 6.5 で色々試してみようと思って
ノートパソコンを使って環境を作成しました。

環境はこんな感じ

ブート領域はUSB
データストアは外付けハードディスク
その他のリソースはノートパソコン(メモリやCPUですね)

USB経由の外部ストレージのデータストア化

まずはホストにSSH接続します。その後に下記を実行していきます。

usbarbitratorサービスの停止

これを止めておけばUSBをパススルーで使用可能です。

~ # /etc/init.d/usbarbitrator stop

usbarbitratorサービスの自動起動無効化

USBをパススルーで使用するので、OS起動と連動しないように自動起動を無効化しておきます。

~ # chkconfig usbarbitrator off

USBデバイスの確認

USB接続している外部ストレージがESXiホストから認識できているかを確認します。

物理的に接続しているのに/dev下に表示されていない場合はデバイスすら認識されていないので、WindowsとかMacでもいいのでFAT32あたりにフォーマットして、USBを再接続してください。

~ # ls /dev/disks/

USBストレージのGPT設定

下記のようにコマンドを実行すればいいのですが、指定するデバイス名は環境に応じて違います。

~ # partedUtil mklabel /dev/disks/mpx.vmhba36\:C0\:T0\:L0 gpt

上記のようなデバイス名と違うケースもあります。下記のような感じもありますが、問題なく設定できるはずです。末尾のパーティション番号がついていない、デバイスの方を指定します。
/dev/disk/t10.Initio__INIC2D3609_______WD2DWMANU1324443_____
/dev/disk/t10.Initio__INIC2D3609_______WD2DWMANU1324443_____:1

パーティションに指定する終了セクタの算出

パーティション作成時にエンドセクタを指定するので下記コマンドで値を算出します。

~ # eval expr $(partedUtil getptbl /dev/disks/デバイス名 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1

パーティション作成

算出した値を利用して、USBストレージに対してパーティションを設定します。

ちなみに長ったらしい値はパーティションタイプを指定してるGUIDになりますが、VMFSの場合は固定値になりますので、別の値に置き換えは不要です。

環境に応じて、デバイス名と、算出したエンドセクタの値のみ置き換えてください。

~ # partedUtil setptbl /dev/disks/デバイス名 gpt "1 2048 算出した値
 AA31E02A400F11DB9590000C2911D1B8 0"

作成したパーティションをVMFSでフォーマット

上記手順でパーティションを一つ作成しているので、そのパーティションに対してフォーマットを掛けます。

~ # vmkfstools -C vmfs5 -S USB-Stick /dev/disks/デバイス名:1


ココまでできるとVMFSのデータストアができているので、GUIで再スキャン等を行いUSB-Stickというデータストアが作成されているか確認してください。


おわり

広告を非表示にする