ここ数日間、ほとんどこれの調査に追われていました。
何せ、再現テストに数十分から1時間以上掛かるので。それを条件を変えて繰り返すので、数時間ではなく、数日という単位の時間が必要となりました。
現象 §
Windows XP (SP2)マシンの光学ドライブに挿入されたMSDN Library DVD 2005 Octoberの内容(ただし、ルートディレクトリにあるサービスパック関係のディレクトリ2つは除く)を、100Base-TXのLAN経由でWindows 2000 Server (SP4)によるファイルサーバへ、Windows XP上のエクスプローラにてファイルコピーを実行したところ、エラーが起こった。
エラーの種類は一定しない。
いくつかのパターンを以下に記す。
- Windows XP側で、ネットワーク名は使用できないというエラーが発生し、コピーが中断される
- Windows XP側で、パス名が長すぎるというエラーが発生し、コピーが中断される (ただし、正常ケースではコピーが完了するので、実際にパス名が長すぎるという状況は無いと思われる)
- Windows XP側で、他のエラーが発生するパターンもあるが、きちんと記録を取っていないのでここに書き記すことは出来ない
- Windows 2000 Server側のイベントログに、イベント ID 2019「プールが空であるため、サーバーはシステムの非ページ プールから割り当てることができませんでした」のエラーが記録される
- Windows 2000 Server側のイベントログに、イベント ID 2012「サーバーはネットワーク エラーを検出しました」のエラーが記録される
また、ファイル転送が進むにつれ、以下の現象が発生する。
- Windows 2000 Serverが操作を受け付けなくなる (マウスを動かして、マウスポインタが動かないことがある)
- Windows 2000 Serverのファイルサーバとしての機能が応答しなくなる (ファイルの保存などを行うと、長時間待たされる)
再現条件の調査結果 §
以下の4つのマシンを使用した。
- tailmon (Pentium 4/1.5G)
- akane (Pentium III/450×2)
- kukuri (Pentium III/733)
- mint (Pentium 4/1.6G)
以下の組み合わせでファイル転送を試みた。
発生 | 転送元 | 転送先 |
---|
○ | tailmon(Windows XP SP2) | akane(Windows 2000 Server SP4) |
× | tailmon(Windows ME on VirtualPC/Windows XP SP2) | akane(Windows 2000 Server SP4) |
× | tailmon(Windows 2000 Workstation SP4) | akane(Windows 2000 Server SP4) |
× | tailmon(Windows XP SP2) | mint(Windows Server 2003 SP1) |
○ | kukuri(Windows XP 無SP) | akane(Windows 2000 Server SP4) |
× | kukuri(Windows 2000 Workstation) | akane(Windows 2000 Server SP4) |
発生に○印を付けた条件が、ここでいう問題が発生した組み合わせである。
ただし、実際にはもっと多くのケースでテストを行っている。(常駐ソフトの有無など)
また、たまたまエラー無く転送が通ってしまうケースもあるため、上記の表で×が付いたからと言って、確実に安全とは言えない。
もう1点補足すると、この作業中に別個の問題もいくつか浮上し、それに対する対策なども行っている。それらとの関係で、何か意図せざる錯誤が混入している可能性も考えられる。
考察 §
上記の表から、クライアント側はハードに関係なくWindows XP(無SPとSP2の相違と問わず)の場合に発生していることと、サーバ側はWindows Server 2003では発生していないことが読み取れる。
このことから、再現条件は、主にハードと関係なくOSの種類により規定され、Windows XPよりWindows 2000 Serverへのファイル転送で発生する可能性が濃厚であると推測される。
Windows XPでは無SPとSP2で発生していることから、サービスパックの有無やバージョンは関係ないことが推測される。サーバ側はサービスパックの相違によるテストを行っていないので、どの程度の影響があるかは不明である。
改善策(?) §
akane(Windows 2000 Server SP4)のNICを、3COM EtherLink XLよりIntel Pro/100+ Management Adapterに交換。スイッチングハブもPlanex FX-08SMCよりPlanex FX-08ISへ交換した。この交換の主目的は、この問題とは別個のトラブル解消ではあるが、これによって症状が若干改善されたという印象が残る。改善したというのは、エラーでファイルコピーが中断される頻度が減ったということである。しかし、サーバが一時的に応答しなくなる症状はやはり発生している。
症状の発生時期について §
少量の転送では発生しない問題であるため、問題が顕在化しにくいこともあり、いつからこの症状が発生しているかは不詳。
ただし、たまに不明の理由でソフトが固まって黙り込む(しばらく待つと復帰する)という現象に遭遇することはあり、数ヶ月、あるいはそれよりも前からこの現象が発生していた可能性は考えられる。
というわけで…… §
4~5日ほど、この問題に掛かりっきりになっていたので、やることが山積みになっています。完全な決着が付くまで調査を続けることもできないので、ここで一度調査を中断します。
という中断のケジメとしての文章がこれだったりするわけですね。