ドメインコントローラーが不適切なシャットダウンの後にUSNロールバックを検出するのはなぜですか?


8

私は、このWindows Server 2008 R2ドメインコントローラーを、物理的なDellサーバー、モデルPowerEdge R510で実行しています。

このあたりにはいくつかの電気的な問題があるため、残念ながら停電はよくあることです。UPSはありますが、本来の信頼性がなく、サーバーが正常にシャットダウンされない場合があります。

何らかの理由で本当に理解できません。時々、この特定のDCは、クリーンでないシャットダウンの後に表示され、USNロールバックに遭遇し、降格して昇格させる必要があります。

サーバーは物理サーバーであり、スナップショット、クローン作成、および/または復元が実行されたことがないため、これはまったく意味がありません。また、追加のソフトウェアはインストールされていません。DCの機能のみを実行します。具体的には、クローン/リカバリ/ソフトウェアが何であれ存在しません。

ファイルシステムの破損は少なくともある程度は理にかなっていますが、サーバーを以前の状態に戻す方法がないため、USNロールバックは実際には意味がありません。ただし、これは過去2か月間に少なくとも3回発生したため、1回限りのクレイジーなイベントではありませんでした。しかし、私は完全に説明をすることができません。

この問題の理由は何でしょうか?


3
それが実際にUSNロールバックであるとどのくらい正確に判断しましたか?
Mathias R. Jessen 2013年

HKLM\System\CurrentControlSet\Services\NTDS\Parameters\DSA not writable= 4
Massimo

非常に良い質問です。私はそれについて数時間考えてきました。まだわかりません。しかし、ちなみに、サーバーで頻繁に停電が発生すると予想しているため、すべてのボリュームで書き込みキャッシュがまだオフになっていることを確認しましたか?dcpromoを実行すると、これがデフォルトであることはわかっていますが、オーバーライドできます。書き込みキャッシュをオンに戻していないことを確認したいだけです。
Ryan Ries 2013年

書き込みキャッシングについてはおおよその推測です。システムキャッシュとは別に、サーバーにはハードウェアRAIDコントローラーがあるので、それもチェックする必要があります。明日お見せします。
Massimo

回答:


6

今日は数時間考えました。少し困惑しますが、私のコメントで示したように、停電/ダーティシャットダウンによってキャッシュの内容が消去される前に、何らかのディスクキャッシュがディスクにコミットされていない可能性があります。 ...または、ntds.ditが格納されているRAIDボリュームで実行しているため、停電が原因で、たとえ少しでも、RAIDボリュームが一時的に壊れたり、一貫性がなくなったりする場合があります。

USNロールバックのパーティーラインは、DCが以前の状態に復元されたときであることがわかっています。クラシックな例は、仮想化されたDCをスナップショットから復元しています。当てはまらないことはわかっていますが、書き込みキャッシュを備えたディスクの場合でも、ディスク上に物理的に存在するデータは、「以前の状態」を含むと考えることができます。 DCの最新の状態が実際に含まれているのは... 2つの状態が0.5秒しか離れていない場合でもです。

マイクロソフトからのこれらのコメントを反省する:

仮想化ドメインコントローラーのガイドライン

仮想SCSIディスクは、仮想IDEと比較してパフォーマンスが向上し、強制ユニットアクセス(FUA)をサポートします。FUAは、オペレーティングシステムがメディアから直接データを読み書きすることを保証し、あらゆるキャッシュメカニズムをバイパスします。

あなたのDCがVMではないことは知っていますが、その概念は依然として適用されます。ディスクキャッシングとDCは混在しません。そのため、Active Directoryをインストールすると、書き込みキャッシュがWindowsポリシーとしてオフになりますが、ハードウェアRAIDコントローラーなどでキャッシュメカニズムを使用できます。

シナリオB:壊れたミラー内の他のドライブからActive Directoryを起動する

  1. ドメインコントローラを昇格させます。ミラードライブ上のNtds.ditファイルを見つけます。

  2. 鏡を壊しなさい。

  3. ミラーの最初のドライブにあるNtds.ditファイルを使用して、インバウンドレプリケートとアウトバウンドレプリケートを続行します。

  4. ミラー内の2番目のドライブにあるNtds.ditファイルを使用して、ドメインコントローラーを起動します。

これは、RAID 1ボリュームを持つ物理的なDCで私を悩ませてきたレプリケーションキラーです。個人的に実際にUSNロールバックが発生したことはありませんが、そのDCでのレプリケーションが強制終了されます。つまり、2つのディスクで構成されるRAID 1ボリュームを想像してみてください。1ドライブが死ぬ。それを取り外し、新しいドライブを挿入します... aaaaaaand DSA Not Writable。

AskDSブログから:

VMホストまたはActive Directoryデータベースが存在するストレージディスクに無停電電源装置(UPS)がない場合は、仮想マシンのホストコンピューターで書き込みキャッシュが無効になっていることを確認してください。追加のガイダンスについては、このリンクを参照してください。逆に、DCをホストするVMホストで書き込みキャッシュを有効にしておく必要がある場合は、DCへの損傷を避けるためにUPSをインストールします。

ここでも、仮想化されたDCについて説明していますが、ディスクキャッシュの概念は物理的なDCにも適用されます。

だから私の考えがあります。ストレージシステムと関係があると思います。特に停電が発生しやすい場合は、少なくともntds.ditボリュームですべてのキャッシュメカニズムを無効にしたいと考えています。


2
まさに私の考え。アレイアダプターのキャッシュを書き込みますが、バッテリーバックアップはありません。それに対して0.05ポンドを賭けるでしょう:-)
Simon Catlin

1
RAIDコントローラで書き込みキャッシュが実際に有効になっていて、OSが自動的に無効にすることができませんでした。私は手動で無効にしたので、これで問題が解決したと思います。この構成がその根本的な原因である可能性が非常に高いです。
Massimo

いいね!UPSが改善されるまで、それで十分です。;)
Ryan Ries 2013年

確認済み:(バッテリバックアップではない)書き込みキャッシュが物理ディスクコントローラーで無効にされた後、問題は二度と発生しませんでした。
Massimo

@Massimo 4年後にこれを確認するために戻ってきたのが大好きです。:)
ライアンリース2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.