以前からiSCSI関係も色々追いかけて居たのですが、やっぱりiSCSIからOSのブートが出来るのか?と言うのは気になる所でした。(そりゃ出来るんでしょうけど)
色々調べていると、QLOGIC等からiSCSI対応のHBAと言うのも売られて居るようですが、物凄く高価(10万円超?)で、幾らなんでも、こりゃ有り得ません(苦笑
http://www.cybernetech.co.jp/product/iscsi.html
PXEやFDを使ってiSCSIからブートさせる方法とかもある様子ですが、これってスマートじゃないですよね。
http://www.emboot.com/iSCSIBoot.htm
頭を悩ませて居たところ現実的な所でIntelのNICであるサーバーアダプタがBootROMを書き換える事でiSCSIのHBAになるとか... 一番安そうなものでは、EXPI9400PTで1万円ちょっと。これなら目的に合いそうです。
ただ、PCI-Expressなんですよね、PCI-Expressが使えるマシンが無かったので試せず終いだったのですが、先日テスト用に組んだマシンはPCI-Expressに対応していたので、これを機にチャレンジしてみました。
入手したIntelのNIC(EXPI9400PT)
しかし、デスクトップアダプタ(EXPI9300PT)と見た目一緒ですが何が違うんでしょう?半値程度で買えるので改造出来たりしたら尚happyなのに (^^;
iSCSI用のBootROMをIntelサイトからダウンロードして書き込んでやると、ブート時にNICの設定が出来るようになります。
こんな感じで、iSCSI関係に必要になる設定をしてやります。(自分のIP、イニシエーター名、ターゲットの名前やIP)
BIOS設定をして起動してやると、ブート時にiSCSIのディスクを探しに行きます。
BIOS画面はこんな感じ、最後の行を見ると8GBのディスクを繋いでいるのが解ります。
ここまで、来ればBIOS(マザーボード上の)の設定でiSCSIで繋いだディスクが見えるようになるので、ブートオーダーで一番上に持ってこればiSCSIからブート出来るようになります。
お家のサーバー達です。今回は真ん中のサーバーがiSCSI Targetになっています。
ちなみに、左から...(尚、OSは全てNetBSD)
・Asteriskのサーバー(電話用)
・iSCSI Target
・Internet用(このBlogとかDNSやメールサーバーとか...)
こんな感じでOSをインストールしてみました。
特に特殊な事は無く、途中でディスクのドライバとしてiSCSIに対応したドライバをインストールするぐらいです。(Windows系ならF6でディスクドライバを読ませるアレです)
対応OSはWindows2003/2008 RedHat SuSEだそうです。(なんか少ないような...)
とりあえず、ひねくれ者の私としてはサポート外のXPをまず入れてみました。2003用のドライバを使ってインストールは出来ました。(但し、途中でMicrosoftのiSCSI initiatorに入れ替える手順が上手く行かず、Intelのドライバ(セットアップ用らしい)でずっと動いてます) Real Playerやら、iTuneなんて入れてみましたが素で動いてますねぇー 凄い!
ただ、何故かSP1適用済みメディアではインストール時にブルースクリーンで落ちてしまいました。SPなしでインストール後、SP3まで適用しましたが問題なく動いてます。(SP2/3適用済みメディアでどうなるかは不明)
次に入れてみたのはWindows2008ServerをServerCoreで...
こちらは、特にドライバなどは何も必要なくインストールが進みました。(ん?ひょっとしてVistaもイケるのでは?)
しかし、気になるのは本当にSCSIアダプタとして動いてるんでしょうか?OS上でもきっちりNICとして認識されてるのですが・・・(但し、ドライバのインストールや設定をすると、出来なかったりおかしくなったりしますが...) ひょっとして起動後はソフトウェア処理されているのかも?(この点が少し気になります) MPIOとか使うならその方が良いのかも知れませんが... 私としては、OSからも完全にSCSIアダプタとして見えてくれた方が扱いやすくて良いなぁー と思ってます。
最後に実際に、使ってみた感想ですが...
やはり遅いですが、意外と使えます。iSCSIのTargetがもう少し速くて、ネットワークがGigabitならもう少し使えるかも?(今回iSCSI用は無印玄箱なので100Mbps)
特に、大きなファイルの読み書きやスワップが起こるとストレスを感じます。
あと、物理的にHDDを差し替えなくとも設定で簡単に起動ディスクを切り替えられるのは便利ですね。またPXEやNFSを使うより、シンプルで解りやすいのも良いですね。
あぼがど
こんにちわ
このような情報があると嬉しいですね。
> 物理的にHDDを差し替えなくとも設定で簡単に
> 起動ディスクを切り替えられるのは便利ですね。
iSCSI Target側に複数のLUNを用意してあればBootROMのLUN変更
だけで起動ディスクが簡単に切り替われるのですよね。
> デスクトップアダプタ(EXPI9300PT)と見た目一緒ですが
> 何が違うんでしょう?半値程度で買えるので改造出来たりしたら
SPI EEPROMをサーバーアダプタと交換すればできる、かも(?)
ライターあれば楽なんでしょうけど、あくまで自己責任で。
> やはり遅いですが、意外と使えます。iSCSIのTargetがもう少し
> 速くて、ネットワークがGigabitならもう少し使えるかも?
> (今回iSCSI用は無印玄箱なので100Mbps)
100Mbpsはきつすぎますよ。最低1Gbpsで。
最近は10GbEの2ポートアダプタをを$700くらいで買えるので
ディスクが早い分だけOS起動が瞬時になりますね。
> 特に特殊な事は無く、途中でディスクのドライバとして
> iSCSIに対応したドライバをインストールするぐらいです。
> (Windows系ならF6でディスクドライバを読ませるアレです)
Win2K3はiSCSIBootパッケージに入っているiSCSIドライバを
F6セットアップで入れるんです。
> 次に入れてみたのはWindows2008ServerをServerCoreで...
> こちらは、特にドライバなどは何も必要なくインストールが進みました。
inboxのLAN_NDISドライバがあればそのままインストールできます。
新製品のアダプタはLAN_NDISドライバをUSBフラッシュドライブに詰め込んで
インストールディスクのドライバ読み込ませます。
> しかし、気になるのは本当にSCSIアダプタとして動いてるんでしょうか?
BootROMが動作しているのはBIOSが使用されているOSローダーまで。
きちんとSCSIディスクとして動作していますよ。
> OS上でもきっちりNICとして認識されてるのですが・・・
> ひょっとして起動後はソフトウェア処理されているのかも?
正解です。OSにはいると専用ドライバが直接LANデバイスを管理します。
MPIOでフェールオーバーも可能。
Hiromichi Iwaoka
あぼがどさま
色々と情報ありがとうございます。
流石にEEPROM書き換えとかはきつそうですね。(そのうち誰かがCrackしちゃう?)
なんにせよ100Mbpsは確かに厳しすぎます。とは言えGigaのHub高くてお家用にはナカナカ…
10Gbpsは、まだまだと言う感じですが、iSCSIとかが流行って来ると現実的に必要になって来そうだと痛感しました。