ラベル Windows の投稿を表示しています。 すべての投稿を表示
ラベル Windows の投稿を表示しています。 すべての投稿を表示

2011年7月28日木曜日

Windows移動プロファイル保管用ファイルサーバの移行

今回の顛末

  移動プロファイルを保管しているかなり古いWin2000Advancedサーバに不具合が
  発生し、移動プロファイルを新規に構築した仮想サーバへ移行する事になりました。

  移行元のサーバはかなりハードが劣化したWindows2000 Advanced Serverを
  運用中であり、移行先はWindows2003 R2 Standard、単なるファイルの移行
  だし、同一ADドメイン内の作業だから簡単~~とか考えていたら、これまたびっくりの
  泥沼にはまってしまいました。

普段からお世話になっている「RichCopy」では、管理者権限でも移行元のProfiles
フォルダを簡単には読み取れない(個別のユーザが所有している)ため、RUNASとか、
Backup権限のある別アカウントによるログインや、スケジュール起動などを試みても、
やっぱりダメでした。


移動プロファイルの移行に関して、MSから公開されたわかりやすい情報がありました。
  上記によりますと、アカウント毎のアクセス権などを取り扱えるソフトが必要という
  事で、WindowsBackupの利用が推奨されていましたが、如何せん古いサーバ
  なだけにバックアップ処理だけで8時間もかかってしまい、このままリストアを
  実行すると10時間を越えそうな勢い
なので、早々にWindowsBackupに見切り
  をつけ、他の手段を探しました。

移動ユーザープロファイルのデータを Windows Vista または Windows Server
2008 に移行するためのサポート ガイドラインが有り、少し調べてみた結果、
  USMT(ユーザ状態移行ツール)を利用して、各ユーザ毎に移行を行う方式のよう
  ですが、個別のユーザではなく、複数ユーザを一括して行いたい、今回の目的には
  合致しない
ようです。
  
  その意味でADMTを利用するような、ドメイン移行時のやり方も参考にはなりません

DFSによるサーバ間のフォルダ同期も試みました。
  しかし、残念ながらWindows2000とWindows2003R2間では、レプリケーション
  パートナーを構築できない(仕様?)ようで、Windows2003R2側のレプリケーション
  ウィザードが常に失敗
します。
  残念なことに、Windows2000側サーバはハード劣化が激しいため、Windows
  2000 側からのDFSレプリケーション設定は見送りました。
   →時間的な制約もあり、こちらは詳しく調べていません。

ファイルサーバ移行ツール(FSMT)の評価は、下記のような情報を参考に行いました。
  Microsoft File Server Migration Toolkit 1.2
  FSMT移行ツールでファイルサーバを移行する(基本編)

  DFS統合は、フォルダ同期に失敗している事もあり見送って、単純にフォルダ移行
  のみを実施。
  時間はかかるものの、FSMTはメニュー形式で実行できてよい感じですし、更新分
  のコピーも、コピー処理を何度か繰り返すことでデータ更新にも対応できました。
  ・・・しかし、Profilesフォルダの、ユーザ毎のセキュリティ情報を、FSMTで正しく
    復旧できません
でした。orz

  移動プロファイルはユーザ毎のセキュリティ情報が必須なので、これがないと移動
  プロファイルによるログイン時にエラーが生じてしまい、利用出来なくなります。

  結果的に、ファイルサーバ移行ツールによる移行方法もダメでした。

その他、下記の情報等を参考にSyncToyなどの、フォルダ同期関連ツールの評価も
試みましたが、全て失敗しました。
サーバ運用の基本に戻り、コマンドベースでRoboCopyによるProfilesの移行を
実施しました。
  robocopyでフォルダをバックアップ/同期させる
  ROBOCOPY のヘルプ

  アクセス制限を回避するため、バックアップモードで少し試してみると、アカウント
  毎のセキュリティ情報の設定複写も含めて、本来の要望に沿った、移動プロ
  ファイルの移行が実現できました。

  ⇒ こんな感じで実行。
    robocopy \\source-svr\profiles \\dist-svr\profiles /MIR /B
           /COPYALL
