Posted on Wed Sep 07 09:48:19 +0900 2011 by nabeken
録画環境のWindows XPが入ったマシンのハードディスクが故障したのを機に Windows 7 Professional (64bit)をiSCSIへインストールしました。かなり苦戦したので 顛末を記します。
PT2、QRS-UT100BをWindows 7 64bitで動かす方法は割愛します。 TvRock + TvTestで快適に録画できています。
gPXE経由でsanbootすればWindows 7を直接iSCSI targetへインストールできると信じていました…。
問題はいくつかありました。
自分でDHCPサーバを立ててroot-pathを渡す
この場合、インストーラーではiSCSI targetを認識できますが、 エラーメッセージがでてインストールできません。
(dhcpd.confでgPXEの値によってfilenameを渡したりroot-pathを渡している場合)
gPXE経由でsanbootしてもインストーラーではiSCSI targetは認識できない
さまざまな記事ではさもsanbootすれば認識できるかのように書いてあります。 が、実際にはDHCPサーバの設定に左右されます。以下の設定の場合、DHCPサーバで PXEブート用の filename 設定(gPXE用)が入っている場合は失敗します。
dhcp net0 set keep-san 1 sanboot iscsi:10.3.5.35::::iqn.2000-07.org.example:moge exit
この問題を回避する場合はdhcp net0ではなくて、手動でIPアドレスを設定します。 なお、この設定はiBT領域に書き込まれ、その後Windows側のIPアドレス設定としても使われます。
ifopen net0 set net0/ip X.X.X.X set net0/netmask X.X.X.X set net0/gatewayh X.X.X.X> set net0/dns 8.8.8.8
そもそもの問題はWindows 7のインストーラでiSCSI targetを認識していてもインストールできない件です。 残念ですが、一旦実機のハードディスク上へインストールする必要があります。 (仮想マシンではなくて実機です。iSCSIブートに使用するNICを含んでインストールする必要があります)
ハードディスクを実機に接続し、DVDROMからWindows 7をインストール
NICのLWF (Light Weight Firewall) を切る
参考: http://blog.zorinaq.com/?e=41
私の環境では再起動すると毎度設定が復活するため、強引にレジストリの該当キーを書き込み不可にしました。
ハードディスクの中身をiSCSIターゲットへコピー
私はインストール直後の環境でSystemRescue CDから起動し、ddしました。
ネットワーク設定
iSCSIブートしたWindows 7ではgpxeで設定したネットワーク設定がそのまま使われます。 ただし、デフォルトゲートウェイだけはどうやってもiSCSIターゲットのIPアドレスになって しまいます。
Windows 7ではDNSサーバもIPv6アドレスを設定できるので、全部IPv6へ移行するのも手です(httpプロキシとか)。 IPv4でなんとかしたい場合は「デフォルトゲートウェイ削除→デフォルトゲートウェイ再設定」するバッチファイルを 作る必要があります。
もっとも、録画専用機なのでインターネットに繋がっていなくても問題はなくどちらの対策もまだ行なっていません…。
一旦、iSCSIブートできるようになるとあとは zfs snapshot が使えるようになるのでこれまでの苦行も報われるというものです。
WindowsをiSCSIブートさせるなら:
LinuxならgPXEで何の問題もありません。Windowsは疲れます。