【ITニュース解説】第853回 Sambaで作るActive Directory互換環境 (2) 2台目のドメインコントローラーの作成とSYSVOLフォルダの同期設定
2025年03月05日に「Gihyo.jp」が公開したITニュース「第853回 Sambaで作るActive Directory互換環境 (2) 2台目のドメインコントローラーの作成とSYSVOLフォルダの同期設定」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
SambaでActive Directory互換環境を構築する連載。システム停止に備え、2台目のドメインコントローラー(DC)を追加設定する。前回作ったDCと連携させ、重要なSYSVOLフォルダの同期も行い、より安定したドメイン運用環境を整える。
ITニュース解説
システムエンジニアを目指す皆さんにとって、企業や組織のITインフラを支える基盤技術の理解は非常に重要だ。今回は「Sambaで作るActive Directory互換環境」の連載の第2回として、冗長性を確保するための2台目のドメインコントローラー作成と、その重要な要素であるSYSVOLフォルダの同期設定について解説する。
まず、Active Directoryとは何か、そしてドメインコントローラーの役割から理解を深めよう。Active Directory(アクティブディレクトリ、略称AD)は、Microsoftが開発したWindowsネットワーク環境におけるユーザー、コンピュータ、ファイル、プリンターといったさまざまなネットワークリソースを一元的に管理するためのサービスだ。具体的には、社員がネットワークにログインする際の認証、ファイルサーバーへのアクセス権の管理、コンピュータの設定を一律に適用するグループポリシーの設定などを担っている。Active Directoryの心臓部とも言えるのが「ドメインコントローラー(DC)」と呼ばれるサーバーで、このサーバーがADのデータベースを保持し、認証要求に応答したり、ポリシーを配布したりする中心的な役割を果たす。
Sambaは、主にLinuxなどのUNIX系OS上で動作し、Windowsネットワーク環境との互換性を提供するためのオープンソースソフトウェアだ。Sambaを使えば、Windowsサーバーを導入することなく、Linuxサーバー上でActive Directoryとほぼ同等の機能を持つドメインコントローラーを構築できる。これにより、コストを抑えつつ、Windowsクライアントが利用する認証基盤を構築することが可能になる。前回は1台のSamba製ドメインコントローラーを展開し、AD互換環境の基礎を築いた。
しかし、ITシステムを運用する上で、1台のサーバーだけで全てをまかなうのは非常に危険だ。もしその1台のドメインコントローラーが何らかの理由で故障してしまったらどうなるだろうか。ユーザーはネットワークにログインできなくなり、ファイルサーバーへのアクセスもできなくなり、業務が完全に停止してしまう可能性がある。このような単一障害点(シングルポイントオブフェイラー)と呼ばれるリスクを回避するために、「冗長化」という考え方が必要になる。冗長化とは、システムの一部が故障しても、その機能を代替する別の機器や仕組みを用意しておくことで、システム全体の稼働を維持できるようにすることだ。
今回のテーマである2台目のドメインコントローラーの作成は、この冗長化を実現するための重要なステップとなる。2台目のドメインコントローラーが存在すれば、もし1台目が故障しても、すぐに2台目がその機能を引き継ぎ、ユーザー認証やリソース管理サービスを継続できる。これにより、システムの可用性(いつでも利用できる状態であること)が大幅に向上する。
2台目のドメインコントローラーを作成する手順の概要は、以下のようになる。まず、別のLinuxサーバー(例えばUbuntu Server)を用意し、Sambaパッケージをインストールする。次に、この新しいSambaサーバーを、既存のSamba Active Directoryドメインに参加させる。この際、単にドメインのメンバーサーバーとして参加させるのではなく、「ドメインコントローラーとして」参加させることが重要だ。具体的には、samba-tool domain joinコマンドに適切なオプションを指定して実行することで、既存のドメインに参加し、さらに既存のドメインコントローラーからActive Directoryのデータベースの複製を受け取って、自身もドメインコントローラーとして昇格する。このプロセスを経て、新しいサーバーがドメインの認証や管理機能を担えるようになる。
複数のドメインコントローラーが存在する場合、各DCはActive Directoryのデータベースを相互に複製し、常に同じ状態を保つ必要がある。特に重要なのが「SYSVOL(シスボル)フォルダ」の同期設定だ。SYSVOLフォルダは、ドメインコントローラー上で共有される特殊なフォルダで、グループポリシーオブジェクト(GPO)やログオンスクリプトなど、ドメイン内のすべてのドメインコントローラーで同じ内容が共有されるべき重要な情報が格納されている。
グループポリシーは、ドメイン内のユーザーやコンピュータに対して、セキュリティ設定、ソフトウェアのインストール、デスクトップ環境のカスタマイズなど、さまざまな設定を一元的に適用するための強力な機能だ。もしSYSVOLフォルダの内容がドメインコントローラー間で異なってしまったら、ユーザーによって適用されるポリシーが変わってしまったり、最悪の場合、一部の機能が正常に動作しなくなったりする可能性がある。そのため、すべてのドメインコントローラー間でSYSVOLフォルダの内容が常に最新かつ一貫した状態に保たれていることが不可欠となる。
SambaのActive Directory互換環境では、SYSVOLフォルダの同期にMicrosoftが提供する「分散ファイルシステムレプリケーション(DFSR)」という技術を模倣したメカニズムを利用する。2台目のドメインコントローラーを既存のドメインに参加させた後、このDFSRのレプリケーションを適切に設定する必要がある。通常、Sambaではsamba-tool ntacl sysvolresetコマンドやsamba-tool dfsmem -U administrator addなどのコマンドを使って、SYSVOL共有のACL(アクセス制御リスト)を適切に設定し、DFSRメンバーとして新しいドメインコントローラーを追加する。これにより、最初のドメインコントローラーと2台目のドメインコントローラーの間でSYSVOLフォルダのコンテンツが自動的に同期されるようになる。同期が正しく行われているかは、samba-tool ntacl sysvolcheckコマンドや、より詳細な情報を得るためのdfrsdiagに類似するSambaの内部コマンドを使って確認できる。
このようにして2台目のドメインコントローラーが構築され、SYSVOLフォルダの同期が確立されることで、堅牢で信頼性の高いActive Directory互換環境が完成する。システムエンジニアとしてインフラを設計・構築する際には、単に機能が動作するだけでなく、それがどれだけ安定して稼働し続けられるか、そして万が一の障害時にどのように復旧できるかという「可用性」や「耐障害性」の視点が非常に重要となる。今回の2台目のドメインコントローラー作成とSYSVOL同期は、まさにその可用性を高めるための基礎的な、しかし極めて重要な技術要素だ。この概念をしっかりと理解し、実践することで、より信頼性の高いITインフラを構築するスキルを身につけることができるだろう。