iPXEでセキュアブートした TCP iSCSI root は 前回の方法 で一息ついたのですが、ConnectX VPI は rdma が使えるのに使わないのは勿体ないと思いました。なので一旦 iPXE で iBFT を登録・ iscsiでboot してから、initramfs 上で SRP root に切替た所、上手くいったのですが、SRPで複数ターゲット・複数イニシエータがある場合、ターゲットの探索を行うと、複数のターゲットが検出される上、/dev/disk/by-pathがローカルのデバイスと判別がつきにくく、さらに srptoolsには含まれるイニシエータプログラムが2つあり、それぞれ異なるaclを投げてくる為、管理が非常に面倒だということが分かったので、こちらはボツネタにしました。 そこで今度は iSER でテストし、/dev/disk/by-path での管理も特に問題はなさそうでしたので、initramfs 上で iBFT の情報( iscsistart -f )を元に tcp ISCSI root から ISER rootに切替したところ、上手くいきましたので本稿を挙げてみることにしました。 基本的には、 前回の方法 と同じなのですが、おさらいの意味も兼ねて今回は全体の詳細を挙げます。なお、今回はターゲット・tftp/httpサーバは同一の 10.1.40.51 ( i51 ) で、イニシエータは 10.1.40.114 ( sv114 ) で共にDebian 12 としています。また、dhcp server だけは Debian 12 の isc-dhcp-server が ipoib での bootps に対応していないので、別のサーバ ( 10.1.40.50, i50 Ubuntu24.04 ) としています。また、イニシエータは今回 2 ポートの Connectx-3 VPI で試したのですが、 uefi ロム が見つかったので、セキュアブートもOKでした。 # ターゲットイメージの作成等 ( on target 10.1.40.51 i51 ) apt-get install targetcli-fb qemu-utils tftpd-hpa apache2 REL=bookworm IMG=deb12.amd64.04.i...
ファームウェアを 2025/03 現在で最新のものにアップデートした ConnectX-4 VPI は、Flexboot が UEFI に対応しているとのこですが、当方の環境では ConnectX-3 VPI が BIOS モードで立ち上がるような CUI は 立ち上がらず、また、BIOSでも設定項目はみつかりませんでした。その代わり、サーバ上で Networking stack を Enabled にして iPXEではなくPXEブートする方法では確かにPXEパケットはやり取りできています。( 参考までにCX3ではブートメニューに現れませんでした。 こちらの uefi rom を焼いたところ、CX3 もブートメニューに現れました。) しかし、iPXEではなくPXE ブートでは iSCSI 接続を iBFT として登録する方法はBIOS上で設定項目がない限りありません。そこで、PXEから bootfileを signed ipxe.efi にし、 sanhook で iscsi root イメージを ibft に登録してからブートしたところ、今度は上手く行きました。(2025/04/05:訂正:当方のapache2 の コンフィグミスで、signed ipxe.efiにて直接 IPoIB 経由で Altiris/iPXE/GetPxeScript.aspx (menu.ipxe相当)にアクセスできましたので、表題および本文を訂正しました。) 基本的には iPXE経由でセキュアブートする方法 とあまり違いはありません。 # /etc/dhcp/dhcpd.conf --snip subnet 10.1.40.0 netmask 255.255.255.0 { option domain-name-servers 10.1.1.64; option domain-name "example.com"; option routers 10.1.40.50; option broadcast-address 10.1.40.255; next-server 10.1.40.50; if substring(vendorclass, 0, 9)="PXEClient" { if pxetype=0...