Windows Server 2003 R2の新機能により、サーバー間の自動同期を行うことができます。これをDFSレプリケーション(DFS-R)と呼びます。以下ではActive Directoryの利用を最低限に抑えて、可能な限り単純な形でDFS-Rを利用する方法について記述します。(関連日記 1、関連日記 2)
遅い回線(VPN等)で結ばれている支社間に2台のサーバーを設置してDFS-Rの設定を行えば、支社内ではローカルのサーバーを利用できるためレスポンスの改善を図ることが出来ます。ファイルの更新はサーバーが常に監視しており、バックグラウンドで常に同期が図られます。帯域が輻輳していなければ、単純な操作(ファイルを削除等)は5秒以内に反映されます。
DFS-Rの利用にはWindows Server 2003 R2が必要です。R2というのはService Packとは別の2003自体のバージョンのため、R2ではない2003にService Pack 2を当ててもR2と同等にはなりません。
DFS-Rの利用にはActive Directoryが必要となります。ネットワークにドメインで参加している場合はActive Directoryを利用していると判断できます。ワークグループで参加している場合はActive Directoryを利用していません。
※Active Directoryを利用している場合、この節は飛ばしてください。
Active Directoryを利用していない場合、2003をドメインコントローラとしてセットアップする必要があります。
【注意】ドメインコントローラとファイルサーバーを一台のマシンで運用すると、ファイルサーバーへのアクセスが遅くなるようです。そのためドメインコントローラは別のマシンにするか、サーバーをデュアルコアにするなどの対策が必要になるようです。
インストール直後に役割の追加を行うと、「最初のサーバーの標準構成」としてドメインコントローラとDHCPとDNSのインストールが行われます。
Active Directoryには自前のDNSサーバーが必要なためインストールされます。このDNSサーバーは内部用のため、プロバイダから提供される外部用DNSサーバーで代用することはできません。
DHCPサーバーもインストールされますが、これは通常ルーターが兼ねているため必要ありません。重複すると問題が発生するため、すぐに削除する方が無難です。
Active Directoryの機能は非常に多岐に渡り複雑です。今回はDFS-Rがメインのため詳細は省略します。ドメインコントローラをインストールしただけの状態では、単に名前の長いワークグループが使えるようになっただけだと考えて差し支えありません。
サーバーのみドメインに所属させて、クライアントはワークグループのままという運用は可能です。Windows XP Home Editionはドメインに参加できないため、Homeが混在する環境では必然的にそのような運用になります。
サーバーの役割の追加でファイルサーバーを選択します。
追加機能の選択でDFSレプリケーションを有効にします。
Windows組み込みのファイアーウォールが有効になっている場合、同期通信が遮断されてしまうため、コントロールパネルでファイアーウォールを無効にする必要があります。選択的にポートを開放するのは高度な設定が必要なため詳細は省略しますが、必要な場合はRPCのポートについて調べてみてください。
以上でレプリケーションが開始されます。ファイルが大量にある場合は初期レプリケーションに時間がかかることがあります。進捗状況はイベントビューアのDFSレプリケーションで確認することができます。
初期レプリケーションの開始はプライマリ側のイベントID 4112で確認できます。
DFS レプリケーション サービスは、 ローカル パス X:\xxx のレプリケート フォルダを 初期化しました。 このメンバは、このフォルダに指定されたプライマリ メンバです。
完了は受け側(プライマリ以外)のサーバーのイベントID 4104で確認できます。
DFS レプリケーション サービスは、 ルート パス X:\xxx のレプリケート フォルダの 初期レプリケーションを正常に完了しました。
初期レプリケーション完了確認後、双方でファイルを作成・変更・削除して同期されることを確認してから、実運用を開始してください。
レプリケーションはアクセス手段(ローカルで直接編集・ネットワーク共有経由等)に関係なく変更を検知します。
レプリケーションされているフォルダを共有する場合、DFSの機能で共有することもできますが、その場合クライアントもドメインに参加する必要があります。クライアントがXPのHomeでドメインに参加できない場合などでは、通常の共有をしておけばドメイン外のワークグループからもアクセスすることができます。この場合、レプリケーションと共有を別々に設定して同時に運用する形となります。