ESXi の USB HDD インストール及びデータストアとしての使用

ESXi のインストール

USB メモリ等 (2GBなどでOK)に ISO イメージを書き込んで USB メモリから起動する。書き込みには 【Rufus】等を使用して行う。

【ESXi のインストール】を参考にして対話形式、またはキックスタートにてインストールを行う。
インストール先 USB HDD の容量を有効活用するため、 USB メモリの【/efi/boot/boot.cfg】ファイルに【systemMediaSize=min】を追記して、インストールメディアの容量設定を 32GB に変更する。

============================= /efi/boot/boot.cfg ========================
bootstate=0
title=Loading ESXi installer
timeout=5
prefix=
kernel=/b.b00
kernelopt=runweasel cdromBoot systemMediaSize=min  ※【systemMediaSizeを追記】
modules=/jumpstrt.gz --- /useropts.gz ...(略)
=========================================================================

ESXi の構成変更

USB HDD のパススルー停止

ESXi インストール後にIP等の基本設定を行い、 SSH でアクセス可能にする。 SSH でログイン後 USB のパススルーサービスを停止し、 ESXi ホストから USB HDD を認識できるようにする。また、サービスの自動起動を停止する。最後にデバイスが認識できているか確認する。

# /etc/init.d/usbarbitrator status
usbarbitrator is running

# /etc/init.d/usbarbitrator stop
watchdog-usbarbitrator[530163]: Terminating watchdog process with PID 530100
stopping usbarbitrator...
usbarbitrator stopped

# chkconfig --list | grep usbarbitrator
usbarbitrator           on

# chkconfig usbarbitrator off
# chkconfig --list | grep usbarbitrator
usbarbitrator           off


※ USB HDD デバイスの確認
# esxcfg-scsidevs -l
mpx.vmhba32:C0:T0:L0
   Device Type: Direct-Access
   Size: 305245 MB
   Display Name: Local USB Direct-Access (mpx.vmhba32:C0:T0:L0)
   Multipath Plugin: NMP
   Console Device: /vmfs/devices/disks/mpx.vmhba32:C0:T0:L0
   Devfs Path: /vmfs/devices/disks/mpx.vmhba32:C0:T0:L0
   Vendor: xxxxxxxx  Model: xxxxxxxxx         Revis: xxxx
   SCSI Level: 2  Is Pseudo: false Status: on
   Is RDM Capable: false Is Removable: true
   Is Local: true  Is SSD: false
   Other Names:
      vml.0100000000313131313232323233333333434d42323555
   VAAI Status: unsupported

USB HDD のパーティション構成確認

インストール後の USB HDD のパーティション構成を確認する。基本的に、 ESXi 7 以降はシステム起動領域 100MB 、ブートバンク 1 の 4GB、ブートバンク 2 の 4GB、ESX-OSData の領域(min 指定したので 24GB)が存在する。

# df -h
Filesystem   Size   Used Available Use% Mounted on
VMFSOS      23.8G   1.8G     22.0G   7% /vmfs/volumes/LOCKER-647363ca-3ea99bb0-1599-482ae3276db3
vfat         4.0G 265.1M      3.7G   6% /vmfs/volumes/BOOTBANK1
vfat         4.0G 265.7M      3.7G   6% /vmfs/volumes/BOOTBANK2

# 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
...(略)

# partedUtil getptbl /dev/disks/mpx.vmhba32:C0:T0:L0
gpt
38913 255 63 625142448
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 208896 8595455 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 8597504 16984063 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 16986112 67108863 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0

※各パーティションの容量は以下
1 (204863 - 64) * 512 / 1024 / 1024 = 100 MB
5 (8595455 - 208896) * 512 / 1024 / 1024 = 4095 MB
6 (16984063 - 8597504) * 512 / 1024 / 1024 = 4095 MB
7 (67108863 - 16986112) * 512 / 1024 / 1024 = 24,474 MB

USB HDD のパーティション構成変更

