Репликация между WinSrv2019 без домена

2

Рассмотрим процесс настройки репликации между серверами на базе Windows Server 2019 без доменной среды.

Имеется вот такая схема работы серверов.

Задача настроить реплицию между Server1 и Server2. Таким образом VM_1, VM_2 у нас будет на Server2, а VM_3 на Server1.

Надеюсь, всё понятно… 🥴 В общем, чтобы было вот так.

Будем производить настройку репликации с помощи само подписанных сертификатов через PowerShell.

Требования

Есть вещи на которые стоит обратить внимание при настройке репликации.

  1. Нужная стабильная и широкая сетевая полоса, если виртуальные машины «толстые», то первоначальная версия будет передаваться долго и повесит весь сервер и сеть;
  2. Место на сервере-реплике должно быть не меньше, чем на исходном;
  3. У виртуальной машины, которую мы реплицируем не должно быть контрольных точек;

Настраиваем репликацию

Добавляем DNS-суффиксы

Открываем Панель управления системой. Переходим Изменить параметры/Изменить/Дополнительно/ и добавляем DNS-суффикс.

В моём примере будет «adel.local».

После чего перезагружаем сервер.

Аналогично делаем на сервере репликации.

Отключаем проверку на отзыв сертификата

Нам необходимо через реестр отключить проверку на отзыв сертификата. На обоих серверах.

Иначе высыпается ошибка о невозможности проверить сертификат на отзыв.

Открываем командную строчку от имени администратора и прописываем:

Изменяем файл hosts

Теперь нам необходимо изменить файл хостов чтобы Server1 и Server2 всегда видели друг друга по имени. Этот шаг опционален. Я его применяю для того, чтобы никакие проблемы связанные с DNS внутри нашей сети не помешала нашей репликации. Типа такой:

Поэтому открываем блокнот от имени администратора и переходим по пути C:\windows\system32\drivers\etc\hosts, добавляем две записи: ip-адрес исходного сервера и его имя с dns-суффиксом и ip-адрес сервера репликации с его имением и суффиксом.

Аналогично делаем на сервере-репликации.

Выпуск сертификатов для каждого сервера

На исходном сервере сделаем оба сертификата. Стандартная команда New-SelfSignedCertificate делает сертификат на годНо нет желания каждый год обновлять эти сертификаты. Поэтому я нашел в интернете способ выпустить сертификат на 3 года.

И так. Сделаем сертификат для Server1. Открываем PowerShell и запускаем. (Копируем и вставляем по одной строчке);

Необходимо вместо Server1.med.local указать название сервера с dns-суффиксом, что мы задали раньше.

И для нашего Server2. 

В итоге у нас должно получится вот такое при открытии certlm.msc (Сертификаты на локальном компьютере):

Тестовый Корневной сертификат

Для начала сделаю папку «Сертификаты для репликации» в документах, чтобы всё было в одном месте.

Наш тестовый сертификат находится вне Доверенных корненых центрах, поэтому все наши сертификаты будут считаться недействительными. Нам необходимо его экспортировать и добавить в корни.  По умолчанию он находится в Промежуточные центры сертификации.

Открываем оснастку certlm.msc, находим нужный сертификат.

Нажимаем ПКМ, Экспорт и экспортируем сертификат ничего не меняя, в созданную папку и назовём его CA.

Далее его необходимо добавить в Доверенные корневые сертификаты и на Server1 и на Server2.

Должно вылезти предупреждение, с ним соглашаемся.

Экспорт сертификатов

Экспортируем наши сертификаты в папку. И копируем их на сервер-репликацию. Всё в той же оснастке certlm.msc в разделе Личные выбираем наш сертификат Server1, нажимаем ПКМ, экспорт и далее делаем по инструкции:

Вместе с закрытым ключом;

Устанавливаем нужные свойства;

Задаем ключ;

И сохраняем в нашей папке «Сертификаты для репликации».

Точно так же делаем для второго сертификата. После чего копируем всю папку на Server2 и производим импорт.

Импорт сертификатов

Не забываем, что необходимо сначала импортировать сертификат CA в корневые. Если Вы это не сделали раньше, то сделайте прямо сейчас.

С сертификатам для сервера всё просто. Кликаем два раза по нужному сертификату и импортируем его в Сертификаты на компьютеры в раздел личные с заданным ключом на моменте экспорта.

Настройка сервера-реплики

На нашем сервере репликации (в примере это Server2) открываем оснастку Hyper-V, переходим в Параметры Hyper-V, открываем Конфигурация репликации. 

Указываем TCP-порт по которому будет работать репликация. Выбираем сертификат и указываем хранилище для репликации.

Открыть порт в брандмауэре

Не забываем, что нам необходимо открыть порт, который мы указываем в настройках сервера репликации. Если у Вас стоит сторонний FireWall или антивирус с этими функциями, то открываем там.

Включение репликации

Настал момент, когда можно запускать репликацию с Server1 на Server2. Открываем оснастку Hyper-V, выбираем нужную VM, кликаем включить репликацию.

Далее указываем наш сервер-репликации;

В настройках подключения выбираем сертификат;

Выбираем диски для синхронизации. Я всегда отключаю бекапные.

Выбираем частоту реплицирования;

Выбираем количество точек;

Указываем метод первоначальной передачи ВМ и время запуска синхронизации. Если у нас толстая виртуальная машина, то можно сделать экспорт на диск, перенести. Но это как-то запарно, я всегда использую сеть.

Получаем сводку;

Тыкаем готово и радумаеся. Пошло, поехало…

Маленькая особенность

По-умолчанию, если репликация сломается, то повторно она запускается в промежутке с 18:30 до 6:00, чтобы это исправить необходимо открыть свойства ВМ в Hyper-V, в разделе репликация указать Автоматический запуск. Проверенно опытом, что так стабильнее и лучше.

Важные подсказки

  1. При изменении конфигурации ВМ (добавили оперативной памяти, расширили диск) эти действия необходимо продублировать руками на виртуальной машине на сервере репликации;
  2. Чтобы спать спокойнее, необходимо настроить мониторинг репликации;
  3. Просмотр статуса репликации возможен прямо из оснастки Hyper-V, необходимо включить нужный столбец;