/LOG:C:\work\log001.log
  現環境でRoboCopyによる移行は、初期データ移行に約6.5時間、日次更新分
  移行には約0.5時間と、ほぼ納得できる実行結果を手にしていました。

  ★ところが、robocopyでも、ファイルサーバ移行ツール(FSMT)と同様に、
   ユーザ毎のセキュリティ情報を正しく復元出来ないケースが一部に見られた
   ため、時間的な制約からrobocopyによる移行を断念しました。orz
  →既存ファイルのセキュリティ情報書き換えなどに難?があるようで、
   Windows2003R2環境では、おそらく不可能なのかも知れません・・・
   (時間が無いので未検証です)

最終的に成功した手段は、冒頭に記載した「WindowsBackupの利用」でした。
  時間はかかりましたが、きっちりと動作します。
  しかし、復元スピードは凄く遅くて、移行作業時間が長引いている関係で焦りました。

  けれど、上記WindowsBackup以外の既知の手段すべてに失敗していたため、
  成功した時の喜びもかなり大きなものでした。
  (が、この時点で、お客さんにはタップリ嫌味を言われて、魂がしばらく抜けた・・・)

取りあえず、今回の難題も足掻きまくって何とか乗り切りました。(汗)

教訓:迷った時は、基本に立ち戻ろう。

何日間か、orzな日々を過ごしたのであります・・・(涙)


2011年4月19日火曜日

Hyper-V2.0配下での、GuestOSの時刻同期

比較的廉価なサーバを3台以上使用し、Windows2008R2 でクラスタを構築し、Hyper-V2.0による仮想サーバでドメインを構築しておられる方は、本番環境以外にも、MSDN や Technet の評価用ライセンスを利用した、自己研鑽のための評価用環境を含めれば結構多いかと思います。

ここで、ドメイン認証サーバに関しては、下記URLにある通り、MSのサジェスチョンに従って、Hyper-V2.0の統合機能から、「時刻同期」機能を「OFF」にして運用していられると思いますが、Guest OS に関しては如何でしょうか?

私が構築した、お客様へ納入した仮想サーバの評価用環境では、5台の廉価版サーバを用いて、認証サーバ2台、Windows2008R2 DataCenter x64 クラスタノード用物理ホスト3台として構築し、認証サーバは敢えてWindows2008 Enterprise SP2 x64 を導入して、Microsoft iSCSI を例の方法で修正して認証サーバへ導入し、iSCSIサーバと兼用しています。

で、2台の物理認証サーバはクラスタ構築専用に特化して構築しており、業務評価用の認証サーバは全て仮想環境へ構築してしています。
先ず、最初は、認証サーバの時刻同期が、必ず失敗する原因が不明でしたが、下記URL②③のサジェスチョンに従って、仮想ゲストOS側の設定で Hyper-V2.0統合機能から、「時刻同期」を「OFF」にする事で、外部のNTPサーバ(MFEEDやNICT)などと同期が行えました。

http://technet.microsoft.com/ja-jp/virtualization/gg491389
http://support.microsoft.com/kb/976924/ja
http://technet.microsoft.com/ja-jp/library/dd348449(WS.10).aspx

ところが、今度は、Windows2003R2SP2で構築した、仮想メンバサーバ側で認証サーバと時刻同期が不可能となります。

1.サーバ再起動後または、W32TIMEサービス再起動後は、時刻同期に必ず成功する。
①正副何れかの認証サーバへ、正常に同期する。
②「VM IC Time Synchronization Provider」と、正常に同期する。

