FSMO(エフエスエムオー)とは | 意味や読み方など丁寧でわかりやすい用語解説
FSMO(エフエスエムオー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
フレキシブルシングルマスターオペレーション (フレキシブルシングルマスターオペレーション)
英語表記
FSMO (エフエスエムオー)
用語解説
FSMOは「Flexible Single Master Operations」の略称で、Active Directory環境において、複数のドメインコントローラーが存在する際に、特定の操作について一貫性と整合性を保つための特別な役割群である。Active Directoryは通常、マルチマスターモデルを採用しており、ほとんどのデータは複数のドメインコントローラー間で自由に書き込み・複製される。しかし、一部の操作では同時に複数のドメインコントローラーが書き込みを行うと競合が発生し、データの不整合や破損につながる可能性がある。例えば、Active Directoryの設計図である「スキーマ」の変更や、新しいドメインの追加といった操作では、同時に複数のドメインコントローラーが異なる変更を書き込むことを防ぐ必要がある。この問題を解決するため、FSMO役割を持つドメインコントローラーだけが、その特定の操作を実行する唯一の「マスター」となる。これにより、Active Directoryの健全性と安定性が維持され、環境全体の整合性が保たれる。FSMOはWindows ServerのActive Directoryに不可欠な機能であり、その適切な理解と管理は、システムエンジニアがActive Directory環境を運用する上で非常に重要となる。
FSMOには合計5つの役割があり、それぞれ異なる機能と適用範囲を持つ。これらの役割は大きく2種類に分けられ、Active Directoryフォレスト全体で1つのみ存在する「フォレストワイド」の役割と、Active Directoryドメインごとに1つ存在する「ドメインワイド」の役割が存在する。
フォレストワイドの役割は以下の二つである。
一つ目は**スキーママスター (Schema Master)**である。Active Directoryスキーマは、Active Directoryに格納できるオブジェクトの種類(ユーザー、グループ、コンピュータなど)や、各オブジェクトが持てる属性(名前、メールアドレス、パスワードなど)の定義を規定する設計図のようなものである。スキーママスターの役割を持つドメインコントローラーは、このスキーマに対する変更(例えば、新しいアプリケーションが使用する属性を追加するなど)を唯一許可する。スキーマはActive Directoryの根幹を成すため、その変更は非常に慎重に行われ、通常、頻繁に行われるものではない。このため、スキーママスターは日常的な運用で常にアクセスされるわけではないが、その可用性は極めて重要である。フォレスト全体で1つのみ存在する。
二つ目は**ドメイン名前付けマスター (Domain Naming Master)**である。この役割を持つドメインコントローラーは、Active Directoryフォレスト内でのドメインの追加や削除、フォレスト内のドメイン間の信頼関係の確立を管理する。ドメイン名前付けマスターは、フォレスト全体にわたってドメイン名の重複がないことを保証し、新たなドメイン名の登録を制御する。新しいドメインの作成や既存ドメインの削除は、比較的稀な操作であるが、この役割がなければフォレストの構造を変更することができなくなる。フォレスト全体で1つのみ存在する。
ドメインワイドの役割は以下の三つである。
一つ目は**PDCエミュレーター (PDC Emulator)**である。これはドメインワイドのFSMO役割の中で最も重要で、頻繁にアクセスされる役割である。PDCエミュレーターは、主に以下の機能を提供する。ユーザーがパスワードを変更すると、その変更要求はまずPDCエミュレーターに送信され、そこから他のドメインコントローラーに迅速に複製されることで、パスワードがすぐに更新され、古いパスワードによる認証失敗を防ぐ。また、アカウントロックアウトの処理も担い、認証失敗回数のカウントを集中管理する。時刻同期の権威サーバーとしての機能も持ち、ドメイン内のすべてのコンピュータ(クライアントとサーバー)はPDCエミュレーターから時刻情報を取得する。これはKerberos認証の要件であり、時刻のずれは認証失敗につながるため非常に重要である。さらに、グループポリシーオブジェクト (GPO) の変更に対するプライマリな参照元でもあり、クライアントコンピュータは新しいGPO情報を取得する際にまずPDCエミュレーターを参照する。PDCエミュレーターは、Windows NT 4.0以前のドメインコントローラーとの互換性維持といった機能も提供するが、現代の環境ではその重要性は低い。ドメインごとに1つ存在する。
二つ目は**RIDマスター (Relative ID Master)**である。Active Directory環境で作成されるすべてのセキュリティプリンシパル(ユーザー、グループ、コンピュータなど)は、一意のセキュリティ識別子 (SID) を持つ。SIDはドメイン固有の識別子と、そのドメイン内で一意の相対識別子 (RID) で構成される。RIDマスターは、各ドメインコントローラーにRIDのプールを割り当てる役割を持つ。各ドメインコントローラーは、割り当てられたRIDプールから新しいオブジェクトが作成されるたびにRIDを取り出し、ドメイン固有の識別子と組み合わせて一意のSIDを生成する。このRIDプールが枯渇すると、ドメインコントローラーはRIDマスターに新しいプールを要求する。この役割が利用不能になると、新しいユーザー、グループ、コンピュータなどのセキュリティプリンシパルを作成できなくなるため、日々の運用に重大な影響を与える。ドメインごとに1つ存在する。
三つ目は**インフラストラクチャマスター (Infrastructure Master)**である。この役割は、異なるドメイン間のオブジェクト参照の一貫性を維持する。例えば、あるドメインのユーザーが別のドメインのグループメンバーになっている場合、その参照情報(ゴーストオブジェクトと呼ぶ)が存在する。インフラストラクチャマスターは、このゴーストオブジェクトの属性(名前など)が変更された場合に、その情報を監視し、他のドメインコントローラーに更新情報を提供する。これにより、オブジェクトの名前変更や移動があっても、他のドメインからの参照が正しく行われるようにする。通常、この役割はグローバルカタログ (GC) サーバーではないドメインコントローラーに配置することが推奨される。なぜなら、GCサーバーは自身のデータベース内にフォレスト全体のすべてのオブジェクトの属性情報を保持しているため、インフラストラクチャマスターが参照整合性を更新する必要がなくなってしまうことがあるからである。これにより、インフラストラクチャマスターが更新作業をスキップし、他のドメインコントローラーに正しい更新情報が伝わらず、古い参照が残る「ゴースト問題」が発生する可能性がある。ただし、単一ドメインフォレストの場合や、フォレスト内のすべてのドメインコントローラーがグローバルカタログサーバーである場合は、この問題は発生しないため、同じドメインコントローラーに配置しても問題はない。ドメインごとに1つ存在する。
これらのFSMO役割は、特定のドメインコントローラーに割り当てられる。FSMO役割を持つドメインコントローラーに障害が発生した場合、その役割が提供する機能が停止し、Active Directoryの運用に重大な影響を与える可能性がある。そのため、FSMO役割を持つドメインコントローラーの可用性を確保することは非常に重要である。役割を持つドメインコントローラーが計画的に停止する場合は、その役割を別のドメインコントローラーに「転送 (transfer)」することができる。転送は現在のFSMO役割所有者が利用可能な状態で行われる、安全な移行方法である。しかし、役割を持つドメインコントローラーが回復不能な障害に見舞われた場合や、ネットワーク的に隔離されてしまった場合は、その役割を強制的に別のドメインコントローラーに「強制取得 (seize)」する必要がある。強制取得は、元の役割所有者が利用不能な状態で行われ、データ整合性のリスクを伴う可能性もあるため、非常に慎重に行うべき操作である。FSMO役割の適切な配置と管理は、Active Directory環境の安定稼働と健全性を維持するために不可欠な要素である。