2007年08月15日

iSCSI Boot

Intel の PCI Express 版 PRO/1000 Server Adapter は iSCSI Boot をサポートしている。今回はこれを利用した iSCSI Boot システムの構築方法についてまとめる。


Intel PRO/1000 Server Adapter の設定

Intel の PCI Express 版 PRO/1000 Server Adapter の標準のままでは iSCSI Boot ができないので iSCSI Boot に対応するには Flash ROM を書き換えなければならない。そこでまず、Download Center より、ISBOOT.EXE を取得する。
取得した ISBOOT.EXE を実行すると保存場所(展開場所)を聞かれるので適当に指定。この展開したディレクトリの iSCSIUtl\DOS に
iSCSIUtl.exe
があるので、DoS 起動用ディスクを用意してこの exe ファイルをコピーしておく。

作成した DoS 起動ディスクを使って iSCSI Boot をしたいサーバを起動する。起動後
> iscsiutil
とすることで Flash ROM 書き換え対象となることができるデバイスが表示されるので、確認後
> iscsiutil -ALL -UP
とすることで、対象となるすべてのデバイスの Flash ROM が iSCSI Boot 用のものに書き換えられる。念のため、
> iscsiutil -ALL -FE
も実行しておく。

再起動すると、ブートのどこかのタイミングで
Intel(R) iSCSI Boot version 2.0.07
Copyright (c) 2002-2006 Intel Corporation. All rights reserved.
Press ESC key to skip iSCSI boot initialization. 
Press <Ctrl-D> to run setup...
という表示がでるので、ここで [Ctrl]+[D] を押し、iSCSI Boot の設定画面に入ることができる。設定画面では、
  • Primary ポートを設定する。(Secondary は必要なら設定すればよい)
  • Port Configuration にて、Boot のための iSCSI ターゲットの IP などを指定する。(ここでのパラメータは DHCP で与えることもできる)
設定ができたら設定を保存して、この設定ツールを終了する。


iSCSI デバイスへのインストール

CentOS5 では Anaconda インストーラが iSCSI デバイスへのインストールをサポートしている。 ただし、DVD からのインストールでは、途中でネットワークデバイスに IP を割り振っても iSCSI ターゲットに接続してくれないようだ。なので、DVD でインストーラを起動したとしてもネットワークインストールをすることになる。(ここではその手順は述べない。)

ネットワークインストールによりインストーラが起動し、画面を進めるとディスクの設定画面がでてくる。もし、iSCSI デバイスがネットワークインストールのために設定したネットワークと別なネットワークに存在するなら、[Alt]+[Ctl]+[Shift]+[F2] でプロンプトに移り
# ifconfig eth1 192.168.1.2 up
のようにして、ネットワークを設定すればよい。設定すれば [Alt]+[F6] でインストーラの画面に戻ってくる。
ここで、[高度なストレージ設定] -> [iSCSI ターゲットの追加] を選択することで、iSCSI ターゲットの IP とアクセスするときに使用するイニシエータの名前を入力する画面が現れるので、適切な値を入力する。これで、インストール対象のデバイスとして iSCSI デバイスを使えるようになる。

ここでは iSCSI デバイスとして
/dev/sda  iqn.2007-08.net.seesaa.funmoco:storage.disk1 の Lun 0
/dev/sdb  iqn.2007-08.net.seesaa.funmoco:storage.disk2 の Lun 0
/dev/sdc  iqn.2007-08.net.seesaa.funmoco:storage.disk2 の Lun 1
の3つのデバイスに接続できたとし、
/boot /dev/sdb1
/     /dev/sdb2
swap  /dev/sdc1
のように割り当てたものとする(つまり、sda は使わない)。
ドライブの割当後、ブートローダのインストール先画面になるので、ここで [高度なブートローダオプションの設定]をチェックし進む。その画面で、ドライブの順序を編集し、/dev/sda を最下位する。これで、ブートローダのインストール先が /dev/sdb になる。
後は、通常のインストール手順と同じ。


iSCSI Boot

Intel PRO/1000 Server Adapter の iSCSI Boot の設定が正しくできていれば、インストール後に再起動すれば、iSCSI からシステムが起動する。 なお、必要に応じて以下のように若干調整をする。

/etc/fstab から不要 swap の削除
使用しなかった iSCSI ターゲット:iqn.2007-08.net.seesaa.funmoco:storage.disk1 の Lun に swap 属性の付いたパーティションが存在すると、その情報が /etc/fstab にも反映されているはず。そのため、この情報を削除しておく。

不要 iSCSI デバイスを削除
上記の手順の場合、iSCSI ターゲット:iqn.2007-08.net.seesaa.funmoco:storage.disk1 は実質不要であるが、システム起動時に接続されるように設定されている。そこで以下のようにして、このターゲットとの接続を切る。
# iscsiadm -m node \
 -T iqn.2007-08.net.seesaa.funmoco:storage.disk1 \
 -p 192.168.1.1 --logout
# iscsiadm -m node -o delete \
 -T iqn.2007-08.net.seesaa.funmoco:storage.disk1 \
 -p 192.168.1.1
しかし、実はまだ不十分。initrd で接続されているので、initrd も修正する必要がある。そのため、以下のようにして作りなおす。
# cd /boot
# mv initrd-2.6.18-8.el5.img initrd-2.6.18-8.el5.img.bak
# mkinitrd initrd-2.6.18-8.el5.img 2.6.18-8.el5
これで再起動すれば、不要なターゲットには接続されないようになる。

以上で、iSCSI Boot 環境ができあがる。
ラベル:iSCSI Linux CentOS5
posted by funmoco at 00:20| Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。