インフラ技術ブログ:Windows2012サーバートラブル編
こんにちは!
情報システム部インフラ担当のアンドウです。
前回は、「Windows2012でファイルサーバーを構築しよう(運用編5)」でBackup Execについてお伝えしました。
今回は、ファイルサーバー構築後の運用トラブルについてお話しします。
DFSRトラブルについて
冗長化を図るために「DFSR」でファイル サーバーを構築しているのに、複製対象の一部のファイルが正しく複製されず、「片方のサーバーにしかファイルがない」 と言った事になっていませんか。
一部のファイルだけが複製されない場合
「DFSR」の動作に問題がない場合、ファイル自体の属性に問題が有る場合があります。
一部のファイルだけが複製されない場合にまず考えられることとして、該当ファイルが一時ファイルになっているケースがあります。
「.tmp」などの拡張子を持つ一時ファイルは、「DFSR」の複製対象となりません。
それ以外にも「EFS(Encrypting File System)」で暗号化されているファイルなども「DFSR」の複製対象外となります。
ファイル属性を調べるコマンドは以下の通りです。
fsutil usn readdata ファイル名
「fsutil」を使用するには、管理者またはAdministratorsグループのメンバーとしてログオンする必要があります。
ファイル属性が「0x1XX(XXは可変)」の場合、一時属性 (FILE_ATTRIBUTE_TEMPORARY 属性) ファイルです。
例)
ファイル属性が「0x20」の場合、バックアップ未実施一般ファイルです。
このファイルが、一時属性を持つとファイル属性が「0x120」となります。
0x1 :読み込み専用属性
0x2 :隠しファイル属性
0x4 :システムファイル属性
0x10 :ディレクトリ属性
0x20 :アーカイブ属性
0x80 :ファイル属性を持たない
0x100:一時ファイル属性を示す定数
0x800:圧縮属性を示す定数
一時ファイル属性を持たないファイルを作製するためには
1)robocopy.exe を使用して、一時ファイル属性が設定されているファイルを一度 DFSR 複製対象ではないフォルダに、一時ファイル属性を外した状態でコピーします。このときに別のフォルダではなく、オリジナルのファイルがあるフォルダにコピーしても一時ファイル属性は外れませんので注意が必要です。
robocopy コピー元 コピー先 /A-:T
※ オプションの「/A-:T」は、コピーされたファイルから「T(FILE_ATTRIBUTE_TEMPORARY)」の属性を削除します。
2)fsutil.exe を使用して一時ファイル属性が外れていることを確認します。
3)コピー元のファイルを削除します。
4)一時ファイル属性が外れているファイルをコピー元にコピーします。
レプリケーションが正常に動作しない場合
「フォルダーA」は正常動作していますが、「フォルダーB」は正常動作していない場合。
両方のサーバーでファイルとフォルダーの数が異なっていますが、レプリケートされていません。
「DFS-R」はチェックサムを比較しファイル構造を調べています。
以下は、「DFS Replication」のログの例です。
ログの名前: DFS Replication
ソース: DFSR
日付: 2019/06/23 5:02:27
イベント ID: 4004
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: サーバーA:Windows Server 2012
説明:
DFS レプリケーション サービスは、ローカル パス D:XXXXXX のレプリケート フォルダーに対するレプリケーションを停止しました
追加情報:
エラー: 9098 (Tombstone (廃棄) 済みコンテンツ セットの削除がスケジュールされています)
この状態になると、何日たってもレプリケーションは開始されません。
この場合は「DFSRデータベース」をクリアし、DFSRの構築をやり直す必要があります。
「DFSRデータベース」は「System Volume Information」ディレクトリを内に有ります。
「System Volume Information」ディレクトリを参照できるようにするには、「隠しファイル、フォルダ、またはドライブを表示する」オプションを選択し、さらにフォルダ表示オプションで「保護されたオペレーティングシステムファイルを隠す」のチェックを外します。
ログインしているユーザーアカウントに、「System Volume Information」ディレクトリへの 「フルコントロール」が有れば問題ありません。
セキュリティを変更すると、ファイルによってはエラーが発生することがあります。
作業を開始する前に、必ずボリュームをフルバックアップしてください。
念のため、レプリケーションしている両方のサーバーで行います。
作業手順は以下の通りです。
1) DFSRの構成を削除します。
2) DFSRサービスを停止します。
3) フォルダーオプションで以下のように変更します。
※ 隠しファイル、隠しフォルダー、および隠しドライブを表示します。
※ 「保護されたオペレーティングシステムファイルを表示しない(推奨)」チェックを外します。
4)「System Volume Information」フォルダーへ現在ログオンしているユーザーをフルコントロールで追加します。
※ セキュリティの適用時、警告メッセージが表示されましたが無視して続行します。
5) コマンドプロンプトを管理者として実行します。
6)「System Volume Information」フォルダーへ移動します。
cd D:System Volume Information
7)「DFSR」フォルダー内の全てのファイルを削除します。
rmdir DFSR /s
※ 「パス *.frxが長すぎます。」のメッセージ表示されて削除出来ない場合は、以下の方法で削除を行います。
①D:System Volume Informationをエクスプローラーで開きます。
②最下層のフォルダーを共有機能でフォルダーのエイリアスを行い、ネットワークから削除します。
上記作業をレプリケーションしている両方のサーバーで行います
8)DFSRサービスを開始します。
9)DFSRを再構築します。
※ エラーの出ていない既存のレプリケーション(同じボリュームに有るもののみ)も削除して再作成する必要が有ります。
10)変更したセキュリティを元に戻します。
※ セキュリティの適用時、警告メッセージが表示されましたが無視して続行します。
結構、面倒な作業でした。
時間は掛かっても、もっと簡単方法はないか・・・・。
「System Volume Information」の中身が消えればいいのですから、「ボリューム」ごと消してしまえば簡単です。
作業手順は以下の通りです。
1)DFSRの構成を削除します。
2)DFSRサービスを停止します。
3)ボリュームを削除します。
4)ボリュームを再作成します。
上記作業をレプリケーションしている両方のサーバーで行います
5)フルバックアップから「System Volume Information」以外を復元します。
※ 必要があれば、もう一方のサーバーとマージします。
6)DFSRサービスを開始します。
7)DFSRを再構築します。
※ エラーの出ていない既存のレプリケーション(同じボリュームに有るもののみ)も削除して再作成する必要が有ります。
手作業は少なくなりますが、その分、復元時間は長くなります。
システム運用・管理サポートサービス
弊社では、お客様の抱えているシステムの問題について全て当社が対応いたします。また、今後、システムの導入を検討もしくは、入れ替えを検討されているお客様につきましては、最適なハードウェア・ソフトウェア・ネットワーク等を当社からご提案いたします。
詳しくはこちらをご参照ください。