USB HDD に新規パーティション【タイプ:VMFS】を指定する。この時、既存のパーティション情報の入力が必須であることに注意。既存のパーティションは【partedUtil getptbl】コマンドの結果を編集して基本的にはそのまま入力すればよい。また、追加するパーティションを USB HDD の最後まで使い切る場合は最終セクタ情報を確認する。
※新規パーティションだけ入力すると【Error: Read-only file system during write on /dev/disks/mpx.vmhba32:xxx】のエラーが発生する。

※ファイルシステムタイプの確認
# partedUtil showGuids
 Partition Type       GUID
 vmfs                 AA31E02A400F11DB9590000C2911D1B8
 vmkDiagnostic        9D27538040AD11DBBF97000C2911D1B8
 vsan                 381CFCCC728811E092EE000C2911D0B2
 virsto               77719A0CA4A011E3A47E000C29745A24
 VMware Reserved      9198EFFC31C011DB8F78000C2911D1B8
 Basic Data           EBD0A0A2B9E5443387C068B6B72699C7
 Linux Swap           0657FD6DA4AB43C484E50933C84B4F4F
 Linux Lvm            E6D6D379F50744C2A23C238F2A3DF928
 Linux Raid           A19D880F05FC4D3BA006743F0F84911E
 Efi System           C12A7328F81F11D2BA4B00A0C93EC93B
 Microsoft Reserved   E3C9E3160B5C4DB8817DF92DF00215AE
 Unused Entry         00000000000000000000000000000000

※最終セクタの確認
# partedUtil getUsableSectors /dev/disks/mpx.vmhba32:C0:T0:L0
34 625142414

※全てのパーティション情報を入力する
# partedUtil setptbl /dev/disks/mpx.vmhba32:C0:T0:L0 gpt \
> "1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B 128" \
> "5 208896 8595455 EBD0A0A2B9E5443387C068B6B72699C7 0" \
> "6 8597504 16984063 EBD0A0A2B9E5443387C068B6B72699C7 0" \
> "7 16986112 67108863 4EB2EA3978554790A79EFAE495E21F8D 0" \
> "8 67108864 625142414 AA31E02A400F11DB9590000C2911D1B8 0"


# partedUtil getptbl /dev/disks/mpx.vmhba32:C0:T0:L0
gpt
38913 255 63 625142448
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 208896 8595455 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 8597504 16984063 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 16986112 67108863 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0
8 67108864 625142414 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

データストアの作成

USB HDD に新規作成したパーティション【/dev/disks/mpx.vmhba32:C0:T0:L0:8】を指定して、ファイルシステム【VMFS6】でデータストアを新規作成する。ボリュームラベルは【USB_Datastore】とする。

# vmkfstools -C vmfs6 -S USB_Datastore /dev/disks/mpx.vmhba32:C0:T0:L0:8
create fs deviceName:'/dev/disks/mpx.vmhba32:C0:T0:L0:8', fsShortName:'vmfs6', fsName:'USB_Datastore'
deviceFullPath:/dev/disks/mpx.vmhba32:C0:T0:L0:8 deviceFile:mpx.vmhba32:C0:T0:L0:8
ATS on device /dev/disks/mpx.vmhba32:C0:T0:L0:8: 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:8" with blockSize 1048576, unmapGranularity 1048576, unmapPriority default and volume label "USB_Datastore".
Successfully created new volume: 64738ce6-faf0aca5-3150-482ae3276db3

# df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-6     266.0G   2.3G    263.7G   1% /vmfs/volumes/USB_Datastore
VMFSOS      23.8G   1.8G     22.0G   7% /vmfs/volumes/LOCKER-647363ca-3ea99bb0-1599-482ae3276db3
vfat         4.0G 265.1M      3.7G   6% /vmfs/volumes/BOOTBANK1
vfat         4.0G 265.7M      3.7G   6% /vmfs/volumes/BOOTBANK2

【参考URL】
ESXi ホストから、そのホストに接続されている USB デバイスにデータをコピーできない
ESXi のシステム ストレージの概要
インストール スクリプトまたはアップグレード スクリプトを開始するための起動オプションの入力
vSphere ESXi でコマンド ラインからローカル データストアを拡張する (2002461)
Using partedUtil command line disk partitioning utility on ESXi (1036609)
Create VMFS Datastore on Boot USB Device
VMFS データストアまたはスクラッチ パーティションの作成