Hyper-V и виртуальные диски. Часть 1 — VHD и Pass-through

Продолжаем обсуждать, как Hyper-V работает с различным оборудованием ввода-вывода. Сети мы обсудили — пришло время рассмотреть доступ к дискам. В новой серии статей я рассматриваю в основном серверные сценарии использования Hyper-V при наличии внешних дисковых хранилищ.

Основная ОС, расположенная в parent partition, поддерживает большое количество различных методов доступа к дискам. Примерами могут служить диски, подключенные напрямую к серверу (Directly Attached Storage — DAS): SATA или SAS, а также внешние дисковые хранилища — SAN по протоколам FC и iSCSI. Подключив ваши диски к основной ОС, вы можете затем предоставлять их гостевым виртуальным машинам. Для этого есть различные пути.

Виртуальные диски (VHD)

Еще в Virtual PC и Virtual Server 2005 основным способом предоставления дискового пространства виртуальным машинам было создание виртуальных дисков. С точки зрения основной ОС эти диски являются файлами в формате VHD (Virtual Hard Drive), которые расположены на доступной ей файловой системе. С точки же зрения гостевой машины — никакого файла не существует, а есть локальный жесткий диск, подключенный по протоколу IDE или SCSI. В файле VHD находятся последовательности блоков, формирующие известную операционной системе виртуальной машины таблицу разделов и файловую систему на этих разделах.

В формате VHD существует несколько различных типов виртуальных дисков дисков — фиксированного размера и динамически расширяющиеся. В Hyper-V это не изменилось, так что останавливаться на этом не будем. Максимальный возможный размер файла VHD равен 2040 ГБ (что на 8 ГБ меньше, чем 2 ТБ).

Прямой доступ (Pass-through)

В Hyper-V появилась также новая возможность предоставить виртуальной машине прямой доступ к диску, который доступен основной ОС. В этом случае нет необходимости разбивать диск в основной системе, размечать и форматировать разделы, создавать файлы. Этот способ называется pass-through. Такой диск не ограничен размером в 2040 ГБ и может быть подключен к серверу напрямую или находиться на SAN. В случае, если бы к одному разделу одновременно имели доступ несколько ОС — основная и гостевая — файловая система наверняка бы оказалась повреждена, если не вообще разрушилась. Для того, чтобы гарантировать отсутствие такого конфликта, Hyper-V при подключении диска типа pass-through к виртуальной машине требует, чтобы в основной ОС этот диск диск был отключен (offline). Это напоминает механизм LUN pass-through при доступе к SAN, где в качестве SAN выступает диск основной ОС, а в качестве LUN — pass-through диск виртуальной машины.

Обратите внимание, что использование Pass-throgh дисков кроме очевидных преимуществ в скорости и гибкости использования в случае SAN и iSCSI имеет существенный недостаток, вы потреяете возможность делать снапшоты для VM, использующей pass-through доступ к дискам. Об этом я опишу отдельную статью уже на этой неделе.