ドメインコントローラーを仮想化する
Active Directoryドメインコントローラーを仮想化するという考え方は、もはや議論の余地がないと思われるかもしれない。しかし、AD DCを仮想化すべきかどうかという疑問が定期的に浮上することに気づく。理論的には、業界のより一般的なガイダンスがすべての可能なワークロードを仮想化すべきと示しており、ADはこの長年にわたる一般的なルールの例外を生むような特別なケースを持っていないため、この問いに答える必要はない。
奇妙なことに、人々はこの特定のワークロードについて定期的に明確な説明を求めているようだ。そして、悪いアドバイスを求めれば、必ずそれを提供する人が現れる。多くの人がActive Directoryに物理サーバーを推奨するアドバイスを投稿しているが、なぜベストプラクティスに違反することを推奨するのか、まったくありふれた既知のワークロードであるにもかかわらず、その理由をほとんど説明していない。
AD DCを導入しようとしている人々が、他のワークロードでは行わない仮想化に関する特定の調査が必要だと判断する理由については、私には答えられない。しかし、この現象を長年研究してきた結果、物理デプロイメントに関する無謀なアドバイスの出所についてある程度の見解を持っている。
最初の誤りは、仮想化とは何かという根本的な誤解から生じる。これは悲しいほど非常に一般的で、人々はしばしば仮想化はコンソリデーション(統合)を意味すると思っているが、もちろんそれは違う。そのため、その誤りを受け入れて、コンソリデーションは2台のAD DCを同じ物理ホストに統合することを意味するという誤った論理を適用する。また、常に2台以上のAD DCが存在するという飛躍した考えも必要だが、これもよくある思い込みだ。つまり、論理における3つの大きな誤りが重なり、非常に悪いアドバイスを生み出す。推奨事項を詳しく調べれば、通常そのルーツをたどることができる。これが悪いアドバイスの大部分の根源のようだ。
他の原因としては、「2台のAD DCを持つ場合、それぞれを別の物理ホストに置く必要がある」というフレーズのような実際のベストプラクティスを誤解することもある。この声明は、このシナリオでは2台の物理的に分離されたマシンを使用する必要があると告げており、それはまったく正しい。しかし、それはどちらかにハイパーバイザーを使わないべきだということを意味しているのではなく、単に2台の異なるホストが必要だということだ。このようなアドバイスに使われる言葉は、非仮想ワークロードが許容される状況は一切ないという既存の理解がなければ理解しにくい。その理解を持った上で推奨事項を読めば、その意味は明確で(うまくいけば)明らかだ。残念ながら、この推奨事項はしばしばコンテキストなしに繰り返されるため、根本的な意味が簡単に失われてしまう。
かなり昔、つまり約10年前、一部の仮想化プラットフォームにはタイミングとシステムクロックに関する問題があり、Active Directoryのようなクラスター化されたデータベースシステムに悪影響を与える可能性があった。これはかつては正当な問題だったが、多くの異なるワークロードに対して必要であったように、随分前に解決された。しかし、ADには特別な処理が必要かもしれないという認識が生まれ、これがIT的には1〜2世代も前に問題でなくなってとっくに忘れられているべきなのに、いまだに残っているようだ。
悪いアドバイスにつながる別の神話は、他のクラスター化されたデータベースと同様に、AD DCはクラスターモードで使用する場合、スナップショットを取るべきでないという事実に根ざしている。クラスターの1ノードだけがその方法で復元された場合、データベースが破損しやすいからだ。しかし、これはストレージとデータベースの一般的な側面であり、仮想化とはまったく関係がない。同じ情報が物理的なAD DCにも同様に必要だ。スナップショットが仮想化に関連しているというのも別の神話であり、仮想化はそのようなストレージのアーティファクトを意味しない。
さらに別の神話は、仮想化が機能するためにActive Directory自体に依存する必要があり、そのためADは仮想化なしに実行されなければならないという信念から生じる。これは完全に神話であり、意味をなさない。そのような循環的な要件は存在しない。
残念ながら、技術の一部の分野では、大規模な神話が生まれることがあり、しばしばそれらが複数重なって真実を見つけにくくする。仮想化はある程度複雑であり、多くの人々がその使い方だけでなく、概念的に何であるかを暗記によって学ぼうとするため、それが正気とは思えないほどの誤解を生み出すことがある。そのような誤解は現実からかけ離れており、実際に何を見ているのかを把握するのが難しいほどだ。そして、このようなケースでは、仮想化、歴史、クラスター化されたデータベース、高可用性技術、ストレージなどに関する誤解が重なり、1つのデプロイメントの問いの周りにいかに多くのことが集まってきたかを解明するのが難しくなる。
最終的には、Active Directoryドメインコントローラーほど仮想化に理想的に適したワークロードはほとんどない。物理的なベアメタルOSデプロイメントをDCに使用することを検討すべきケースは存在しない。常に仮想化すべきだ。