OS 起動時に DFS Namespace サービスが起動失敗して停止した場合、DFS パス配下のファイル書き込み時にアプリケーションによっては DFS 名前空間サーバーが切り替わらない

現象

DFS 名前空間サーバーにて、OS 起動時に DFS Namespace サービスの起動に失敗し、サービスが停止している状態を想定します。

また、名前空間のルートの共有アクセス権に書き込み権限が付与されている状態とします。

この状態において、アプリケーションから DFS パス配下のファイルへの書き込みが行われると、「パスが見つかりません」のエラーが発生します。

この状況では、アプリケーションによってはエラーとなり、DFS 名前空間サーバーが複数存在する環境であっても DFS 名前空間サーバーの切り替えが行われない場合があります。

 

詳細

DFS 名前空間サーバーにて、OS 起動時に DFS Namespace サービスが起動せず停止している状況では、アプリケーションの動作によって以下のエラーを応答および DFS 名前空間サーバーの切り替え動作となります。

dfs2

DFS パスにアクセスするアプリケーションによってファイルの参照が行われる場合は、事前に DFS 名前空間のパスへのアクセスを行います。

この DFS 名前空間のパスへのアクセスに対して、STATUS_OBJECT_PATH_NOT_FOUND エラーを受信した場合は DFS 名前空間サーバーの切り替えが行われます。

また、DFS パス配下のファイルへの書き込みが行われる場合につきましては、DFS 名前空間サーバーの切り替えは行われませんが、その後のアプリケーションの動作によってエラーとならず DFS 名前空間サーバーの切り替えが行われるものもあります。

たとえば、echo コマンド等で DFS パス配下のファイルに書き込みを行うと (例 : echo test > \\Contoso.com\Namespace\Folder\test.txt)、エラーとなり DFS 名前空間サーバーの切り替えは行われません。

しかし、移動ユーザー プロファイルでユーザー プロファイルをロードする場合では、Profile サービスがDFS パス配下のファイルへの書き込みで STATUS_OBJECT_PATH_NOT_FOUND エラーを受信してもエラーとせず、その後に DFS 名前空間のパスへアクセスを行なうため、DFS 名前空間サーバーの切り替えが発生します。

 

回避策

OS 起動時に DFS Namespace サービスの起動に失敗した状況で、DFS 名前空間の切り替えを行うには以下の運用回避策が有効です。

・OS 起動後、sc コマンド等により DFS Namespace サービスの起動状態を確認し (例 : sc query dfs)、停止している場合は OS をシャットダウンする。

・DFS Namespace サービスの起動に失敗した DFS 名前空間サーバーの DFS の紹介を無効化する。

 

参考情報

複数台の DFS 名前空間サーバーが稼働する環境において、DFS 名前空間サーバーの障害時に他のサーバーへ切り替えが発生するシナリオには、以下があります。

 

・DFS 名前空間サーバーの OS が停止している状態など、クライアントからのアクセス時に応答を返せない状況

・ネットワーク障害などで、DFS 名前空間サーバーへ通信不可となり応答が返せない状況

 

これらの DFS 名前空間サーバーの切り替えシナリオにつきましては、以下の公開情報でも公開されております。

 

How DFS Woks

https://technet.microsoft.com/en-us/library/cc782417(v=ws.10).aspx

 

「What Happens During Failover」 の項目をご参照ください。

※上記公開情報の 「What Happens During Failover」 項目内にある “Note” は 2017 年 3 月に追記しております。

なお、OS起動時に DFS Namespace サービスが起動失敗したシナリオについては DFS 名前空間サーバーの切り替えはサポートされておりません。

 

補足

・本記事は DFS パス配下のファイル (例 : \\Contoso.com\Namespace\Folder\test.txt) にアクセスする場合に生じる現象となります。

DFS 名前空間のパス (例 : \\Contoso.com\Namespace) にアクセスする場合は DFS 名前空間サーバーの切り替えが行われます。

 

・OS 起動後に一度でも DFS Namespace サービスが起動した場合は、その後にサービスが停止しても DFS パス配下のファイルの書き込み時に DFS 名前空間サーバーの切り替えが行われます。

 

・本記事のシチュエーションにおいて、名前空間のルートの共有のアクセス権に書き込みの権限がない場合はアクセス拒否のエラーとなります (関連記事参照)。

 

関連記事

リンク:

https://blogs.technet.microsoft.com/jpntsblog/2017/05/15/%e7%a7%bb%e5%8b%95%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc-%e3%83%97%e3%83%ad%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ab%e3%81%8a%e3%81%84%e3%81%a6%e3%83%97%e3%83%ad%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab/?preview\_id=3425\&preview\_nonce=dddf1f78ec&\_thumbnail\_id=-1\&preview=true