この3行のためだけに記事を書きました
UEFI v1.22だとi、SCSIメニューが出なかった!(ように見えた…構成が変わって見逃しただけかもだけど)
UEFI v1.21にしたら、メニューが出た!
…ので、ハマった人がいたらv1.21(執筆時)で試してみてはいかがでしょうか。
以上です。以下オマケ。
何でiSCSIなの?
USBメモリが物理的に邪魔で、元々PXE+NFSにしようと思っていたけど、ルーターのDHCPサーバーに設定できなさそうなパラメーター設定が面倒で…
環境
- ホスト(ハード): Raspberry Pi 4 8GB
- ホスト(ソフト): ESXi on Arm Fling (Build 17230755) (VMware-VMvisor-Installer-7.0.0-17230755.aarch64.iso)
- iSCSIターゲット(ハード): NUC8i5BEH + WD Black NVMe SSD 2018 (500GB)
- iSCSIターゲット(ソフト): Ubuntu 20.04 + targetcli-fb
インストール手順
みなさま実施されている、こんな手順でインストール。
- Raspberry Pi OSでEEPROMを最新にする
- firmware/bootをFAT32でフォーマットしたSDにコピーして、kernel*を削除
- Raspberry Pi 4 UEFI FirmwareのReleaseを展開して、SDに上書きコピー
- SDを挿してUEFI起動後、ESCキーを押し、UEFIを設定(3GB制限解除, iSCSI設定)
- UEFIのBootメニューから、ESXiイメージを焼いたUSBメモリを起動させ、ESXiインストール
はまったこと
UEFIのメニューにiSCSIが出てこない
先述の通り。v1.21で試してみる。
iSCSI命名規則
iSCSIを使うのが初めてで、ターゲットとイニシエーターの命名規則がよく分かっていなかった。
…ら、VMwareのこんな文章が教えてくれた。
これに合わせて設定。
インストール先
ESXi 7.0から、128GB以上のメディアでないと、VMFSが作れないと聞いた。(本家blog)
本家マニュアルのFling-on-Raspberry-Pi.pdfには、autoPartitionOSDataSize=8192
というオプションが紹介されているが、これで起動すると、何故かESXiのインストーラーが起動せず、ESXiが起動してしまうように見えた。
Raspberry PiのUEFIのiSCSI設定で、Boot LUNを設定できるのを見つけたので、
- Boot LUNは、小さめに作成して、ESXiをインストール
- Boot LUN以外のLUNも作成して、datastoreに設定
すればよいのでは。
インストールメディアのサイズは、先程の本家blogによると、
32GB for other boot devices like hard disks, or flash media like SSD or NVMe devices.
とのことなので、1つのターゲットに
- LUN0: 32GB
- LUN1: いっぱい
を作成し、Boot LUNを0にしてインストールしたところ、無事ESXiが起動、またLUN1をdatastoreにできた。
オマケのオマケ: パフォーマンス
- iSCSIターゲット: 先述の通り
- ゲストOS: Ubuntu 20.04 aarch64
- open-vm-toolsを手動ビルドしてインストール済み
- ベンチマークソフト: sysbench
で60〜80MiB/sくらい(seqrd/seqwr)だった。
普通に動くけど、USB3の高速なUSBメモリのほうが速いんだろうな。
参考文献
宿題
- iSCSIのJumbo Frame効果…vSwitchとiSCSIターゲットはMTU=9000にしてみたけど、iSCSIはMSSいくつで動くのだろう?