2.しかし、翌日以降は時刻同期に連続して失敗し、イベントログへ以下のログが記録される。
①イベントID:24 ソース:W32TIME
タイム プロバイダ NtpClient: ドメイン コントローラ
xxxxx.hogehoge.local へのアクセスを 8 回試行しましたが、
有効な応答が得られませんでした。このドメイン コントローラは、
タイム ソースとしては破棄され、NtpClient は同期先となる新しい
ドメイン コントローラの 発見を開始します。
②イベントID:29 ソース:W32TIME
1つまたは複数のタイムソースから時間を取得するようにタイム
プロバイダ NtpClient は 構成されていますが、どのソースも
現在アクセスすることはできません。 ソースへのアクセスの試行は、
あと 15 分間実行されません。
NtpClient が正しい時間を 参照できるソースがありません。

そうです。見事に失敗します。しかも、延々と・・・

お客様環境でも同様の状態であり、彷徨い続けること数ヶ月ほど・・・そうすると、上の啓示を得たのです。(大げさですね)

http://serverfault.com/questions/24298/w32time-sync-problems-for-hyper-v-guests-w32time-event-ids-38-24-29-35
http://social.technet.microsoft.com/Forums/ja-JP/hypervja/thread/a04f9b1c-4ad3-4881-a66b-8899e0a80944/
http://ja.w3support.net/index.php?db=sf&id=24298

はい、認証サーバと同様に、仮想ゲストOS側の設定でHyper-V2.0統合機能から、「時刻同期」を「OFF」にする事で、仮想メンバサーバも無事に認証サーバと時刻同期ができました。

それにしても、URL①で、次のような記述があり「ドメイン環境で時刻遅れは不味いよね」と思って、統合機能側の「時刻同期=ON」にしていたと言うのに・・・

ヒント: Hyper-V 仮想化環境におけるゲスト OS の時刻同期について
>Hyper-V では、ゲスト OS の時刻を進めるためのClock tick を Hypervisor 内で
>エミュレートしております。
>このため、Hypervisor の負荷が高い場合など、ゲスト OS が Clock tick を失う
>可能性があります。
>Clock tick を失うことによってゲスト OS は時々時刻を進められ
>なくなるため、Hypervisor 型の仮想化環境におけるゲスト OS は
>総じて時刻が遅れやすい状態にあります。

普通、上記のように書いてあれば、時刻同期をONにしますって・・・
結局、Standalone 環境限定で、時刻同期をHyper-Vサーバ側にお任せする、とかの補記が欲しいと思うのは、私だけなんでしょうかね?

2008年12月18日木曜日

Windows2003R2SP2、ページプール、非ページプール改善

長らくサボってたから、もうひとつネタを追加(^^)v

主流の32ビット版Windows2003サーバの負荷低減や、仕様(バグ)改善となるHotFixを適用してみました。

実際の利用時には、下記KB№をもとに、以下のURLから入手して、十二分に評価してご使用下さい。
  http://support.microsoft.com/kb/該当するKB№/

1.KB928006 Windows Server 2003 で [STOP-0x0000007f] エラー メッセージが表示される、またはコンピュータが自動的に再起動する(必須)

  リモートデスクトップ不具合に関するHotFixで、リモートデスクトップ接続時に、意図しない
  サーバ再起動が発生する問題を修正します。
  ⇒実際には、非ページプール、ページプールを無限に消費するバグの対策です。

2.KB932755 Win2k3-SP2用Storport更新(必須)

  HBA(HostBusAdpter)用ドライバの不具合を修正します。
  なお、HP社製サーバに関しては、SmartStart7.90以降の適用が事前に必要です。
  ★MSより、HP社製サーバのPSP最新版適用必須と、アナウンスが変更されました。
   ★2008/08/29現在の留意点★
    SmartStart8.00以降がリリースされているが、SmartStart7.9xまでと動作が異なるため、
    動作検証が完全に終了していない。
    サーバ納入時にSmartStart8.20A以降が導入されていない限り、SmartStart7.9xまでが安全。
  ⇒実際には、非ページプール、ページプールを無限に消費するバグの対策です。


3.KB936357 Intel プロセッサ用の信頼性向上マイクロコード更新(必須)

  Intel製プロセッサの不具合(バグ)を、Windows起動時に訂正するHotFixです。
  全てのサーバに対して、適用が必要となります。
  ⇒Intel系プロセッサのハード設計ミスに対するバグ修正です。
   LinuxやFreeBSDでも、利用者が知らない所で、OS起動時に自動適用しています。

