Hyper-V и реплика хранилища: проверка с помощью PowerShell
В предыдущей статье этой серии я объяснил, что репликация хранилища может выполняться синхронно или асинхронно. Синхронная репликация всегда предпочтительнее, потому что она происходит почти в реальном времени. Тем не менее, синхронная репликация не всегда возможна, поскольку синхронная репликация чувствительна к задержке.
К счастью, корпорация Майкрософт предоставляет инструмент, который можно использовать для проверки ваших систем и обеспечения соответствия требованиям синхронной репликации. Инструмент представляет собой командлет PowerShell под названием Test-SRTopology.
Как упоминалось в предыдущей статье, командлет Test-SRTopology не установлен по умолчанию, но он входит в состав Windows Server 2016. Чтобы получить доступ к этому командлету, вам потребуется установить модуль реплики хранилища для Windows PowerShell. Этот модуль является частью инструментов администрирования функций. Я показывал процесс установки этого модуля в предыдущей статье.
Командлет Test-SRTopology удобен тем, что он позволяет проверить связь между двумя серверами, которые вы планируете настроить в качестве партнеров по репликации. Другими словами, серверы не обязательно должны быть партнерами по репликации. Вы можете проверить соединение между двумя серверами перед включением репликации.
Синтаксис командлета Test-SRTopology
Синтаксис командлета Test-SRTopology относительно прост. На самом деле, его использование во многом напоминает мне процесс включения репликации. Итак, с учетом сказанного, вот основной синтаксис команды:
Test-SRTopology -SourceComputerName <имя исходного компьютера> -SourceVolumeName <исходный том> -SourceLogVolumeName <том журнала> -DestinationComputerName <имя целевого компьютера> -DestinationVolumeName <имя целевого тома> -DestinationLogVolumeName <имя целевого тома журнала> -DurationInMinutes <продолжительность теста> -ResultPath <путь назначения для результатов теста>
Следует признать, что это длинная команда, но, к счастью, в обязательных параметрах командлета нет ничего сложного. На самом деле я рассмотрел некоторые из этих параметров в более ранней статье, когда показывал вам, как настроить репликацию. Тем не менее, есть несколько вещей, на которые я хочу обратить внимание.
Во-первых, этот командлет немного изменился с тех пор, как Windows Server 2016 находилась в технической предварительной версии. Таким образом, некоторые веб-сайты, на которых указан синтаксис команды, используют версии во множественном числе (с буквой S на конце) параметров SourceVolumeName и DestinationVolumeName. Однако в текущей версии командлета используются параметры в единственном числе (имена параметров не заканчиваются на S). В некоторых ранних документах также упоминался параметр IntervalInSeconds, который позволял указать интервал тестирования. Однако этот параметр был удален из финальной версии команды.
Если вы хотите просмотреть текущий синтаксис команды, введите:
Get-Help Test-SRTopology
Вы можете увидеть результаты этой команды ниже.
Еще хочу отметить по поводу командлета Test-SRTopology: он не будет работать, если системы уже являются партнерами по репликации. Если вы попытаетесь запустить эту команду в системе, которая уже реплицируется с другой системой, вы получите сообщение об ошибке, что целевая система имеет недопустимую файловую систему.
Если вы хотите опробовать командлет Test-SRTopology на серверах, которые вы настроили в качестве партнеров репликации ранее в этой серии, вам потребуется отключить партнерство репликации. Это можно сделать, выполнив командлет Remove-SRPartnership, а затем указав значения для SourceRGName, DestinationRGName и DestinationComputerName.
Еще одна вещь, на которую я должен указать, прежде чем показать вам, как запустить тест топологии, заключается в том, что продолжительность теста несколько вводит в заблуждение. Во время своих тестов я изначально установил продолжительность теста на одну минуту. Однако на самом деле процесс занял несколько минут, потому что командлет Test-SRTopology выполнил ряд тестов, по минуте каждый.
Собираем все вместе
Итак, давайте посмотрим, как работает эта команда. Для целей этой статьи я настроил два сервера, которые назвал Repl1 и Repl2. Repl1 представляет мой предполагаемый исходный сервер, а Repl2 представляет мой конечный сервер. Я сопоставил диски на этих серверах так же, как и раньше, с D: для данных и L: для журналов. Таким образом, команда, которую я использовал, была:
Test-SRTopology -SourceComputerName Repl1 -SourceVolumeName D: -SourceLogVolumeName L: -DestinationComputerName Repl2 -DestinationVolumeName D: -DestinationLogVolumeName L: -DurationInMinutes 1 -ResultPath C:Data
Вы можете увидеть, как выглядит процесс тестирования ниже.
Вот как это выглядит, когда вы запускаете тест.
Как видно на рисунке, результаты тестирования были сохранены в виде HTML-отчета в папке C:Data. Образцы отчета вы можете увидеть на двух скриншотах ниже.
Как вы можете видеть на снимке экрана выше, командлет Test-SRTopology проверяет не только задержку между двумя серверами. Он проверяет тома, чтобы убедиться, что они подходят для использования с репликацией хранилища, и даже проверяет объем памяти, установленной на серверах.
По мере того, как вы прокручиваете отчет дальше, вы найдете несколько диаграмм, отображающих задержку хранилища и задержку сети. Эти диаграммы отражают изменения задержки за определенный период времени. Когда я запустил свой тест, я установил продолжительность теста в одну минуту. Однако тестирование систем в течение одной минуты не дает реалистичной выборки условий, которые можно было бы ожидать в реальном мире. Известно, что сетевая активность достигает пика в определенное время дня и в определенные дни недели. Таким образом, рекомендуется проводить этот тест как можно дольше. Например, вы можете указать продолжительность в несколько дней или более.
Командлет Test-SRTopology может помочь вам убедиться, что ваши серверы хорошо оснащены для репликации хранилища. Эти тесты должны быть выполнены до включения репликации.
Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:
- Часть 1
- Часть 2
- Часть 3
- Часть 4