‘Windows7’ タグのついている投稿

Windows7をistgtで作成したiSCSIターゲットに直接インストールする

2010年5月25日 火曜日

先日の結果からIntelのCTデスクトップアダプタでもWS2008がiSCSI起動可能
であることが実証できたので今度はWindows7をインストールしてみました。
今回は20100522版のターゲットを使って検証しました。
利用したターゲットの主な設定は以下の通り。

[Global]
  MaxSessions 16
  MaxConnections 4
  MaxR2T 256
  MaxOutstandingR2T 16
  DefaultTime2Wait 2
  DefaultTime2Retain 60
  FirstBurstLength 262144
  MaxBurstLength 1048576
  MaxRecvDataSegmentLength 262144

[LogicalUnit80]
  TargetName “iqn.2007-09.jp.ne.peach:artemis-boot”
  Mapping PortalGroup1 InitiatorGroup80
  AuthMethod Auto
  UseDigest Auto
  UnitType Disk
  QueueDepth 64
  LUN0 Storage /tank/isboot/artemis-boot 64GB

結論から言うと、インストールできません。(すみません・・・
追加したR2Tの処理にバグがありました。
TL>FB+MBの特殊な条件下で追加のR2Tを送信しないため、データ受信待ちが
タイムアウトしてしまいます。<再処理になりますが同じ場所で同様に略
不幸中の幸い?(皮肉にも?)、タイムアウトのエラー処理が正しく実行できる
と言う事が実証できたわけですが。

とりあえずの修正は以下のようにすると動きます。

Index: src/istgt_iscsi.c
===================================================================
--- src/istgt_iscsi.c   (revision 36)
+++ src/istgt_iscsi.c   (working copy)
@@ -4016,6 +4016,10 @@
                                ISTGT_WARNLOG("pending_pdus > 0\n");
                        }
                        if (offset < transfer_len) {
+                               if (offset >= (first_burst_len + max_burst_len)) {
+                                       /* need more data */
+                                       r2t_flag = 0;
+                               }
                                len = DMIN32(max_burst_len,
                                    (transfer_len - offset));
                                memset(&data_pdu.bhs, 0, ISCSI_BHS_LEN);

ベンチマークの結果は以下の通りで、ほぼ期待通りのピーク性能が検証できました。

 
(20100522+パッチとW7による性能)


(参考:旧版とWS2008R2の値)

というわけで、今後の事もあるので、作業用マシンをXPからW7に移行しようと思いました。