ネットワーク管理者の憂鬱な日常

とある組織でネットワーク管理に携わる管理者の憂鬱な日常を書いてみたりするブログ

Intel iSCSI Remote Boot導入

Intel iSCSI Remote Boot導入のため,調達したNICのファームウエアを書き換え.
デフォルトで導入されている,PXE boot可能なIntel Boot Agentを置き換える.

ちなみに,ローカルストレージからbootしたOSで,iSCSIのストレージを
使用したいだけなら,今回の作業は必要ない.
# それは,OSのiSCSI Initiatorのお話なので.

iSCSI Remote Bootを導入(かつ,必要な設定も実施)すれば,NICがBIOSレベルで
SCSI HBA(Host Bus Adapter)として振る舞うようになるらしい.
当然,OSからはブロックデバイスに見える.

早い話,OSからは単にSCSI HBAに見えるので,当然OSのインストールも可能な
ワケで,当然そこからOS bootも可能になる.
でも,それはNICが上手くやってくれていて,実はIPネットワーク上のiSCSI targetと
SCSIデータを送受信してくれる.

ま,SCSI over IP を(NICの)BIOS側でやっちゃいましょう,ということですか.

で,高いサーバ向けのGbEアダプタやiSCSIアダプタなら,TOE(TCP Offload Engine)やら,
iOE(iSCSI Offload Engine)やらが付いていて,これらのハードウエアがあると,
iSCSI処理に係る処理を,CPUではなくNIC側で請け負いますよ,と.
# まあいえば,GPU(昔でいう,Graphics Accelerator)と同じ発想ですねw

そんなこんなで,EXPI9301CTを適当なサーバへ実装.
Intel Boot Agentが2つ表示されているが,下側が実装したNICのもの.
# 上側はマザーボードに実装されているGbEコントローラのもの.


で,iSCSI Remote Bootへの書き換えは,iSCSI Remote Boot Setup Utility(ISBoot.exe)を
取得して,その中にある「iscsiutl.exe」を使用する.

ISBoot.exeは,IntelのDownload Centerから入手可能

ちなみに,iscsiutl.exeの動作環境は「DOS」.仕方ないので,FreeDOSを取ってきて入れたw

iscsiutl をオプションなしで実行すると,現状一覧が表示される.


「iscsiutl -ALL -UP」で,iSCSI Boot imageに書き換えが実行される.

書き換えが無事終了して,Port #2が「iSCSI Enabled」となっている.

書き換えるNICを指定するときは,「-NIC=xx」オプションで個別指定
可能なようだが,今回実行したバージョンではエラーで指定できなかった.

で,システムを再起動すると,BIOSレベルで「iSCSI Boot」が組み込まれて
いるのがわかる.


CTRL+Dで設定モード.設定するポート選ぶと,iSCSI targetの設定やらが可能.


とりあえず何も設定せず再起動.DHCP Serverからの応答がないので,
timeoutで普通にローカルストレージからOSが起動した.


ちなみに,再びPXE boot可能なファームウエアに戻すときは,
Intel Boot Agent for Intel Network Adapters(PROBOOT.exe)を取得し,
その中にある「ibautil.exe」を使う.

(当然ながら)Intel Boot Agentもバージョンアップされて,いい感じw
# 実験済みw

スポンサーリンク