Hyper-Vのライブマイグレーションもフェールオーバークラスタも、その足元はActive Directoryです。CNOとVCOという2種類のコンピュータオブジェクトの挙動を理解していないと、クラスタ作成やクラスタ役割の追加でつまずきます。Microsoft Learnの一次情報を引きながら、現場でハマる勘所を整理します。
Hyper-Vクラスタやライブマイグレーションの設計というと、ネットワークやストレージ(S2D)に目が行きがちです。しかし実際の構築現場で最初につまずくのは、たいていActive Directory(AD)側です。クラスタ名オブジェクト(CNO)と仮想コンピュータオブジェクト(VCO)という2種類のコンピュータアカウントの挙動、そしてそれらに必要なAD権限を押さえていないと、「クラスタは作れたのにファイルサーバー役割がオンラインにならない」といった事象に必ず出会います。本稿では、EMWが実際にWindows Server 2025 Datacenterでのクラスタ構築とHyper-Vライブマイグレーション移行を手掛けた経験を土台に、Microsoft Learnの一次情報を引きながら勘所を整理します。
01CNOとVCO — クラスタが作る2種類のADオブジェクト
フェールオーバークラスタを作成すると、クラスタ名と同じ名前のコンピュータアカウントがADに自動作成されます。これがクラスタ名オブジェクト(CNO: Cluster Name Object)です。そしてクライアントアクセスポイントを持つクラスタ役割(ファイルサーバーやプリントサーバーなど)を追加すると、その役割名に対応するコンピュータアカウントが作られます。これが仮想コンピュータオブジェクト(VCO: Virtual Computer Object)です。
重要なのは、VCOを作るのがCNOだという点です。Microsoft Learnは「CNOを通じて、クライアントアクセスポイントを使うクラスタ役割を構成すると、VCOが自動的に作成される」と明記しています。つまりCNOは単なるクラスタの名前ではなく、後続のオブジェクトを生み出す「親アカウント」として機能します。
Cluster1というクラスタを作成 → CNOCluster1が生成される- その上に
FileServer1というファイルサーバー役割を作成 → VCOFileServer1が生成される - このとき、High Availability ウィザードはCNOに対して
FileServer1を制御する権限を付与する
02クラスタ作成に必要なAD権限 — 誰が何を持つべきか
「クラスタが作成できない」の大半は権限問題です。Microsoft Learnは必要な権限を主体ごとに明確に定義しています。混同しやすいので、アカウントの役割で分けて整理します。
- クラスタを作成するユーザーアカウント:各ノードのローカルAdministrators権限に加え、コンピュータアカウント用コンテナに対する
Create Computer objectsとRead All Properties権限。ドメイン管理者である必要はなく、これらを満たせばドメインユーザーで足ります。 - CNO(クラスタ自身のコンピュータアカウント):既定では最大10個のコンピュータアカウント(=VCO)をドメイン内に作成できます。事前ステージングする場合は、コンテナに対する
Create Computer objectsとRead All Propertiesを付与する必要があります。
Create Computer objects を渡してもらえないケースは日常茶飯事。そのときの正解は「権限をよこせ」ではなく、次節の事前ステージングを提案することです。AD運用側の統制を崩さずにクラスタを作れるので、話が通りやすくなります。大手SIer/エンタープライズのAD運用ポリシーを尊重した進め方が、結局いちばん早いです。03CNOの事前ステージング — 権限を渡さずにクラスタを作る
事前ステージング(prestage)とは、ドメイン管理者があらかじめCNOをADに作っておき、構築担当にはそのオブジェクトへのFull Controlだけを渡す手法です。構築担当は Create Computer objects 権限を持たなくてもクラスタを作成できます。Microsoft Learnの手順を要点だけ挙げます。
- クラスタ専用のOUを作り、そこにクラスタ名と同名のコンピュータアカウント(=CNO)を新規作成する
- そのアカウントで
Protect object from accidental deletion(誤削除防止)を有効にする - アカウントを無効化(Disable Account)する — これが必須
- クラスタを作成するユーザー/グループに、そのCNOへの
Full Controlを付与する
無効化がなぜ必須か。Microsoft Learnは「クラスタ作成プロセスが、そのアカウントが既存のコンピュータやクラスタで使用中でないことを確認できるように、無効化しておく必要がある」と説明しています。無効化を忘れると、クラスタ作成時に「その名前は使用中」と判断されて失敗します。ステージングしたのに作れない、の典型原因です。
Computersコンテナに作った場合は、後述のVCO権限委任(Step 3)が不要で、追加設定なしに最大10個のVCOを作れます。一方、専用OUに置くと統制はきれいになりますが、CNOへのVCO作成権限委任を別途行わないとクラスタ役割がオンラインになりません。「専用OU=きれいだが一手間増える」を承知の上で選ぶことが大事です。04OU配置とVCOの権限委任 — 役割がオンラインにならない罠
クラスタ役割を作ると、VCOはCNOと同じOUに作られます。これを自動化するには、CNOがそのOU内でコンピュータオブジェクトを作成できる権限を持っている必要があります。専用OUにCNOを置いた場合、Microsoft Learnは2つの選択肢を示しています。
- Option 1:CNOにOUへの権限を委任する — OUのセキュリティ詳細設定で、プリンシパルにCNO(コンピュータオブジェクト)を指定し、
This object and all descendant objectsに対してCreate Computer objectsをAllowする。以後、クラスタが自動でVCOを作れる。 - Option 2:VCOを個別に事前ステージングする — 役割名と同名のコンピュータアカウントをあらかじめ作り、そのオブジェクトのセキュリティでCNOに
Full Controlを付与する。命名規則を統制したい組織向け。
この委任を忘れると、クラスタ自体は動いているのに、ファイルサーバーやSQL FCIのネットワーク名リソースがオンラインにならず、イベントに1194や1207が記録されます。「クラスタは緑なのに役割だけ落ちる」ときは、まずCNOのVCO作成権限を疑うのが定石です。
05コンピュータアカウントとDNS — CNO/VCOはDNSに名前を書く
CNOとVCOはADオブジェクトであると同時に、DNSにAレコードを登録する存在でもあります。クラスタのネットワーク名リソースがオンラインになるとき、対応するDNSレコードが更新されます。ここが失敗すると名前解決ができず、リソースはオンラインになりません。
Microsoft Learnのトラブルシューティングでは、ネットワーク名がオンラインにならない原因の一つとして「DNSの問題。CNOまたはVCOのレコードに対する権限も確認する必要がある」と明記されています。よくあるのは、動的更新でCNOが自分のレコードを更新しようとしたが、既存の同名レコードの所有者が別主体で更新権限がない、というパターンです。
06クラスタ作成時のAD権限エラー — イベントIDで原因を切り分ける
CNO/VCO関連の障害は、イベントログを見れば原因の見当がつきます。Microsoft Learnが挙げる代表的なイベントIDと意味を、切り分けの順で並べます。
1193 / 1194 / 1206 / 1207:CNOの権限不足・削除など、AD側でオブジェクトを作成・更新できないときのイベント群。まずCNOのFull ControlとCreate Computer objects委任を確認。1050:ネットワーク名がクラスタノード名と衝突。名前の一意性を確認。1211 / 1212:書き込み可能なドメインコントローラを見つけられない。DC到達性・RODCのみになっていないかを確認。1218:ADにCNOが見つからない。次回オンライン時にCNOの再作成を試みる。1219:ドメインコントローラに接続できない。
権限を直したあとは、フェールオーバークラスタマネージャーのRepairアクションでCNOのADパスワードを再同期させます。「権限は直したのにまだオンラインにならない」ときは、このRepairを忘れていることが多いです。あわせて、ストレージセクションを除いたクラスタ検証(Test-Cluster)を回して構成ミスを洗い出すのが定石です。
07ドメインコントローラの配置 — 鶏と卵を作らない
ライブマイグレーションやフェールオーバーは、Kerberos認証を通じてAD/DNSに依存します。ここで設計を誤ると、有名な「鶏と卵」問題に陥ります。すべてのDCをそのHyper-Vクラスタ上の仮想マシンとして動かしていると、クラスタが完全停止した状態から復旧しようとしたとき、ノードが認証できずVMを起動できず、DCも上がらない、という膠着に陥ります。
Microsoft Learnは仮想化DCのガイダンスで「クラスタのシステム起動時にDCへアクセスできるよう、このクラスタ配下に依存しない独立したホスティング上に、少なくとも2台のDCを配置する」ことを推奨しています。物理サーバーでも、ADに依存しない別の仮想基盤でも構いません。要は、クラスタの起動がDCに依存し、そのDCの起動がクラスタに依存する、という循環を断つことです。
08この基盤知識はAWS移行にも効く
ここまでのCNO/VCO・権限委任・DNS連動・DC配置の勘所は、オンプレHyper-V/Windowsの世界に閉じた話に見えて、実はクラウド移行の設計品質を左右します。オンプレADの依存関係を正しく棚卸しできていれば、オンプレADからAWS Managed Microsoft ADへの移行や、Windows Serverの移行で踏みやすい落とし穴を事前に避けられます。EMWは「実際に手を動かして構築している」からこそ、オンプレの現実を踏まえた移行設計ができます。関連する設計判断は、兄弟記事のHyper-Vライブマイグレーション設計やライブマイグレーションのKerberos制約付き委任もあわせてご覧ください。
—まとめ
フェールオーバークラスタとライブマイグレーションのAD設計は、CNOとVCOという2つのオブジェクトの親子関係を理解することから始まります。要点を整理します。
- CNOはクラスタ自身のアカウントであり、VCOを生み出す親。Hyper-V VM役割だけはVCO不要。
- 権限をもらえないなら、CNOを事前ステージング。無効化(Disable)が必須で、忘れると作成に失敗する。
- 専用OUに置くならCNOへの
Create Computer objects委任(Step 3)を忘れると、役割がオンラインにならない。 - CNO/VCOはDNSにも名前を書く。動的更新の権限とレコード所有者に注意。
- イベント
1194/1207は権限、1211/1212は書き込み可能DC不在。切り分けはログから。 - DCはクラスタ外に独立配置し、認証基盤の鶏と卵を作らない。
これらは仕様の細部がバージョンで変わり得るため、Windows Server 2025・S2Dの現行仕様やAzure Local(旧Azure Stack HCI)との棲み分けを含め、最新はMicrosoft Learnで確認することをおすすめします。オンプレのクラスタ構築から、その先のAWS移行までの一貫した設計は、導入事例もご参照ください。