Hyper-V и реплики хранилища (часть 3)

Опубликовано: 17 Апреля, 2023

Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:

  • Hyper-V и реплики хранилища (часть 1)
  • Hyper-V и реплики хранилища (часть 2)

В предыдущей статье этой серии я провел вас через создание пары виртуальных машин, которые мы собираемся использовать, чтобы продемонстрировать репликацию хранилища на гостевом уровне. Как вы помните, каждая из этих виртуальных машин содержит три одинаковых тома. Существует том операционной системы (C:), том данных (D:) и том файла журнала (L:). Хотя мы можем использовать буквы дисков, чтобы различать тома, я также создал пользовательские метки томов, которые должны помочь уточнить назначение каждого тома.

Еще одна вещь, которую мы сделали в предыдущей статье, заключалась в установке роли файлового сервера и функции реплики хранилища. В этой статье я использовал Диспетчер серверов для установки необходимых компонентов, хотя с таким же успехом мог бы использовать и PowerShell. Тем не менее, кажется, что нет способа продвинуться дальше в процессе настройки репликации сервер-сервер через графический интерфейс, по крайней мере, без углубления в инструменты диспетчера серверов (https://blogs.technet.microsoft.com). /servermanagement/2016/02/09/introduction-server-management-tools/), которые представляют собой набор веб-инструментов управления для Windows Server 2016. Учитывая сложность развертывания этих инструментов, я собираюсь проработать процесс настройка репликации сервер-сервер через PowerShell.

На самом деле довольно легко настроить репликацию хранилища с помощью PowerShell. При установке функции реплики хранилища устанавливается модуль PowerShell. Этот модуль предоставляет вам все необходимое для включения, тестирования и мониторинга репликации хранилища.

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

Во-первых, вам нужно знать имя каждого сервера. Для целей этой серии статей я предполагаю, что разрешение имен DNS работает между двумя серверами. Следующее, что вам понадобится, — это буква диска для тома данных и том журнала на каждом сервере. В моем случае том данных — D:, а том журнала — L:. Последнее, что вам понадобится, — это имя группы репликации. Имя группы репликации — это просто понятное имя, которое можно использовать для идентификации серверов, используемых в процессе репликации. Вам потребуется одно имя группы репликации для исходного сервера и другое имя группы репликации для целевого сервера. Итак, с учетом сказанного, вот соглашения об именах, которые я буду использовать:

Итак, с учетом сказанного, вот синтаксис команды, который вам нужно будет использовать. Вам нужно будет запустить эту команду в окне PowerShell с повышенными привилегиями.

New-SRPartnership -SourceComputerName <имя исходного компьютера> -SourceRGName <имя исходной группы репликации> -SourceVolumeName <буква исходного тома> -SourceLogVolumeName <буква тома исходного файла журнала> -DestinationComputerName <имя конечного компьютера> -DestinationRGName <имя целевой группы репликации > -DestinationVolume <буква целевого тома> -DestinationLogVolume <буква целевого тома файла журнала>

Очевидно, что это длинная команда, но образец синтаксиса, показанный выше, на самом деле немного длиннее, чем реальная команда, просто из-за содержащегося в ней описательного текста. Итак, вот как будет выглядеть та же самая команда, используя соглашения об именах, которые я предоставил ранее:

New-SRPartnership -SourceComputerName StorageRep1 -SourceRGName SourceRG -SourceVolumeName D: -SourceLogVolumeName L: -DestinationComputerName StorageRep2 -DestinationRGName DestinationRG -DestinationVolume D: -DestinationLogVolume L:

Вы можете увидеть, как эта команда выглядит в действии, на рисунке A.

Рисунок А

Таким образом вы устанавливаете партнерство по репликации хранилища.

Итак, теперь, когда репликация хранилища настроена, реальный вопрос заключается в том, как определить, работала она или нет. К сожалению, это не так просто, как разместить несколько файлов на томе данных исходного компьютера, а затем посмотреть, копируются ли эти файлы на том данных целевого компьютера. Причина этого в том, что File Explorer предотвращает доступ к тому данных на целевом компьютере, поэтому вы не можете легко просмотреть содержимое тома. Однако вы можете использовать PowerShell для просмотра состояния процесса репликации.

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

Как только начнется процесс копирования файла, откройте окно PowerShell с повышенными привилегиями и введите следующую команду:

(Get-SRGroup).Реплики | Select-Object NumOfBytesRemaining

Теперь повторите команду несколько раз, пока происходит процесс репликации. Если все работает правильно, вы должны увидеть, что количество оставшихся байтов неуклонно уменьшается. Стоит отметить, что этот метод может оказаться немного утомительным, поскольку репликация может произойти не сразу. В этом случае есть несколько других вещей, которые вы можете сделать.

Один из вариантов — ввести Get-SRGroup. Это приведет к тому, что Windows отобразит такую информацию, как размер журнала, а также дату и время последней синхронизации. Вы можете увидеть, как это выглядит на рисунке B.

Рисунок Б

Обратите внимание на размер файла журнала, дату и время последней синхронизации.

Еще один способ следить за происходящим — через средство просмотра событий Windows. Откройте средство просмотра событий и перейдите по дереву консоли к Журналы приложений и служб | Майкрософт | Окна | Реплика хранилища | Админ. События в этом журнале позволят вам контролировать процесс репликации.

Вывод

В этой статье я объяснил, как запустить репликацию хранилища. В следующей статье этой серии я хочу рассказать о репликации в отказоустойчивом кластере.