ioDrive2 on ESXi 6.7 on Proxmox VE 8.2
Fusion-IOのioDrive2をProxmox上のESXiで利用する方法をまとめました。
背景
Fusion-IOのioDrive2は先進的なフラッシュストレージですが、NVMeの登場以前のため専用のドライバが無ければ利用できません。
https://cn.teldevice.co.jp/column/10510/
10年以上前の製品ということもあり、最終的な対応OSはFreeBSD 9やDebian 9、ESXi 6系どまりのため、以降の製品では利用できません。
自宅ラボでは長らく無償版のESXi 6.7を使っていましたが、Broadcom問題の影響でProxmox VE 8.2への移行を行いました。この環境で何とかioDrive2を継続利用したいと思いまとめました。
ESXi 6.7のインストール
ホストOSとしてProxmoxをインストールしましたので、ゲストOSとしてESXi 6.7をインストールしました。
ESXi 6.7の場合
その他参考情報
ESXiでのioDrive2の利用
ホストOS(Proxmox)からゲストOS(ESXi)に、PCIデバイスをパススルーする設定を行います。
https://pve.proxmox.com/wiki/PCI_Passthrough
認識状況の確認
ホストOSでPCIデバイスの認識状況を確認します。
id: 0000:01:00.0として、ioDrive2が認識されています。
pvesh get /nodes/pve/hardware/pci --pci-class-blacklist ""
PCIパススルーの設定
ハードウェアの追加からioDrive2のPCIデバイスをRawデバイスとして追加します。
ドライバのインストール
ESXiのioDrive2のドライバをインストールします。
ファイルシステム確認
vfat領域があることを確認します。
[root@localhost:/tmp] df -h
Filesystem Size Used Available Use% Mounted on
VMFS-6 24.5G 1.4G 23.1G 6% /vmfs/volumes/datastore1
vfat 249.7M 150.6M 99.1M 60% /vmfs/volumes/75bc7075-e928f7b0-192c-591627789047
vfat 249.7M 148.4M 101.3M 59% /vmfs/volumes/2a436e7a-f15d4053-8c18-86cfb59fcda2
vfat 4.0G 3.6M 4.0G 0% /vmfs/volumes/663ec187-29e52e6f-4c1c-bc241116e6a9
vfat 285.8M 173.8M 112.0M 61% /vmfs/volumes/663ec181-adb2f1fa-f229-bc241116e6a9
この領域が無いとFusion-IOのドライバインストールに失敗します。
ライブインストールに対応していないだの、メンテナンスモードになっていないなどエラーが出ましたが、結局のところドライバを入れる際の(一時利用のための?)ファイルシステムがないことが問題でした。
[root@localhost:/tmp] esxcli software vib install -v /tmp/vib20/scsi-iomemory-vs
l/SNDK_bootbank_scsi-iomemory-vsl_3.2.16.1731-1OEM.600.0.0.2159203.vib
[StatelessError]
The transaction is not supported: VIB SNDK_bootbank_scsi-iomemory-vsl_3.2.16.1731-1OEM.600.0.0.2159203 cannot be live installed.
Please refer to the log file for more details.
ドライバのインストール
後は、何も問題なくインストール出来ました。
https://www.servethehome.com/sandisk-fusion-io-iodrive-installation-vmware-esxi/
[root@localhost:/tmp] esxcli software vib install -d /tmp/libvsl-600-1.0.0-3.2.16.1731.zip --no-sig-check
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: SanDisk_bootbank_libvsl_600.sdk.1.0.0-vsl.3.2.16.1731
VIBs Removed:
VIBs Skipped:
[root@localhost:/tmp] esxcli software vib install -d /tmp/scsi-iomemory-vsl-60L-3.2.16.1731-offline_bundle-9738096.zip
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: SNDK_bootbank_scsi-iomemory-vsl_3.2.16.1731-1OEM.600.0.0.2159203
VIBs Removed:
VIBs Skipped:
確認
ドライバのインストール後WebUIから確認すると、ioDrive2が認識されていました。
ESXiをホストOSとして動作させていた際に作成したデータストアも、そのまま見えました。
まとめ
PCI Passthroughを利用することで、ホストOSに対応していない古いデバイスをゲストOSから継続利用出来ることが確認できました。