データベースは、オブジェクトの追加・削除が繰り返されることによって、徐々に断片化されていってしまう。
断片化するとパフォーマンスが低下するため、最適化が必要。最適化の方法は、オンライン最適化とオフライン最適化がある。
・オンライン最適化
ActiveDirectoryDcomainServiceの稼働中に自動的に行われる最適化処理のこと。
ガベージコレクションというバックグラウンドプロセスの際に、自動的に12時間ごとに実行される。
オンライン最適化では、データベースファイルのサイズは小さくならないが、データベース内の空き領域が大きくなる。
ガベージコレクションは、保存期間が過ぎた削除済みオブジェクトをデータベースから完全削除し、最適化する処理のこと。
ドメインコントローラ―間のレプリケーションの遅延を考慮して、オブジェクトを削除しても、削除マークをつけた状態でデータベースに格納し続ける。
・オフライン最適化
ActiveDirectoryDomainServiceを停止した状態で行う最適化処理のこと。
データベースは自動的にオンライン最適化されるから、基本的にはオフライン最適化を実行する必要はない。
オフライン最適化は、データベースファイルの物理サイズを小さくしたいときに実行する。
例えば、グローバルカタログサーバーとして構成したサーバーを、通常のドメインコントローラーに変更した場合、今までグローバルカタログ用に使用していたデータベース内の領域が不要になる。
このような不要な領域を削除するときにオフライン最適化を行う。
①ActiveDirectoryDomainServiceを停止
②ntdsutil.exeを実行し、FilesコマンドのCompact Toサブコマンド
③最適化後のntds.ditをActiveDirectoryデータベースパスにコピー
④ActiveDirectoryDomainServiceをを開始
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# ActiveDirectoryDomainService停止 C:\Users\Administrator>net stop ntds 次のサービスは Active Directory Domain Services サービスに依存しています。 Active Directory Domain Services サービスを停止すると、これらのサービスも停止されます。 Kerberos Key Distribution Center Intersite Messaging DNS Server DFS Replication この操作を続行しますか? (Y/N) [N]: Y Kerberos Key Distribution Center サービスを停止中です. Kerberos Key Distribution Center サービスは正常に停止されました。 Intersite Messaging サービスを停止中です. Intersite Messaging サービスは正常に停止されました。 DNS Server サービスを停止中です. DNS Server サービスは正常に停止されました。 . DFS Replication サービスは正常に停止されました。 Active Directory Domain Services サービスを停止中です. Active Directory Domain Services サービスは正常に停止されました。 # ntdsutilを起動し、適当なフォルダ「compact to c:\temp\」を対象にする C:\Users\Administrator>ntdsutil ntdsutil: activate instance ntds アクティブ インスタンスが "ntds" に設定されました。 ntdsutil: files file maintenance: compact to c:\temp\ 最適化モードを起動しています... ソース データベース: C:\NTDS\ntds.dit ターゲット データベース: c:\temp\ntds.dit Defragmentation Status ( omplete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... このデータベースの完全なバックアップを今すぐ作成する ことをお勧めします。最適化の前に作成されたバックアップ を復元すると、データベースはそのバックアップ時の状態に ロールバックされます。 圧縮に成功しました。次のコマンドで、ファイルのコピーと古いログ ファイルの削除を 実行してください: copy "c:\temp\ntds.dit" "C:\NTDS\ntds.dit" del C:\NTDS\*.log file maintenance: quit ntdsutil: quit # 「C:\temp」にファイルができている C:\Users\Administrator>dir C:\temp ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 826F-8115 です C:\temp のディレクトリ 2018/06/20 04:51 <DIR> . 2018/06/20 04:51 <DIR> .. 2018/06/20 04:51 25,165,824 ntds.dit 2018/06/20 04:51 16,384 ntds.jfm 2 個のファイル 25,182,208 バイト 2 個のディレクトリ 51,007,913,984 バイトの空き領域 # ActiveDirectoryデータベースフォルダにコピー C:\Users\Administrator>xcopy c:\temp\ntds.dit c:\NTDS\ntds.dit C:\NTDS\ntds.dit を上書きしますか (Yes/No/All)? Y C:\temp\ntds.dit 1 個のファイルをコピーしました # ActiveDirectoryデータベースフォルダ内のログを削除 C:\Users\Administrator>del c:\NTDS\*.log # ActiveDirectoryDomainService開始 C:\Users\Administrator>net start ntds Active Directory Domain Services サービスを開始します. Active Directory Domain Services サービスは正常に開始されました。 |