Переход на наборы VHD для предоставления хранилища гостевым кластерам

Опубликовано: 17 Апреля, 2023
Переход на наборы VHD для предоставления хранилища гостевым кластерам

Когда виртуализация серверов впервые стала массовым явлением, одной из проблем, с которой часто сталкивались администраторы, была высокая доступность. До внедрения виртуализации высокая доступность обычно достигалась на уровне приложений. Microsoft Exchange Server, например, использует группы доступности базы данных в качестве механизма обеспечения высокой доступности в случае отключения сервера почтовых ящиков Exchange. В виртуальном мире высокая доступность может быть реализована на уровне хоста, позволяя виртуальным машинам переключаться на другой хост в случае возникновения проблемы. Однако администраторам по-прежнему требовался способ справиться с существующими высокодоступными приложениями.

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

Многие высокодоступные приложения требуют использования общего хранилища. Другими словами, все узлы кластера подключаются к общему диску, поэтому каждый узел имеет доступ к одним и тем же данным. Это оказалось сложным сделать в Hyper-V, не прибегая к использованию виртуальной SAN или сквозной передачи дисков. Однако в Windows Server 2012 R2 Microsoft внедрила поддержку общих файлов VHDX в Hyper-V. Впервые стало легко создавать гостевые кластеры Hyper-V. Все виртуальные машины, составляющие гостевой кластер, могут подключаться к одному VHDX-файлу, который может использоваться совместно узлами.

Хотя функция общего VHDX работала очень хорошо, у нее были некоторые серьезные ограничения. Например, вы не могли использовать функцию репликации Hyper-V с общим VHDX-файлом, а также изменять размер общего VHDX-файла, когда узлы кластера были подключены к сети. Эти конкретные ограничения, хотя и надоедливые, вероятно, не стали препятствием для большинства людей. В конце концов, я предполагаю, что большинство администраторов Hyper-V были просто счастливы иметь более простой способ создания гостевых кластеров.

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

К счастью, в Windows Server 2016 Microsoft предложила лучший способ предоставления хранилища для гостевых кластеров — наборы VHD. Наборы VHD преодолевают ограничения общих сред VHDX. Однако существует одно существенное ограничение на использование наборов VHD. Наборы VHD несовместимы с операционными системами старше Windows 10.

Осуществление перехода на наборы VHD

Если ваша инфраструктура Hyper-V и ваши гостевые операционные системы работают под управлением Windows Server 2016 или более поздней версии, то любые создаваемые вами новые гостевые кластеры в идеале должны основываться на наборах VHD (просто убедитесь, что между узлами доступна высокоскоростная и надежная связь)..

Создание набора VHD — простой процесс. В диспетчере Hyper-V нажмите «Создать», а затем «Жесткий диск». Это заставит диспетчер Hyper-V запустить мастер создания нового виртуального жесткого диска. Нажмите «Далее», чтобы пропустить экран приветствия мастера, и вы попадете на экран «Форматирование диска». Как вы можете видеть на рисунке ниже, этот экран содержит опцию для создания набора VHD. Просто выберите этот параметр, а затем выполните оставшиеся подсказки мастера, как если бы вы создавали виртуальный жесткий диск любого другого типа.

А как насчет существующих гостевых кластеров?

Как видите, создать набор VHD для нового гостевого кластера проще простого. Но что, если у вас есть существующий гостевой кластер, основанный на старом типе общего диска VHDX? Хотя мне не удалось найти какую-либо документацию, в которой говорилось бы, что этот процесс официально поддерживается, вы можете использовать утилиту Convert-VHD для преобразования общего файла VHDX в набор VHD.

Преимущество утилиты Convert-VHD заключается в том, что она оставляет исходный файл виртуального жесткого диска нетронутым. Это означает, что нет риска повредить общий файл VHDX в процессе преобразования. Стоит отметить, что преобразование требует отключения гостевого кластера. Вам также потребуется достаточно свободного физического диска для размещения полной копии содержимого виртуального жесткого диска, а также немного места для дополнительных ресурсов.

Чтобы создать набор VHD из существующего общего файла VHDX, используйте следующую команду PowerShell:

Convert-VHD -Path <path and filename of the shared VHDX file> -DestinationPath <path and filename for the VHD set>

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

Еще одна вещь, которую нужно знать, это то, что вы должны указать расширения файлов для файлов виртуального жесткого диска. Утилита Convert-VHD использует указанное расширение файла, чтобы выяснить, какой тип преобразования следует выполнить.

Чтобы дать вам более конкретный пример, я выполнил преобразование с помощью этой команды PowerShell:

Convert-VHD -Path F:VMsShared.vhdx -DestinationPath F:VMsShared.VHDS

Вы можете увидеть, как это выглядит ниже:

Кстати, вы заметите, что набор VHD использует расширение файла.VHDS. Стоит отметить, что набор VHD на самом деле состоит из двух разных файлов. Файл.VHDS — это файл, к которому вы подключаетесь, но фактические данные находятся в файле.AVHDX, который по сути является просто файлом контрольной точки.

Наборы VHD решают многие проблемы создания гостевых кластеров на Hyper-V. Если вы осуществили переход на Windows Server 2016 в своей организации, вам может оказаться выгодным отказаться от использования общих файлов VHDX в пользу использования наборов VHD.