4.KB940349 Win2k3-SP2用VSS更新(必須)

  VSS(ボリュームシャドウコピー)不具合を修正する、MS推奨の一括修正Moduleとアナウンスが
  変更されました。
  BackuupExecやCPSなど、バックアップソフトなどの利用時は、必須適用となります。
 
  ⇒実際には、非ページプール、ページプールを無限に消費するバグの対策です。
   VSSはまだまだバグが多いので、大量のバックアップ実行時など、
   すぐにリソースを食い尽くし、意図しない再起動などを招きます。

5.KB937455 NTFSドライバの不具合修正モジュール(必須)

  とあるWindows2003サーバにて、本件不具合により、
  DISK上のデータやOS部分が破損する障害が発生した。

  ⇒負荷の多いサーバで、発生する傾向が多いようです。
   低負荷のサーバには、特に適用する必要はありません。

6.KB931311 Winsockメモリ枯渇対応パッチ

  ネットワーク負荷が高いサーバで、Winsock(Windowsソケットモジュール)が非ページプール領域を
  大量に消費する不具合(バグ)を解消するためのパッチ。

  ⇒負荷の多いサーバで、発生する傾向が多いようです。
   低負荷のサーバには、特に適用する必要はありません。

7.KB943295 iSCSIなどサポート用StorPort機能拡張(選択適用)

  iSCSIやファイバーチャネル使用時に、StorPort.sysを使用せず、仮想ミニポートドライバを
  使用するようWindows2003の仕様を変更します。
   結果的に、iSCSIやファイバーチャネルへのアクセスが効率化され、レスポンスが改善されます。

   ★適用対象:iSCSIやファイバーチャネル(FC)を使用するWindows2003サーバ


などです。

PoolMon.Exeで、HotFix適用前後を比較して頂ければすぐに分かりますが、大体50%以下にまでリソース消費量が提言すると共に、サーバの安定度が飛躍的に向上します。

Windows2003:単一インスタンス記憶域(SIS)って嫌い

単一インスタンス記憶域 (SIS⇒Single Instance Storage)とは・・・

「Windows2003 Storage Server R2」で提供された、重複ファイルを排除して
データを保存する技術らしい。。。
⇒ http://itpro.nikkeibp.co.jp/article/USNEWS/20060411/235048/

ただし、クォータを利用した、DISK領域管理と共存できません。
⇒ http://support.microsoft.com/kb/911448/ja

また、SIS機能を削除すると、重複データに対するリンクが失われ、データが消失
して復旧不可能となります。(何らかのDISK不具合で、SIS領域が消えても同様)
⇒ http://support.microsoft.com/?scid=kb%3Bja%3B299726&x=13&y=13

その他、SISを適用したサーバ高負荷時に、意図しないサーバ再起動が発生するなど、
種々の不具合があり、また実機評価を十二分に行わなければ、安定した運用を
提供し難い面があるため、利用しない事を推奨します。

★不具合発生時事例のURL
 http://support.microsoft.com/kb/932198/ja
 http://support.microsoft.com/kb/913109/ja
 http://support.microsoft.com/kb/950310/ja
 http://support.microsoft.com/kb/893541/ja
 http://support.microsoft.com/kb/911883/ja
 http://support.microsoft.com/kb/817771/ja

参考まで、MSサイトで「2003 SIS」で検索すると、山のような不具合が表示され・・・orz
 ⇒ http://support.microsoft.com/search/default.aspx?query=2003+sis&mode=r&catalog=LCID%3D1041

悪夢の定番、IndexServiceとか、DesktopSearchとか、VSSとか、BackupExec(CPS)とか、ArcServとか、、、記憶域や、ページプール領域で不具合起こすサービスなんか要らないよね(--〆)
#Backupなら、Robocopyか、BunBackupが、高額の商業製品より安定してて便利だよね・・・(汗