Глава 3. Управление настройками диска и сетевой среды
Всякая виртуальная машина имеет свой собственный профиль, основанный на требующихся её операционной системе и приложениям ресурсах, которые вы планируете выполнять на данной виртуальной машине. Сказав это, вам может понадобиться определить наилучшие аппаратные возможности для улучшения производительности, надёжности, высокой доступности и прочих доступных ресурсов для всех возможных сценариев. Обычно главными аппаратными компонентами являются те диски и сетевые ресурсы, которые будут использоваться данными виртуальными машинами.
В некоторых примерах вам может понадобиться большая производительность дисков для поддержки определённых требований баз данных, возможно, вам может понадобиться разрешение виртуальным машинам подключаться напрямую к существующему массиву хранения через Fibre Channel, либо вам может понадобиться оптимизация пропускной способности сетевой среды и получение преимуществ от SR-IOV ( Single Root IO Virtualization , Виртуализации ввода/ вывода единого корня). Вам также может понадобиться защита от аппаратных сбоев или потребуется добавить расширенную безопасность вашей сетевой среде виртуальных машин. именно поэтому мы создали целый раздел в данной книге для более углубленного погружения в различные варианты настроек дисков и сетевых сред виртуальных машин с тем, чтобы вы могли выбрать наилучшие установки на основе тех приложений, которыми вам придётся управлять.
Создание и добавление виртуальных жёстких дисковПри создании некоторой виртуальной машины вам также необходимо определить её дисковые настройки. Hyper-V имеет набор опций и расширенных установок для различных сценариев, при которых вам необходимо конкретно оптимизировать свои настройки хранилищ ВМ ( виртуальной машины ).
Администрирование ваших виртуальных машин и связанных с ними настроек виртуальных дисков будет одной из основных ваших задач на ежедневной основе. Данный рецепт покажет вам как создавать либо VHD ( Virtual Hard Disk , Виртуальный жёсткий диск), либо виртуальный жёсткий диск, который использует формат VHDX, который был впервые введён в Windows Server 2012 Hyper-V для данной ВМ, объясняя все подробности и параметры, которые вам следует знать, чтобы быть уверенным в верной настройке для правильного сценария.
ПодготовкаВ зависимости от типа создаваемого вами виртуального жёсткого диска, например, фиксированного, динамически расширяемого дисков или диска с приращениями вам может понадобиться то же самое пространство физического диска, что и для создаваемого вами виртуального жёсткого диска. Поэтому прежде чем вы начнёте, важно убедиться что на вашем сервере хоста достаточно дискового пространства.
Как это сделать.Следующие шаги демонстрируют как создать и подключить некий виртуальный диск к виртуальной машине:
Для создания нового файла VHDX откройте Диспетчер Hyper-V, кликните New в панели с правой стороны и выберите Hard Disk .
На странице Before you Begin кликните Next .
Подберите нужный формат из предлагаемых, определите либо VHD, либо VHDX на странице Choose Disk Format и кликните Next . На данный момент мы проигнорируем VHD Set .
В Windows Server 2012 R2 Microsoft предложил концепцию совместно используемого файла VHDX . Такие разделяемые файлы VHDX могут совместно применяться виртуальными машинами и выглядеть как коллективно используемые SAS и служить целям развёртывания некоторого Гостевого кластера. Хотя совместно используемые файлы VHDX и не ушли прочь из Windows Server 2016, существовал ряд конструкций для применения файлов VHDX . В Windows Server 2016 доступен новый тип VHD, а именно набор VHD, который является VHD, создаваемым с расширением VHDS . Набор VHD (VHD Set) является новым совместно используемым виртуальным жёстким диском, который может применяться для целей развёртывания Гостевого кластера (Guest cluster)и при этом призван решить некоторые ограничения совместно применяемых файлов VHDX , например, преимущество возможности изменения размера ВМ или наличие возможности заботы о резервных копиях на основе данного хоста. Сам файл VHDS является просто маленьким файлом, который содержит метаданные для координации дисковых операций между узлами в Гостевом кластере, которые осуществляют доступ к совместно используемому VHDX. Такой разделяемый VHDX в Windows Server 2016 является либо фиксированным, либо динамически расширяемым avhdx ( automatic VHDX ), который содержит реальные данные.
В Choose Disk Type выберите тот тип диска, который вы желаете создать, как это отображено на следующем снимке экрана и вновь нажмите Next :
Рисунок 1
На следующей странице определите имя своего диска и его местоположение и кликните Next .
В странице Configure Disk выберите нужные вам при создании вашего диска параметры, определите размер диска и кликните по Finish .
После создания файла VHDX откройте настройки своей виртуальной машины для той ВМ, к которой вы намереваетесь добавить этот диск, выберите IDE или SCSI Контроллер, который вам требуется, и добавьте созданный вами виртуальный жёсткий диск, как это отображено на снимке экрана ниже:
Рисунок 2
Теперь вы можете открыть файл настроек данного диска из своей виртуальной машины и этот новый жёсткий диск будет вам доступен для управления.
Как это работает.Предыдущий процесс показывает как создать некий файл виртуального жёсткого диска, или файл VHD , как мы бы его назвали. Этот формат практически тот же, что и в самом первом продукте виртуализации выпущенном Microsoft в далёком 2007. Естественно, VHD содержит некую файловую систему и раздел, как вы это ожидали бы от нормального физического жёсткого диска. Однако эти VHD представлены как некие файлы, которые могут быть добавлены в вашу виртуальную машину для хранения. Максимальный размер одного файла VHD составляет 2ТБ. Кроме того, данный формат может быть восприимчив к разрушениям в случае отключения электропитания и именно по этой причине Microsoft перешёл на использование файлов VHDX .
Windows Server 2012 Hyper-V предложил новый формат файла с названием VHDX. Этот формат имеет ограничение сверху в 64ТБ и имеет лучшую защищённость от разрушения данных в случае отключения электропитания или не запланированного отключения в вашем сервере хоста. Он также эффективен в плане представления данных (что также имеет название обрезки - trim) и улучшенное выравнивание самого формата виртуального диска. Был улучшен сам метод, который конкретная виртуальная машина применяет для записи всех данных в некий файл VHDX , также как и выделение под данные блоков большего размера, тем самым предоставляя большую производительность. Единственной тёмной стороной VHDX сегодня является то, что он не поддерживается естественным образом в Microsoft Azur.
С новым форматом VHDX вы получаете преимущество от увеличения размера; имеется не много причин зачем вам стоит выбрать более старый формат VHD. Однако, файлы VHDX не доступны в более ранних версиях Hyper-V, например, в Hyper-V Windows Server 2008 R2, однако вы всё ещё имеете возможность преобразовать в VHD без какой- либо потери данных в случае если вам это потребуется. Только не создавайте VHDX который будет превышать в размере 2ТБ.
Наиболее важным параметром при создании файла VHD является его тип VHD. Первым типом VHD является фиксированный размер; Диспетчер Hyper-V создаёт файл в точности с тем размером, который вы предписываете в процессе установки. Именно по этой причине это может занять продолжительное время, в зависимости от файловой системы, создаваемой в файле VHD , а также потребует необходимого дискового пространства в назначенном местоположении. Однако, файлы VHD/ VHDX предоставляют слегка лучшую производительность в сравнении с прочими типами дисков.
Второй вариант, применяемый по умолчанию, динамичное расширение, создаёт некий файл с парой МБ, вне зависимости от того размера, который вы определили в процессе работы с мастером. Данный размер диска будет увеличиваться на основе тех данных, которые вы будете сохранять на данном диске. Именно по этой причине данный дисковый тип требует наблюдения за таким физическим диском. Значение разницы в производительности между дисками с фиксированным и динамическим размеров достаточно мала, однако динамические диски имеют большую фрагментацию диска в сравнении с фиксированными дисками.
Последним и наименее применяемым вариантом является диск приращений. При его создании ваша система запрашивает вас определить имеющийся родительский диск для его использования в качестве базового. Все выполняющиеся операции записи будут осуществляться только на диске приращений. Обычным примером такого диска является случай, когда применяется доступный только для чтения родительский диск с некоторой установленной операционной системой и множество виртуальных машин используют подключаемый к такому родительскому диску диск приращений. Это сберегает дисковое пространство на вашем сервере хоста. Поскольку этот вариант имеет единую точку отказа и плохую производительность, хорошей практикой является его применение только для целей тестирования и сценариев разработки. < Прим. пер.: с этим высказыванием можно поспорить, поскольку данные проблемы могут быть решены как на аппаратном уровне, так и на уровне применяемой файловой системы/ прочей системы хранения (блочной, объектной и т.п.). >
На странице Configure Disk у вас имеются варианты для создания чистого виртуального жёсткого диска, копирования всего содержимого физического диска, либо копирование всего содержимого некоторого имеющегося виртуального жёсткого диска, который представляет интерес в случае наличия у вас существующего VHD/ VHDX , который может применяться в качестве некоторого шаблона.
После клика по Finish , ваша система создаст необходимый файл виртуального жёсткого диска в предписанном местоположении. Вы можете открыть нужную вам виртуальную машину и затем добавить в неё созданный диск.
Дополнительно.Для поклонников PowerShell: вы можете создать некий виртуальный жёсткий диск при помощи cndlet New-VHD и добавить виртуальный жёсткий диск в некую виртуальную машину посредством команды Add-VMHardDiskDrive , как показано ниже.
Следующий пример показывает как создать динамический виртуальный жёсткий диск с 10ГБ в локальном разделе D :
В следующем примере представленная команда добавляет файл VHDX NewDisk виртуальной машине с именем Win-2012R2-01
Изменение размера виртуального жёсткого диска VHDX в реальном времени
Изменение размера виртуального жёсткого диска VHDX в реальном времени позволяет вам устанавливать новый размер виртуальных жёстких дисков для работающих виртуальных машин. Преимущество здесь состоит в том, что вы можете изменять размер хранилища на требующийся вам не испытывая при этом никаких простоев. Однако, имеются некоторые ограничения:
Не существует никакой поддержки для первоначального формата виртуального жёсткого диска VHD
Вы можете изменять размер виртуального жёсткого диска VHDX только если он подключён к контроллеру SCSI
В процессе операции изменения размера записи в самые первые 128кБ такого диска запрещены
Пример ниже отображает как изменить размер некоторого виртуального жёсткого диска VHDX в реальном времени до 60ГБ в локальном разделе D :
Добавление проходного диска для виртуальной машины
Хотя VHDX поддерживает диски до 64ТБ, вы всё ещё можете подключить некий физический диск к своим виртуальным машинам. Вы также не сможете переместить свою виртуальную машину на другой хост, применять моментальные снимки или использовать резервное копирование на основе хоста. Его производительность лучше, а ограничения не слишком обременительны. Чтобы добавить пробрасываемый (pass-through) диск, убедитесь, что данный физический диск в данном компьютере хоста виден как отключённый. Откройте настройки требующейся виртуальной машины, выберите тот контроллер, который вы желаете добавить к этому диску, выберите параметр physical hard disk в ниспадающем списке в Media section под Settings и кликните по OK . После всего этого данный диск будет исключительно использоваться выбранной ВМ.
Вы также можете воспользоваться PowerShell при помощи cmdlet Get-VMScsiController и Add-VMHardDiskDrive для добавления некоторого физического диска к ВМ, как это показано в примере внизу:
Создание виртуальных машин на файловых серверах
Благодаря SMB 3.0 вы теперь можете создавать виртуальные машины и сохранять их виртуальные диски в некотором файловом сервере. Вы можете создать копию файла VHD в совместно используемой папке и просто применять некий сетевой путь.
В приводимом на следующем рисунке примере, некий VHD был создан и размещён в совместном ресурсе, который был настроен со всеми полномочиями управления для соответствующего пользователя и какой- то учётной записи компьютера данного Сервера Hyper-V. При создании определённой виртуальной машины всё что вам необходимо сделать это определить путь UNC ( Universal Naming Conversion , соответствующий Универсальному соглашению именований) данного VHD в этом совместном ресурсе.
Для хранения таких виртуальных машин в совместно используемых папках, применяющих SMB 3.0, вам необходимо что данная учётная запись пользователя для создания такой ВМ и учётная запись применяемого компьютера хоста имеют полный доступ в полномочиях рассматриваемого совместного ресурса и NTFS: