Виртуализация контроллеров домена
Казалось бы, вопрос о виртуализации контроллеров домена Active Directory не требует обсуждения, однако я регулярно сталкиваюсь с тем, что люди спрашивают: стоит ли виртуализировать AD DC? Теоретически этот вопрос вообще не должен возникать, поскольку в отрасли давно сформированы общие рекомендации о том, что все возможные рабочие нагрузки следует виртуализировать, а AD не представляет никаких особых случаев, которые оправдывали бы исключение из этого давно устоявшегося общего правила.
Тем не менее люди регулярно ищут разъяснений именно по этой конкретной рабочей нагрузке, и если человек ищет плохой совет, кто-нибудь его непременно даст. Масса людей рекомендуют физические серверы для Active Directory, но почти никогда — и это поразительно — не объясняют, почему вообще стоит нарушать лучшие практики применительно к столь обыденной и хорошо известной рабочей нагрузке.
Почему именно при внедрении AD DC люди решают, что этот вопрос требует отдельного изучения в контексте виртуализации, тогда как ни одна другая рабочая нагрузка не удостаивается такого внимания, — ответить не могу. Но после многолетних исследований этого феномена у меня есть некоторое понимание источника безрассудных советов в пользу физического развёртывания.
Первая ошибка связана с фундаментальным непониманием того, что такое виртуализация. К сожалению, это крайне распространено: люди нередко путают виртуализацию с консолидацией, что в корне неверно. Опираясь на эту ошибку, они применяют ложную логику: консолидация — это размещение двух AD DC на одном физическом хосте. При этом делается ещё одно допущение, что контроллеров домена всегда будет два или больше, — тоже распространённое заблуждение. Три грубые логические ошибки складываются в один катастрофически плохой совет, истоки которого, если разобраться, как правило, прослеживаются. Именно здесь, по всей видимости, кроется источник большинства вредных рекомендаций.
Другая причина — неверное понимание реальных лучших практик. Например, фраза «Если у вас два AD DC, каждый должен находиться на отдельном физическом хосте» сообщает нам, что в данном сценарии необходимо использовать два физически разных сервера, — и это абсолютно верно. Однако она никоим образом не подразумевает, что ни на одном из них не должно быть гипервизора; речь идёт лишь о том, что нужны два разных хоста. Формулировка подобных рекомендаций нередко трудна для восприятия, если у читателя нет исходного понимания того, что использование невиртуализированной рабочей нагрузки недопустимо ни при каких обстоятельствах. Если читать рекомендацию с этим пониманием, её смысл ясен и, хочется верить, очевиден. К сожалению, такая рекомендация часто воспроизводится вне контекста, и первоначальный смысл легко теряется.
Примерно десять лет назад некоторые платформы виртуализации имели проблемы с синхронизацией времени и системными часами, что могло негативно влиять на кластеризованные базы данных, подобные Active Directory. Это была реальная проблема, которая давно была решена — так же, как и для многих других рабочих нагрузок, которые в этом нуждались. Тогда сложилось впечатление, что AD может требовать особого подхода, и, судя по всему, оно сохраняется до сих пор — хотя в ИТ-летоисчислении прошло уже поколение или два с тех пор, как это было актуально, и давно пора об этом забыть.
Ещё один миф, порождающий плохие советы, основан на том, что AD DC, как и другие кластеризованные базы данных, при работе в кластерном режиме не следует подвергать снапшотам: если восстановить только один узел кластера таким способом, это легко приведёт к повреждению базы данных. Однако это общий аспект хранилища данных и баз данных, никак не связанный с виртуализацией. Та же самая информация актуальна и для физических AD DC. Ассоциирование снапшотов с виртуализацией — ещё один миф; виртуализация сама по себе не подразумевает никаких подобных артефактов хранилища.
Существуют и другие мифы, основанные на убеждении, что виртуализация должна опираться на саму Active Directory для своего функционирования, а значит, AD должна работать без виртуализации. Это полный миф и полная бессмыслица. Никакой подобной циклической зависимости не существует.
К сожалению, вокруг некоторых технических областей сложились масштабные мифы, нередко целые их совокупности, из-за которых бывает сложно докопаться до истины. Виртуализация достаточно сложна, чтобы многие люди пытались освоить не только то, как ею пользоваться, но и то, что она собой представляет концептуально, — делая это механически, что порождает порой совершенно безумные заблуждения, столь далёкие от реальности, что порой трудно даже осознать их природу. А в таком случае, как этот, заблуждения о виртуализации, истории, кластеризованных базах данных, методах обеспечения высокой доступности, хранилище данных и многом другом наслаиваются друг на друга, делая совершенно непонятным, как столько всего могло сойтись вокруг одного вопроса о развёртывании.
В конечном счёте мало какие рабочие нагрузки настолько идеально подходят для виртуализации, как контроллеры домена Active Directory. Нет никаких оснований рассматривать развёртывание DC на физическом «голом железе» — виртуализируйте всегда и везде.