Глава 3. Управление настройками диска и сетевой среды

Содержание

Глава 3. Управление настройками диска и сетевой среды
Введение
Создание и добавление виртуальных жёстких дисков
Подготовка
Как это сделать...
Как это работает...
Дополнительно...
Изменение размера виртуального жёсткого диска VHDX в реальном времени
Добавление проходного диска для виртуальной машины
Создание виртуальных машин на файловых серверах
Также ознакомьтесь...
Настройка контроллеров IDE и SCSI
Подготовка
Как это сделать...
Как это работает...
Дополнительно...
Настройка Качества обслуживания Системы хранения
Подготовка
Как это сделать...
Как это работает...
Минимальное значение IOPS
Максимальное значение IOPS
Дополнительно...
Также ознакомьтесь...
Настройка и добавление виртуальной системы хранения Fibre Channel
Подготовка
Как это сделать...
Как это работает...
Создание пулов ресурсов
Подготовка
Как это сделать...
Как это работает...
Дополнительно...
Также ознакомьтесь...
Включение и добавление групповых NIC
Подготовка
Как это сделать...
Как это работает...
Дополнительно...
Создание виртуальных коммутаторов и управление ими
Подготовка
Как это сделать...
Как это работает...
Использование наследуемых сетевых адаптеров
Также ознакомьтесь...
Использование расширенных сетевых настроек виртуальных машин
Подготовка
Как это сделать...
Как это работает...
Дополнительно...
Также ознакомьтесь...
Добавление и удаление vmNIC
Подготовка
Как это сделать...
Как это работает...
Дополнительно...

В данной главе мы рассмотрим следующие темы:

  • Создание и добавление виртуальных жёстких дисков

  • Настройка контроллеров IDE и SCSI

  • Настройка Уровня обслуживания (QoS) хранилища

  • Настройка и добавление хранилища Виртуального Fibre Channel

  • Создание пулов ресурсов

  • Включение и добавление группированных NIC

  • Создание виртуальных коммутаторов и управление ними

  • Применение расширенных сетевых настроек виртуальных машин

  • Добавление и удаление vmNIC

Введение

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

В некоторых примерах вам может понадобиться большая производительность дисков для поддержки определённых требований баз данных, возможно, вам может понадобиться разрешение виртуальным машинам подключаться напрямую к существующему массиву хранения через Fibre Channel, либо вам может понадобиться оптимизация пропускной способности сетевой среды и получение преимуществ от SR-IOV (Single Root IO Virtualization, Виртуализации ввода/ вывода единого корня). Вам также может понадобиться защита от аппаратных сбоев или потребуется добавить расширенную безопасность вашей сетевой среде виртуальных машин. именно поэтому мы создали целый раздел в данной книге для более углубленного погружения в различные варианты настроек дисков и сетевых сред виртуальных машин с тем, чтобы вы могли выбрать наилучшие установки на основе тех приложений, которыми вам придётся управлять.

Создание и добавление виртуальных жёстких дисков

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

Администрирование ваших виртуальных машин и связанных с ними настроек виртуальных дисков будет одной из основных ваших задач на ежедневной основе. Данный рецепт покажет вам как создавать либо VHD (Virtual Hard Disk, Виртуальный жёсткий диск), либо виртуальный жёсткий диск, который использует формат VHDX, который был впервые введён в Windows Server 2012 Hyper-V для данной ВМ, объясняя все подробности и параметры, которые вам следует знать, чтобы быть уверенным в верной настройке для правильного сценария.

Подготовка

В зависимости от типа создаваемого вами виртуального жёсткого диска, например, фиксированного, динамически расширяемого дисков или диска с приращениями вам может понадобиться то же самое пространство физического диска, что и для создаваемого вами виртуального жёсткого диска. Поэтому прежде чем вы начнёте, важно убедиться что на вашем сервере хоста достаточно дискового пространства.

Как это сделать...

Следующие шаги демонстрируют как создать и подключить некий виртуальный диск к виртуальной машине:

  1. Для создания нового файла VHDX откройте Диспетчер Hyper-V, кликните New в панели с правой стороны и выберите Hard Disk.

  2. На странице Before you Begin кликните Next.

  3. Подберите нужный формат из предлагаемых, определите либо 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), который содержит реальные данные.

  4. В Choose Disk Type выберите тот тип диска, который вы желаете создать, как это отображено на следующем снимке экрана и вновь нажмите Next:

     

    Рисунок 1


    Новый мастер Виртуального жёсткого диска

  5. На следующей странице определите имя своего диска и его местоположение и кликните Next.

  6. В странице Configure Disk выберите нужные вам при создании вашего диска параметры, определите размер диска и кликните по Finish.

  7. После создания файла VHDX откройте настройки своей виртуальной машины для той ВМ, к которой вы намереваетесь добавить этот диск, выберите IDE или SCSI Контроллер, который вам требуется, и добавьте созданный вами виртуальный жёсткий диск, как это отображено на снимке экрана ниже:

     

    Рисунок 2


    Добавление Виртуального жёсткого диска

  8. Теперь вы можете открыть файл настроек данного диска из своей виртуальной машины и этот новый жёсткий диск будет вам доступен для управления.

Как это работает...

Предыдущий процесс показывает как создать некий файл виртуального жёсткого диска, или файл 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:


New-VHD –Path D:\Hyper-V\VHDs\NewDisk.vhdx –SizeBytes 10GB -Dynamic
 	   

В следующем примере представленная команда добавляет файл VHDX NewDisk виртуальной машине с именем Win-2012R2-01


Add-VMHardDiskDrive –VMName Win-2012R2-01 –Path 'D:\Hyper-V\VHDs\NewDisk.vhdx'
 	   

Изменение размера виртуального жёсткого диска VHDX в реальном времени

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

  • Не существует никакой поддержки для первоначального формата виртуального жёсткого диска VHD

  • Вы можете изменять размер виртуального жёсткого диска VHDX только если он подключён к контроллеру SCSI

  • В процессе операции изменения размера записи в самые первые 128кБ такого диска запрещены

Пример ниже отображает как изменить размер некоторого виртуального жёсткого диска VHDX в реальном времени до 60ГБ в локальном разделе D:


Resize-VHD -Path D:\Hyper-V\VHDs\NewDisk.vhdx -SizeBytes 60gb
 	   

Добавление проходного диска для виртуальной машины

Хотя VHDX поддерживает диски до 64ТБ, вы всё ещё можете подключить некий физический диск к своим виртуальным машинам. Вы также не сможете переместить свою виртуальную машину на другой хост, применять моментальные снимки или использовать резервное копирование на основе хоста. Его производительность лучше, а ограничения не слишком обременительны. Чтобы добавить пробрасываемый (pass-through) диск, убедитесь, что данный физический диск в данном компьютере хоста виден как отключённый. Откройте настройки требующейся виртуальной машины, выберите тот контроллер, который вы желаете добавить к этому диску, выберите параметр physical hard disk в ниспадающем списке в Media section под Settings и кликните по OK. После всего этого данный диск будет исключительно использоваться выбранной ВМ.

Вы также можете воспользоваться PowerShell при помощи cmdlet Get-VMScsiController и Add-VMHardDiskDrive для добавления некоторого физического диска к ВМ, как это показано в примере внизу:


Get-VMScsiController –VMName Win-2012R2-01 –Number 0 | Add-VMHardDiskDrive –DiskNumber 1
 	   

Создание виртуальных машин на файловых серверах

Благодаря SMB 3.0 вы теперь можете создавать виртуальные машины и сохранять их виртуальные диски в некотором файловом сервере. Вы можете создать копию файла VHD в совместно используемой папке и просто применять некий сетевой путь.

В приводимом на следующем рисунке примере, некий VHD был создан и размещён в совместном ресурсе, который был настроен со всеми полномочиями управления для соответствующего пользователя и какой- то учётной записи компьютера данного Сервера Hyper-V. При создании определённой виртуальной машины всё что вам необходимо сделать это определить путь UNC (Universal Naming Conversion, соответствующий Универсальному соглашению именований) данного VHD в этом совместном ресурсе.

Для хранения таких виртуальных машин в совместно используемых папках, применяющих SMB 3.0, вам необходимо что данная учётная запись пользователя для создания такой ВМ и учётная запись применяемого компьютера хоста имеют полный доступ в полномочиях рассматриваемого совместного ресурса и NTFS:

 

Рисунок 3


Добавление Виртуального жёсткого диска посредством UNC

Также ознакомьтесь...

Настройка контроллеров IDE и SCSI

Все виртуальные машины в Hyper-V поддерживают диски IDE и SCSI, причём каждый из них имеет свой собственный набор преимуществ, ограничений, а также присущие лишь ему настройки.

Важно определять когда они необходимы, в чём состоят их ограничения и (что наиболее важно) как их добавлять и как ими управлять, что будет показано в последующих задачах.

Подготовка

По умолчанию любая виртуальная машина имеет два контроллера IDE и один контроллер SCSI, которые могут использоваться для добавления устройств, подобных виртуальным жёстким дискам или дискам DVD. Вы можете применять эти шаги для добавления некоторого устройства, например, виртуального жёсткого диска или подключения некоторого контроллера к имеющейся виртуальной машине.

Как это сделать...

Следующие шаги показывают как добавлять устройства и подключать контроллеры IDE и SCSI к какой- либо виртуальной машине:

  1. Для добавления нового контроллера к какой- то виртуальной машине откройте Диспетчер Hyper-V, выберите требуемую виртуальную машину к которой вы желаете добавить новый контроллер и кликните Settings в панели с правой стороны (или правой кнопкой по этой VM).

  2. По умолчанию вы можете видеть в настройках такой виртуальной машины два контроллера IDE. Чтобы добавить некий жёсткий диск или устройство DVD, выберите IDE Controller 0 или 1, определите нужный тип диска и кликните по Add.

  3. При добавлении нового жёсткого диска вы можете определить конкретный путь VHD в Virtual Hard Disk или воспользоваться кнопкой New для открытия мастера Virtual Hard Disk Wizard.

  4. Если вы предпочтёте добавить к некоторой виртуальной машине контроллер SCSI, выберите слева Add Hardware, затем SCSI Controller и кликните по Add как это отображено на следующем снимке экрана:

     

    Рисунок 4


    Добавление оборудования

  5. Выберите новый или имеющийся контроллер SCSI в этой панели с левой стороны и кликните по Add для вставки нового жёсткого диска.

  6. Определите необходимый путь жёсткого диска или воспользуйтесь кнопкой New для создания нового файла VHDX.

  7. Кликнув по OK, вы сообщите своей виртуальной машине о необходимости настройки нового контроллера и соответствующих подключённых к нему дисков.

Как это работает...

В Hyper-V все виртуальные машины по умолчанию поступают, как уже объяснялось, с двумя контроллерами IDE и одним контроллером SCSI, причём с возможностью добавлять и удалять их, основываясь на тех ограничениях, которые имеет каждый из них.

Для виртуальных машин 1 поколения (Generation 1), по умолчанию должен был применяться по крайней мере один IDE диск, так как только он поддерживал метод для загрузки некоторой операционной системы. Вы можете смешивать контроллеры IDE и SCSI для одной и той же ВМ, но стартовый диск для начальной загрузки операционной системы вашей ВМ для данного типа поколения должен быть контроллером IDE. Вы можете иметь до двух IDE контроллеров для виртуальной машины и два диска для каждого IDE контроллера.

[Замечание]Замечание

Одним из преимуществ ВМ (виртуальной машины) 2 поколения над ВМ 1 поколения состоит в её возможности осуществлять начальную загрузку некоторой ВМ с виртуального диска SCSI. Однако, ВМ 2 поколения не поддерживают виртуальные жёсткие диски VHD первоначального формата и поэтому имеется компромисс при проектировании вашего хранилища ВМ, который следует учитывать.

Если у вас имеется виртуальная машина, которой требуется более четырёх дисков, наилучшим вариантом является контроллер SCSI. Он имеет ограничение для относительно больших сред с поддержкой до 256 дисков, подразделяемых на четыре устройства SCSI (64 диска на контроллер SCSI). Другим преимуществом является возможность добавлять диски при исполняющихся виртуальных машинах, без необходимости их отключения.

[Замечание]Замечание

Хорошей отправной точкой при планировании хранилища вашей виртуальной машины является применение контроллеров IDE для вашего диска начальной загрузки, причём подключаемый диск будет содержать саму операционную систему, и применять контроллеры SCSI для дополнительных дисков с наличием преимущества в способности добавления дополнительных виртуальных дисков VHDX на лету.

Дополнительно...

PowerShell также предоставляет ряд cmdlet для управления контроллерами IDE и SCSI, например, Get-VMScsiController, Get-VMIdeController, Add-VMScsiController и Remove-VMScsiController.

В этом удобном для применения примере мы берём все виртуальные машины с именами, которые начинаются с Win-2012R2-0 и добавляем некий новый контроллер SCSI:


Get-VM –Name Win-2012R2-0* | Add-VMScsiController
 	   

Благодаря наличию возможности объединять cmdlet PowerShell вы можете определить ту виртуальную машину, к которой вы желаете добавить определённый контроллер SCSI с использованием некоторой отдельной команды без необходимости применения вначале cmdlet Get-VM:


Add-VMScsiController –VMName Win-2012R2-0*
 	   

Обе эти команды выполняют одну и ту же операцию - добавление нового контроллера SCSI ко всем ВМ, у которых имена начинаются с Win-2012R2-0. Это хорошая возможность продемонстрировать как просто применять PowerShell.

Настройка Качества обслуживания Системы хранения

Предложенное в Windows 2012 R2 Hyper-V, QoS (quality of service, Качество обслуживания) хранилища снабжает администратора Hyper-V возможностью определять минимальное и максимальное значения для нагрузки ввода/ вывода, связанной с данным виртуальным диском некоторой виртуальной машины.

Подготовка

QoS Системы хранения позволяет вам настраивать резервы и пределы связанные с имеющейся нагрузкой ввода/ вывода некоторого виртуального жёсткого диска, который размещается в совместно используемом хранилище для обеспечения изоляции, а также как средство планирования и выделения ресурсов для данного приложения или рабочей нагрузки.

Как это сделать...

Последующие шаги показывают как настроить QoS Хранилища для определённого виртуального жёсткого диска:

  1. Для настройки QoS Хранилища на некотором виртуальном жёстком диске откройте Диспетчер Hyper-V, выберите виртуальную машину на которой вы хотите настроить это свойство и кликните Settings в панели с правой стороны (или кликните правой кнопкой по этой VM).

  2. По умолчанию вы можете увидеть один контроллер SCSI в установках такой виртуальной машины. Для включения QoS выберите SCSI Controller, затем Hard Drive и перейдите в Quality of Service.

  3. Находясь в Quality of Service, кликните Enable Quality of Service Management и в полях Minimum и Maximum для IOPS введите значение, которое представляет общий объём IOPS, который вы желаете определить этому конкретному виртуальному жёсткому диску либо для резервирования, либо не превосходить его, как это показано на следующем снимке экрана:

     

    Рисунок 5


    Включение QoS Системы хранения

  4. Кликните OK. Теперь виртуальный жёсткий диск вашей машины настроен с пределами минимума и/ или максимума IOPS QoS Хранилища.

Как это работает...

QoS Хранилища предоставляет способ настройки и управления производительностью хранилища для виртуального жёсткого диска определённой виртуальной машины. Эта функциональность автоматически улучшает справедливость распределения ресурсов хранения между множеством виртуальных машин в одной и той же структуре хранения и делает возможным определение целей конкретных минимальных и максимальных значений производительности для их настройки в единицах, исчисляемых в нормализованных IOPS. Такие нормализованные IOPS измеряются в 8кБ приращениях и любые IOPS большего размера делятся на 8кБ приращения для вычисляемых процессов. Например, некоторый 128кБ запрос трактуется как 16 нормализованных IOPS. Правильное планирование является ключевым моментом если вы рассматриваете реализацию QoS Системы хранения, так как если они не настроены правильно, вы в конце концов можете получить воздействие на производительность данной виртуальной машины.

QoS Хранилища может настраиваться распределённым образом совместно с Горизонтально масштабируемым Файловым сервером и вы можете прочесть дополнительную информацию об этом в Главе 7, Настройка высокой доступности Hyper-V.

Минимальное значение IOPS

QoS Хранилища предоставляет возможность установить минимальное значение или резерв в некотором виртуальном жёстком диске. Это не минимально гарантированное значение, однако установив некое минимальное значение IOPS, причём сделав это на всех виртуальных жёстких дисках, будет вырабатываться уведомление на основе события при невозможности предоставления такого минимального значения IOPS.

Все минимальные жёсткие диски, которые не имеют заданного значения минимума IOPS по умолчанию имеют значение, установленное в 0, что в действительности не устанавливает какого- либо определённого значения.

Максимальное значение IOPS

QoS Системы хранения предоставляет возможность устанавливать некое максимальное значение или верхний предел на каком- то виртуальном жёстком диске. Это наиболее интересное из этих рассматриваемых двух значений, так как оно позволяет вам осуществлять ограничение от агрессивных IOPS виртуального жёсткого диска, следовательно вы можете распределять ресурсы хранения и управлять ими более управляемым образом.

Опять же, если какой- либо виртуальный жёсткий диск не имеет заданного значения максимума IOPS, тогда это значение будет автоматически установлено в 0, что на самом деле исключает какие- либо установки ограничений.

Дополнительно...

PowerShell также предоставляет пару cmdlet для управления QoS Системы хранения, например, Get-VMHardDiskDrive и Set-VMHardDiskDrive. В приводимом далее примере мы получаем все виртуальные жёсткие диски, подключённые к SCSI контроллеру 0 для заданной последовательности виртуальных машин и устанавливаем их максимальное значение IOPS в 150, тем самым, делая возможной масштабную настройку QoS:


Get-VMHardDiskDrive -VMName Win-2012R2-0* -ControllerType SCSI -ControllerNumber 0 | Set-VMHardDiskDrive -MaximumIOPS 150
 	   

Также ознакомьтесь...

Глава 7, Настройка высокой доступности Hyper-V

Настройка и добавление виртуальной системы хранения Fibre Channel

FC (Fibre Channel ) является одной из самых распространённых технологий, применяемых для соединения с хранилищем. Это исключительный выбор для высокоскоростных соединений между серверами и имеющимся хранилищем и наиболее общим вариантом в сценариях физического сервера.

Начиная с Windows Server 2012 Hyper-V стало возможным добавлять сетевые адаптеры Fibre Channel в виртуальные машины, предоставляя те же самые совместимость и высокую производительность, что даёт физический сервер, делая возможным для Гостевой операционной системы применять кластеризованное окружение, например, данный рецепт покажет как создать конкретный SAN Fibre Channel и добавить его к некоторой ВМ.

Подготовка

Прежде чем вы создадите SAN Fibre Channel, убедитесь что HBA Fibre Channel установлен и что все порты HBA включены в данном физическом компьютере. Помимо этого, важно проверить что HBA Fibre Channel работает с самой последней версией встроенного ПО (firmware) и что сам HBA предоставляет поддержку для Виртуального FC через NPIV (N_Port ID Virtualization, Виртуализацию идентификатора N_Port).

[Замечание]Замечание

В настоящее время Виртуальный Fibre Channel не поддерживается в Нано Сервере.

Как это сделать...

В приводимой далее последовательности вы увидите как добавить и настроить новый SAN Fibre Channel для некоторой виртуальной машины.

  1. Чтобы создать новый SAN Fibre Channel, откройте Диспетчер Hypeer-V и кликните по Virtual SAN Manager в панели с правой стороны.

  2. В окне Virtual SAN Manager кликните по New Fibre Channel SAN в панели слева и затем Create.

  3. Определите имя своего виртуального SAN и запишите дополнительные замечания в этой панели. Выберите флаговую кнопку для того физического HBA, который вы хотите присоединить к своему виртуальному SAN и кликните по OK для создания своего виртуального SAN, как это отображено на снимке экрана ниже:

     

    Рисунок 6


    Создание нового Виртуального Fibre Channel SAN

  4. Откройте настройки данной виртуальной машины, в которую вы хотите добавить адаптер Fibre Channel, кликните по Add Hardware слева, выберите Fibre Channel Adapter и затем Add.

  5. В своём новом адаптере Fibre Channel выберите в ниспадающем списке virtual SAN который вы желаете добавить к своей ВМ.

  6. Если вы собираетесь изменить адреса данного порта, кликните по Edit Addresses, как это отображено на приводимом ниже снимке экрана:

     

    Рисунок 7


    Добавление адаптера Fibre Channel

  7. Кликните Copy если вы хотите скопировать изменённые адреса в буфер обмена, чтобы сделать более простым их использование для запоминания при изменении в настройке самого хранилища.

  8. Кликните по OK для подтверждения и создания нового адаптера Fibre Channel.

Как это работает...

Начиная с Windows Server 2012 Hyper-V стало проще присоединять некую виртуальную машину к хранилищу, которое соединяется с применением структуры Fibre Channel. Всё что требуется от вас, это создать некий виртуальный SAN. После этого вам нужно добавить новый адаптер Fibre Channel к этой ВМ и, в случае необходимости, изменить WWN (World Wide Names, Всемирные имена). В каждую виртуальную машину вы можете добавлять до четырёх адаптеров Fibre Channel. Каждый Fibre Channel адаптер имеет набор WWN, причём они применяются для идентификации таргетов и инициаторов хранилища. Эти адреса автоматически создаются на основании имеющихся настроек ваших Установок Global Fibre Channel, которые можно изменять через диспетчер виртуального хранилища. Помимо этого вы можете изменять такие автоматически создаваемые адреса, кликнув по Edit Addresses.

Наконец, вы открываете свои настройки виртуального жёсткого диска и инициируете эти диски хранения внутри своей ВМ.

[Замечание]Замечание

Хранилище Fibre Channel можно применять внутри ВМ только для томов данных, но не в качестве диска начальной загрузки. ВМ, настраиваемые на применение виртуального адаптера Fibre Channel должны работать в таком госте под управлением одной из следующих ОС: Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows 2012 R2 или Windows 2016.

Создание пулов ресурсов

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

Для соединения ресурсов в одно целое и чтобы сделать более простым их выделение и измерение, в Windows 2012 Hyper-V было введено понятие пулоа ресурсов.

Основная идея пулов ресурсов состоит в том, чтобы помещать выделяемые виртуальным системам ресурсы в некий пул. В Hyper-V могут применяться следующие типы ресурсов:

  • Опертивная память

  • Процессор

  • Ethernet

  • VHD

  • ISO

  • VFD (Virtual Floppy Disks)

  • Порты Fibre Channel

  • Соединения Fibre Channel

  • PciExpress

В данном рецепте мы увидим некоторые примеры наиболее распространённых пулов ресурсов, таких как пулы хранения и пулы Ethernet.

Подготовка

Возможность создания пулов ресурсов не предоставляется через имеющийся графический интерфейс, она доступна только через PowerShell. Однако для начала вам следует открыть PowerShell от имени администратора.

Как это сделать...

Приводимые ниже этапы проведут вас сквозь процесс создания пулов ресурсов хранения и Ethernet:

  1. Прежде чем мы приступим к созданию нашего пула ресурса хранения, нам необходимо собрать воедино некоторые виртуальные жёсткие диски. В нашем примере в одной папке с названием StoragePool1 созданы четыре VHD, как это отображается на следующем снимке экрана:

     

    Рисунок 8


    Ресурсы пула хранения

  2. Откройте PowerShell и наберите команду New-VMResourcePool определяющую путь к данному диску после параметра -Path:

    
    New-VMResourcePool –Name StoragePool1 –ResourcePoolType VHD –Paths C:\Hyper-V\StoragePool1
     	   
  3. После создания такого пула ресурса выберите ту виртуальную машину, к которой вы желаете добавить данный новый пул ресурса хранения из Диспетчера Hyper-V и откройте его установки.

  4. В Virtual Machine Settings выберите тот жёсткий диск, который вы собираетесь добавить, определите требующийся пул ресурса в ниспадающем перечне в панели с правой стороны и затем выберите виртуальный жёсткий диск в отобранном пуле ресурса, как это отображено на снимке экрана ниже. Кликните по OK для подтверждения и добавления такого диска из данного пула ресурса:

     

    Рисунок 9


    Создание Пула ресурса хранения

  5. Для создания некоторого пула Ethernet вновь откройте PowerShell и наберите cmdlet New-VMResourcePool применив Ethernet после ResourcePoolType:

    
    New-VMResourcePool –Name EthernetResourcePool1 –ResourcePoolType Ethernet
     	   
  6. Теперь откройте установки той виртуальной машины, для которой вы хотите использовать новый пул ресурса Ethernet.

  7. Выберите тот Network Adapter, который вы желаете добавить в имеющийся пул ресурса и выберите имеющийся новый пул ресурса. Выберите виртуальный коммутатор, присутствующий в панели с правой стороны, как это отображается на следующем снимке экрана:

     

    Рисунок 10


    Создание Пула ресурса Ethernet

  8. Кликните OK и после этого ваша виртуальная машина будет настроена с данным новым пулом ресурса.

Как это работает...

Самые первые ваши шаги провели вас через пример создания пулов ресурса хранения, которые являются наиболее часто применяемыми пулами ресурсов.

Воспользовавшись командой New-VMResourcePool мы создали пул ресурса с названием StoragePool1, использующий все доступные диски из пути C:\Hyper-V\StoragePool1. В следующем примере все эти четыре диска доступны в таком вновь созданном пуле ресурса.

[Замечание]Замечание

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


New-VMResourcePool "Resource Pool Name" –ResourcePoolType VHD -Paths "C:\Hyper-V\StoragePool1", "D:\Hyper-V\ StoragePool1"
 	   

Хотя все перечисленные шаги показывают только два примера пулов ресурсов, вы можете создавать также и прочие типы. Доступными типами ресурсов, которые вы можете создавать, являются: memory, processor, ethernet, vhd, iso, vfd, fibrechannelport, fibrechannelconnection и PciExpress.

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

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

Дополнительно...

Из- за отсутствия графического интерфейса интересно будет знать, что PowerShell имеет команду для отображения перечня дополнительной информации об имеющихся пулах ресурсов - Get-VMResourcePool. Набрав cmdlet Get-VMResourcePool в PowerShell, вы получите отображение всех имеющихся пулов и такую информацию, как имя, тип, название компьютера и тому подобную. Для вывода пулов ресурсов по типу вы можете применять простой фильтр, такой как Get-VMResourcePool –ResourcePoolType Ethernet и затем, например, получить весь пул ресурса Ethernet.

Также ознакомьтесь...

С рецептом Применение метрик ресурса в Главе 10, Мониторинг, настройка и поиск неисправностей Hyper-V.

Включение и добавление групповых NIC

В случае отказа для важных служб всегда необходима высокая доступность (high availability) чтобы быть уверенными в таких службах, то есть, те приложения и рабочие нагрузки, от которых зависит ваше дело, должны оставаться в рабочем состоянии. Среда с высокой доступностью имеет различные компоненты, такие как серверы, зачастую настраиваемые в некий отказоустойчивый кластер, дублированные массивы хранения, реплицируемые хранилища и тому подобное. Конечно, все эти компоненты должны быть соединены воедино, и именно по этой причине сетевые адаптеры должны иметь высокую доступность в случае отказа. 75 процентов применяющих решения высокой доступности компаний будут использовать некоторые виды решения для агрегации двух или более сетевых адаптеров в некий единый интерфейс. Это предоставляет балансировку нагрузки и высокую доступность с точки зрения сетевой среды. Такое решение имеет множество названий, LBFO (Load Balance and Failover, Балансировка нагрузки и устойчивость к отказам), связывание NIC (NIC bonding) или группирование NIC (NIC teaming). Мы будем применять терминологию Microsoft, группирование NIC (NIC teaming). При использовании группирования NIC вы можете иметь отказоустойчивость обмена и балансировку нагрузки в рамках Windows. Это предотвращает потерю связи в случае отказа некоторого сетевого адаптера, кабеля или порта без необходимости какого- либо решения стороннего производителя или затратных компонентов оборудования для такого случая.

В Windows 2016 существует два способа реализации группирования NIC. Присутствует классическая модель Windows Server 2012 R2, которая целиком поддерживается в Windows 2016, а также имеется новый архитектурный подход с применением SET (Switch Embedded Teaming, Группирования встроенным коммутатором).

 

Рисунок 11


Сопоставление настроек группирования NIC - классической модели Windows 2012 R2 и SET Windows 2016

Данный рецепт проследует по подробностям включения группирования NIC и объяснит различные доступные опции.

Подготовка

Наилучшей практикой является применение тех же самых сетевых адаптеров с теми же самыми настройками такими, как скорость, драйверы и функциональность. Говоря это мы подразумеваем, что прежде чем вы начнёте, у вас уже имеются сетевые адаптеры с теми же самыми установками настройки.

[Замечание]Замечание

Включение CDN (Consistent Device Naming, Согласованное именование сетевых устройств) является одним из тех предметов, о котором вы должны подумать заранее при подготовке. CDN гарантирует вам надлежащую пометку ваших NIC в соответствии с их физическим именованием во встроенном программном обеспечении.

Поддержка CDN является необязательной и может требовать своего включения в BIOS {Прим. пер.: Firmware} вашего сервера, если она не была выполнена первоначально. В сервере HPE, например, вам придётся сделать это изменив настройки BIOS нажав F9 в процессе загрузки и выбрав System Configuration | BIOS/Platform Configuration (RBSU) | Advanced Options | Advanced System ROM Options | Consistent Device Naming.

Как это сделать...

Приводимые далее шаги показывают как создать, настроить и добавить группированный NIC в физическом хосте Hyper-V усиливая классическую модель Windows 2012 R2. Позже в данном рецепте мы рассмотрим SET (Switch Embedded Teaming).

  1. В Диспетчере сервера кликните по All Servers или Hyper-V в панели с левой стороны и кликните по Configure Network Adapter Teaming, как это показано на приводимом ниже снимке экрана:

     

    Рисунок 12


    Диспетчер сервера - настройка группирования NIC

  2. В окне NIC Teaming кликните по Tasks и New Team, как это отображено в следующем снимке экрана:

     

    Рисунок 13


    Диспетчер сервера - настройка новой группы

  3. В окне New team определите название группы вверху и выберите те сетевые адаптеры, которые вы желаете добавить в данную группу NIC.

  4. В Additional properties выберите настройки для Teaming mode, Load distribution mode и Primary team interface, например, участие в VLAN. Кликните OK, как это отображено на последующем снимке экрана:

     

    Рисунок 14


    Диспетчер сервера - настройка новой группы - добавление свойств

  5. Теперь, когда вы откроете сетевые настройки своего сервера Windows, вы увидите новый групповой интерфейс NIC и вы можете приступать к сетевым настройкам, установке IP и тому подобному, как если вы бы работали с другим обычным сетевым адаптером.

    [Замечание]Замечание

    По выбору, чтобы добавить нового участника в группу через PowerShell, выполните следующую команду, определив имена и NIC и группы соответственно в <NicName> и <TeamName>:

    
    Add-NetLbfoTeamMember <NicName> <TeamName>
     	   

Группа NIC также может быть создана и настроена посредством PowerShell с применением cmdlet New-NetLbfoTeam:


New-NetLbfoTeam Team1 <NicName1>,<NicName2>
 	   

Группирование NIC также может быть произведено внутри некоторой ВМ. Это позволяет ВМ иметь связанные с ней vNICS (virtual NICs), подключаемые к более чем одному vSwitch (Hyper-V switch), что предоставляет возможность продолжения сопровождения связи даже если имеющийся физический NIC в одном их коммутаторов отключается.

Развёртываемые внутри некоторой ВМ NIC часто используются с применением SR-IOV (Single Root I/O Virtualization, Виртуализации ввода/ вывода с единым корнем). Обмен SR-IOV обходит коммутатор Hyper-V и не может быть защищён группированием NIC на уровне хоста Hyper-V.

Приводимые далее шаги показывают как создать, настроить и добавить сгруппированный NIC внутри некоторой ВМ, усиливая классическую модель Windows 2012 R2. В качестве напоминания: позже в этом рецепте мы обсудим SET (Switch Embedded Teaming, Группирование встроенным коммутатором):

  1. В Диспетчере Hyper-V, в настройках для конкретной ВМ, выберите vNIC ВМ и её элемент Advanced Settings, затем разрешите enable this network adapter to be part in the guest operating system (разрешите данному сетевому адаптеру участвовать в данной гостевой операционной системе) и кликните OK.

  2. Внутри данной ВМ откройте Диспетчер сервера, кликните All Servers или Hyper-V в панели с левой стороны, кликните правой кнопкой по тому серверу, для которого вы желаете включить группирование NIC и кликните по Configure Network Adapter Teaming, следуя описанными ранее шагами.

    [Замечание]Замечание

    По выбору, весь процесс для включения группирования NIC внутри некоторой ВМ может быть разрешён через командную строку. Откройте PowerShell и выполните следующую команду, определив имя своей виртуальной машины в <VMName>.

    
    Get-VM <VMName> | Set-VMNetworkAdapter –AllowTeaming On
     	   
  3. Откройте настройки той виртуальной машины, для которой вы хотите включить группирование, выберите необходимую внешнюю сеть и выберите нужный интерфейс для группировки из ниспадающего списка.

    [Замечание]Замечание

    Группирование NIC внутри некоторой ВМ может работать только в группировании Независимой коммутации (Switch Independent teaming) с применением распределённого режима Хэширования адреса (Address Hash distribution mode).

Как это работает...

Хотя также как и для некоторой виртуальной машины Hyper-V, вы можете добавлять сгруппированные сетевые адаптеры и физическому хосту Hyper-V, группирование NIC не является свойством Hyper-V. Группирование NIC является функциональностью Windows Server и может применяться для любых сетевых рабочих нагрузок, включая и производимые виртуальными машинами. {Прим. пер.: Соответственно, для виртуальных машин Linux, исполняющихся под Hyper-V применяются инструменты группирования Linux.}

По умолчанию, группирование NIC Windows Server в классическом режиме Windows 2012 R2 поддерживает в отдельной группе до 32 физических сетевых адаптеров.

[Замечание]Замечание

Hyper-V поддерживает только назначение двух сетевых адаптеров в некую группу для виртуальной машины.

Имеются три режима настройки для группирования NIC. Режимом по умолчанию является независимая коммутация (switch independent). В данном случае сам коммутатор не знает что данный сетевой адаптер участвует в группировании, тем самым позволяя ему подключение к различным коммутаторам. Следующим режимом является статическое группирование (static teaming). Оно требует того, чтобы данный коммутатор и данный компьютер были настроены на то, чтобы иметь возможность определения проблем с имеющимися сетевыми адаптерами. Последним из трёх режимов является LACP (Link Aggregation Control Protocol, Управляющий протокол агрегации связей). LACP определяет связи динамически. В большинстве случаев самому LACP необходима ручная настройка для включения применения этого протокола данного порта.

Имеются также три алгоритма распределения для группирования NIC; алгоритмом по умолчанию является Динамический. Этот вариант является объединением наилучших свойств из двух прочих алгоритмов распределения, собранных в единый алгоритм. В этом режиме:

  • Исходящий обмен распределяется на основе хэширования портов TCP и адресов IP. Динамический режим также осуществляет повторную балансировку в реальном времени, что даёт данному исходящему потоку возможность гулять между являющимися участниками одной и той же группы NIC взад и вперёд.

  • Входящий обмен распределяется таким образом, как если бы применялся Порт коммутации Hyper-V.

Следующим режимом Hyper-V является Порт коммутации (switch port). Поскольку виртуальная машина обладает выделенными ей MAC адресами, основанием для деления обмена является MAC адрес ВМ, или её порт, подключённый к коммутатору Hyper-V. Существует некоторое преимущество в применении такой балансировки нагрузки в Hyper-V и в Hyper-V Windows Server 2012 этот вариант является предпочтительным. Однако, с введением Hyper-V Windows Server 2012 R2 это изменилось, и Динамический режим стал предпочтительным алгоритмом балансировки нагрузки. Самый последний из имеющихся трёх, просто для полноты, является Хэширование адреса (Address Hashing). Хэширование адреса создаёт на основе элемента адреса некий хэш пакетов и затем назначает пакеты, которые имеют данный хэш адреса одному из доступных в группе NIC.

Зачем столько вариантов настроек, какую из них вам следует выбирать и почему? Коммутация Independent/Dynamic зачастую является самой распространённым и наилучшим вариантом для группирования NIC и в естественной среде, и в окружении Hyper-V. Однако имеются некоторые исключения:

  • Когда группирование NIC реализуется внутри некоторой ВМ

  • Когда имеется требование реализации группирования, зависящего от коммутатора (например, в случае использования LACP)

  • Когда существует требование группирования NIC и данная группа состоит из двух участников с настройкой Активный/ В режиме ожидания

Вы можете включить использование группированного NIC в некоторой ВМ с применением команд PowerShell и добавлять дополнительные NIC к такой виртуальной машине. Вы будете иметь ту же самую среду в качестве физического сервера применяемого в данной виртуальной машине, причём без каких- либо дополнительных инструментов или решений сторонних разработчиков, а также вы можете получать преимущества от усиливающей функциональности, например от SR-IOV (Single-Root Input/Output Virtualization, Виртуализации ввода/ вывода с единым корнем).

Хотя это и возможно, важно отметить, что группирование NIC может быть сформировано только для однородных NIC. Например, это могут быть два 1GbE, или два 10GbE в одной группе, однако в одной и той же группе не могут участвовать 1GbE и 10GbE.

[Замечание]Замечание

При включении идобавлении группирования NIC также важно рассматривать какие основополагающие сетевые службы вы планируете включать. Включая такие основные сетевые службы, вы достигните наивысшего уровня производительности и надёжности в своём сетевом окружении.

Как минимум, вам следует рассмотреть включение и RSS (Receive Side Scaling, Масштабирование принимающей стороны), и VMQ (Virtual Machine Queues, Очереди виртуальных машин). И RSS, и VMQ включают эффективную обработку получаемых данных на множестве WGE в вашем хосте.

Дополнительно...

SET (Switch Embedded Teaming, Группирование встроенным коммутатором) предоставляет альтернативное классической модели Windows Server 2012 R2 решение группирования NIC и может применяться в средах, которые содержат Hyper-V и стек SDN (Software Defined Networking, Программно определяемой сетевой среды), который можно обнаружить в Windows Server 2016 с установленной функциональностью Сетевого контроллера (Network Controller).

[Замечание]Замечание

SET позволяет вам группировать до восьми сетевых адаптеров в один или более сгруппированных интерфейсов.

SET интегрирован в vSwitch (Virtual Switch, Виртуальный коммутатор) Hyper-V, поэтому вы не можете применять SET внутри некоторой ВМ. Однако вы можете воспользоваться классической моделью группирования Windows Server 2012 R2 внутри такой ВМ.

[Замечание]Замечание

В отличие от классической модели Windows 2012 R2, SET поддерживает только режим Независимой коммутации (Switch Independent) и все ваши варианты режимов балансировки нагрузки для некоторой группы SET ограничены до Hyper-V Порта и Динамического.

Вы создаёте некую группу SET в тот же самый момент времени, когда вы создаёте Виртуальный коммутатор Hyper-V при помощи команды PowerShell New-VMSwitch:


New-VMSwitch -Name SETvSwitch -NetAdapterName "NicName1","NicName2" -EnableEmbeddedTeaming $true
 	   

Чтобы изменить в группе SET участников, просто введите нужный вам список участников после опции NetAdapterName в применением команды PowerShell Set-VMSwitch. Если SETvSwitch был первоначально создан с NicName1 и NicName2, тогда команда внизу удалит участника группы NicName2:


Set-VMSwitchTeam -Name SETvSwitch -NetAdapterName "NicName1"
 	   

Вы можете удалить группу SET только удалив Виртуальный коммутатор Hyper-V, который связан с этой группой SET. Воспользуйтесь Remove-VMSwitch для удаления Виртуального коммутатора Hyper-V. Следующая команда PowerShell удаляет Виртуальный коммутатор с названием SETvSwitch:


Remove-VMSwitch "SETvSwitch"
 	   

Наконец, команда PowerShell Set-VMSwitchTeam имеет опцию LoadBalancingAlgorithm. Эта опция принимает два аргумента: HyperVPort или Dynamic. Чтобы установить изменение алгоритма балансировки нагрузки для некоторой группы SET, воспользуйтесь следующей командой PowerShell:


Set-VMSwitch -Name SETvSwitch -VMSwitchLoadBalancingAlgorithm Dynamic
 	   

Создание виртуальных коммутаторов и управление ими

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

Доступные в Hyper-V Windows Server 2016 виртуальные коммутаторы приходят с некоторыми интересными свойствами, такими как частные VLAN, управление полосой пропускания, защитой спуфинга и прочими компонентами, которые будут рассмотрены в данном рецепте.

Прежде чем мы приступим к современным компонентам, мы рассмотрим основные опции коммутации и то, как создать и добавить виртуальный коммутатор в некую виртуальную машину.

Подготовка

Для применения внешних коммутаторов в Hyper-V убедитесь что установлены все сетевые драйверы и что все сетевые адаптеры разрешены в данном компьютере хоста.

Как это сделать...

Последующие шаги рассмотрят общий процесс создания некоторого нового коммутатора и настройки его основных настроек.

  1. Для создания нового коммутатора откройте диспетчер Hyper-V и кликните по Virtual Switch Manager в панели действий.

  2. Выберите тот тип виртуального коммутатора, который вы хотите создать, этот выбор осуществляется между Внешним, Внутренним или Частным и кликните по Create Virtual Switch, как это показано на следующем снимке экрана:

     

    Рисунок 15


    Диспетчер виртуального коммутатора

  3. Новый виртуальный коммутатор будет доступен с левой стороны. Определите для своего виртуального коммутатора некоторые имя и описание в имеющейся с правой стороны панели.

  4. Для параметра Connection type вы можете выбрать External, Internal или Private сетевую среду. Для внешних сетевых сред у вас имеется две опции - Разрешить управлению операционной системы совместно использовать этот сетевой адаптер и Включить SRIOV (single-root I/O virtualization, виртуализацию ввода/ вывода с единым корнем). Для внешних сетевых сред выберите в ниспадающем перечне тот сетевой адаптер рассматриваемого компьютера хоста, который будет привязываться (bound) к данному виртуальному коммутатору. На последующем снимке экрана был создан некий виртуальный коммутатор с применением опции внешней сетевой среды:

     

    Рисунок 16


    Новый виртуальный коммутатор

    [Замечание]Замечание

    При создании некоторой опции внешней стетевой среды сетевыая связь в данном компьютере хоста временно прерывается. Это происходит из- за того, что когда вы создаёте некий внешний сетевой коммутатор, Диспетчер Виртуального коммутатора Hyper-V производит изменения настройки в свойствах такого физического сетевого адаптера.

  5. Если имеется такая необходимость, включите VLAN ID, кликнув по Enable virtual LAN identification for management operating system (Включить идентификацию виртуальной LAN для управления операционной системой) и определите некий идентификатор для неё в VLAN ID.

  6. Для подтвержденеия выбора опций и создания своего нового виртуального коммутатора кликните по OK.

  7. Для добавления нового виртуального коммутатора в некую виртуальную машину откройте Диспетчер Hyper-V, выберите ту виртуальную машину, в которой вы хотите произвести изменения и кликните по Select в имеющейся панели действий.

  8. В появившихся настройках виртуальной машины выберите имеющийся сетевой адаптер или добавьте новый, применив опцию Add Hardware в панели с левой стороны.

  9. В данном сетевом адаптере, под Virtual switch в ниспадающем перечне выберите тот виртуальный коммутатор, который вы собираетесь добавить в свою ВМ. На следующем снимке экрана был добавлен созданный в предыдущем задании виртуальный коммутатор - External Virtual Switch:

     

    Рисунок 17


    Привязка новой виртуальной машины к новому виртуальному коммутатору

  10. Для создания в своей ВМ некторого предела полосы пропускания пометьте опцию Enable bandwidth management (Включить управление полосой пропускания) и определите Minimum bandwidth и Maximum bandwidth, как показано на предыдущем снимке экрана и кликните OK.

  11. После всего этого ваша виртуальная машина будет применять данный созданный виртуальный коммутатор и у вас будет возможность изменять внутри этой ВМ все сетевые настройки.

Как это работает...

Как и в предыдущих версиях, Hyper-V всё ещё имеет те же самые три сетевых типа при создании нового виртуального коммутатора: Внешняя, Внутренняя и Частная сетевая среда.

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

[Замечание]Замечание

Hyper-V Windows Server 2016 предоставляет поддержку для беспроводных сетевых адаптеров, которые могут быть применены для некоторой внешней виртуальной сетевой среды.

При создании некоторой внешней сетевой среды вы можете определить совместное применение такого внешнего сетевого адаптера в своём компьютере хоста выбрав Allow management operating system to share this network adapter (Разрешить управлению операционной системы совместное применение данного сетевого адаптера). Хотя этот параметр хорош для сред тестирования и разработки и очевидный пример применения при наличии всего одного физического сетевого адаптера, рекомендуется применять либо выделенный физический сетевой адаптер, либо некий виртуальный сетевой адаптер для такого компьютера хоста, а другой физический или виртуальный сетевой адаптер для внешней сетевой среды, основываясь на имеющихся сетевых требованиях хостов Hyper-V, например, для поддержки обмена кластера или Миграции в реальном времени.

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

Частные сетевые среды не имеют какого- либо физического сетевого адаптера привязанного к некоторому физическому сетевому адаптеру. Они ограничивают все взаимодействия только для виртуальных машин. Они не имеют доступа к своему хосту и его физической сетевой среде при применении таких частных сетевых сред. Единственным сетевым обменом внутри некоторой частной сети является обмен между её виртуальными машинами.

При добавлении некоторого виртуального коммутатора для множества виртуальных машин вам может понадобиться некоторая изоляция между ними. Например, когда вы имеете некую внутреннюю сетевую среду, используемую для 20 ВМ, вы можете изолировать их в двух группах по 10 виртуальных машин. В физической среде это называется VLAN (Virtual Local Area Networks, Виртуальная Локальная сеть). Если ваш физический сетевой адаптер имеет поддержку, вы можете сделать то же самое через Hyper-V установив все имеющиеся виртуальные машины с одним и тем же идентификатором VLAN.

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

Использование наследуемых сетевых адаптеров

Все драйверы виртуального коммутатора загружаются после запуска такой виртуальной машины и интегрированных с ней служб. Если у вас есть ВМ без поддержки интегрированных служб, либо вам необходимо загрузить такую ВМ через имеющуюся сетевую среду и это ВМ 1 поколения, обычный виртуальный коммутатор не будет работать. В этих случаях вы можете имеющийся наследуемый сетевой адаптер. Чтобы добавить такой адаптер, откройте установки данной виртуальной машины, кликните по Add Hardware в верхней левой панели, выберите Legacy Network Adapter (Наследуемый сетевой адаптер) и кликните Add.

В панели с левой стороны будет отображён некий новый наследуемый сетевой адаптер, как это показано на снимке экрана ниже:

 

Рисунок 18


Привязка новой виртуальной машины с наследуемым NIC к новому виртуальному коммутатору

В Virtual Switch выберите тот коммутатор, который вы хотите применять в данной виртуальной машине и кликните по OK. Ваша виртуальная машина запустится и будет автоматически распознавать такой новый сетевой адаптер, что позволит вам осуществлять начальную загрузку через сетевую среду, либо в ВМ, которые не имеют своих интегрированных компонентов.

Также ознакомьтесь...

С рецептом Использование расширенных сетевых настроек виртуальных машин в этой главе.

Использование расширенных сетевых настроек виртуальных машин

Создание и добавление некоторого виртуального коммутатора в виртуальную машину не является окончанием всей истории в Windows Server 2016 Hyper-V. В Windows 2012 R2 было введено большое число свойств и установок; они могут настраиваться с применением графического интерфейса, например, Охранник DHCP, Охранник маршрутизатора, Зеркалирование порта, а также прочие опции, которые требуют PowerShell, например, Port ACLs.

Если вы полагаете, что этого не достаточно, нет проблем! Hyper-V поддерживает расширяемые коммутаторы, позволяя вам писать свой собственный код, создавать новые возможности для мониторинга, пропуска и фильтрации обмена виртуального коммутатора.

Данный раздел обсудит такие расширенные сетевые свойства и объяснит как они работают.

Подготовка

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

Как это сделать...

Приводимые далее шаги продемонстрируют все расширенные возможности виртуального коммутатора, такие как VMQ, Разгрузку задач IPSec, SR-IOV, Охранника DHCP, Охранника маршрутизатора, а также зеркалирование порта.

  1. Для изменения установок расширенной сети откройте Диспетчер Hyper-V, кликните правой кнопкой той виртуальной машине, в которй вы хотите выполнить изменения кликнув по Settings, как показано на снимке экрана ниже:

     

    Рисунок 19


    Аппаратное ускорение

  2. Выберите тот сетевой адаптер, которым вы хотите управлять и кликните по иконке (+) для открытия опций Hardware Acceleration и Advanced Features, как это отображено на предыдущем образе.

  3. Чтобы запретить VMQ (Virtual Machine Queue, Очереди виртуальных машин) уберите пометку опции Enable Virtual machine queue.

    [Замечание]Замечание

    Лучшим решением является разрешение VMQ, что приводит к обработке всех получаемых данных при их рациональной обработке по всем ЦПУ.

  4. Чтобы запретить IPSec task offloading (Разгрузку задач IPsec), уберите пометку имеющуюся в опции Enable IPSec task offloading.

  5. Чтобы включить функциональность SR-IOV, пометьте блок Enable SR-IOV.

    [Замечание]Замечание

    SR-IOV может быть включён только в процессе создания данного виртуального коммутатора и не может осуществляться в последующих задачах настройки. SR-IOV можно также настроить посредством PowerShell воспользовавшись cmdlet New-VMSwitch.

  6. Теперь выберите Advanced Feature в том сетевом адаптере, который подлежит изменению расширенных установок сетевого адаптера, как это показано на снимке экрана внизу:

     

    Рисунок 20


    Расширенные свойства

  7. Чтобы изменить MAC address на статический, выберите Static и определите необходимый статический MAC адрес.

  8. Для включения опции спуфинга (подмены) MAC адреса отметьте флаговую кнопку опции Enable MAC address spoofing.

  9. Для включения охраны DHCP пометьте имеющуюся опцию Enable DHCP guard.

  10. Для включения охраны маршрутизации пометьте имеющуюся опцию Enable router advertisement guard.

  11. Для включения зеркалирования порта выберите в ниспадающем перечне режим зеркалирования; Destination или Source.

  12. После выбора или изменения всех выбранных вами расширенных опций кликните OK и данная виртуальная машина начнёт получение всех настроек, которые были вами изменены.

Как это работает...

Теперь, когда вы увидели как включить все расширенные свойства в виртуальном сетевом адаптере, давайте рассмотрим пояснения для каждого из них.

Превое из них, называемое VMQ (Virtual Machine Queue, Очередь виртуальных машин), динамически распространяет обработку имеющегося физического сетевого адаптера на все доступные ЦПУ в данном сервере хоста. Это уменьшает использование ЦПУ при интенсивном использовании сети. Если это свойство отключено, ЦПУ в компьютере хоста будет находиться под сильным давлением при обработке множественных сетевых операций ввода/ вывода.

IPSec task offloading (Разгрузка задач IPsec) также может уменьшить использование ЦПУ при использовании больших пакетов в вашей сетевой среде, тем самым сберегая производительность ЦПУ и делая лучшим использование имеющейся полосы пропускания. В данной новой версии Hyper-V задачи разгрузки IPsec применяют новую версию (V2), которая поддерживает дополнительные алгоритмы криптографии и IPv6.

Другой интересной настройкой, доступной в Hyper-V Windows Server 2016 является SR-IOV (Single-root I/O virtualization, Виртуализация ввода/ вывода единого корня). Это свойство позволяет некоторому сетевому адаптеру быть ограниченным непосредственно для некоторой виртуальной машины. Другими словами, Hyper-V не осуществляет управление имеющимся сетевым адаптером, как это происходит в других типах сетевых сред. Это свойство исключительно в случаях, когда данная виртуальная машина требует больших сетевых нагрузок, тем самым уменьшая латентность сети и само использование ЦПУ в данном сервере хоста. Другим интересным моментом является то, что вы всё ещё можете применять прочие свойства, такие как моментальные снимки, сохранения, задержки, хранения и миграцию в реальном времени, что делает более простым приспособление, однако вы не можете применять расширенные свойства коммутации Hyper-V и группирование NIC.

В установках MAC address вы можете определять статический MAC адрес вместо некоторого динамического адреса. Применяя динамические MAC, данная ВМ получает различные MAC при всяком её включении. Если данной ВМ необходим всегда один и тот же MAC, вы можете установить данной опцией статический адрес.

[Замечание]Замечание

Отметьте, пожалуйста, что SR-IOV и VMQ должны поддерживаться в самом сервере хоста.

Флаговая кнопка MAC Spoofing может быть включена в случаях, когда данной виртуальной машине необходимо отсылать и принимать обмен, применяя различные MAC адреса, наводняя пакетами с одним адресом, или даже когда ей требуется переписать свой собственный MAC. Эта опция обычно применяется при использовании Network Load Balancing внутри данной ВМ.

Самая последняя настройка, Port mirroring, позволяет зеркалировать имеющийся сетевой обмен с другой виртуальной машиной с тем, чтобы вы могли применять её для мониторинга всего входящего и исходящего обмена для ВМ получателя. Для использования зеркалирования порта вам необходимо выбрать виртуальную машину источник и виртуальную машину получатель.

Дополнительно...

Все установки для сетевых адаптеров и виртуальных коммутаторов можно также настроить через PowerShell при помощи cmdlet Set-VMNetworkAdapter.

В приводимом ниже примере мы воспользуемся командой Get-VM для получения всех имеющихся ВМ и одновременной настройки для них всех DHCP Guard, MAC address spoofing и Router guard :


Get-VM * | Set-VMNetworkAdapter –DhcpGuard On –MacAddressSpoofing On –RouterGuard On
 	   

Также ознакомьтесь...

С рецептом Настройка ACL порта в Главе 6, Безопасность и выделение функций управления.

Добавление и удаление vmNIC

Hyper-V Windows Server 2016 добавляет поддержку для горячих добавления и удаления сетевых адаптеров виртуальных машин (vmNICs) во 2 поколение виртуальных машин. Это свойство достаточно объясняет себя само, однако предоставляет дополнительные преимущества уменьшения общего времени простоя благодаря добавлению или удалению неких vmNIC. Ранее, чтобы иметь возможность удаления некоторого NIC вам было нужно остановить такую ВМ и испытать простой.

Подготовка

Для добавления или удаления в горячем режиме vmNIC вы можете воспользоваться либо Диспетчером Hyper-V, либо PowerShell при помощи cmdlet Add-VMNetworkAdapter или Remove-VMNetworkAdapter, соответственно. Для того чтобы опробовать это, вам не требуется ничего более, кроме наличия некоторой ВМ 2 поколения (Generation 2). Вы можете продвинуться далее и добалять или удалять свои vmNIC при работающей ВМ.

Как это сделать...

Следующие шаги описывают весь процесс добавления и удаления vmNICs (virtual machine network adapters, сетевых адаптеров виртуальных машин) для виртуальных машин 2 поколения:

  1. Для добавления или удаления vmNIC в горячем режиме откройте Диспетчер Hyper-V, кликните правой кнопкой по той машине, которую намеревается изменять, кликнув Settings.

  2. Когда наступит время добавления в горясем режиме некоторого vmNIC, кликните по Add Hardware в левой панели, выберите Network Adapter, а затем Add, как это отображено на снимке экрана ниже:

     

    Рисунок 21


    Добавление в горячем режиме некоторого vmNIC

    Вы можете также добавить в горячем режиме некоторый vmNIC через PowerShell воспользовавшись cmdlet Add-VMNetworkAdapter:

    
    Add-VMNetworkAdapter -VMName Win-2012R2-G2 -SwitchName 'External' -Name External
     	   
  3. Когда наступает срок для удаления в горячем режиме некоторого vmNIC, кликните по тому сетевому адаптеру, который вы желаете удалить в левой панели под Hardware и кликните Remove.

    Вы можете также удалить в горячем режиме некоторый vmNIC через PowerShell воспользовавшись cmdlet Remove-VMNetworkAdapter

    
    Get-VMNetworkAdapter –VMName Win-2012R2-G2 | ?{$_.IPAddresses -eq "10.1.0.15"} | Remove-VMNetworkAdapter
     	   

Как это работает...

Hyper-V Windows Server 2016 содержит поддержку для горячего добавления и удаления vmNICs в виртуальных машинах второго поколения (Generation 2). Для добавления или удаления некоторого vmNIC вы можете применять Диспетчер Hyper-V или PowerShell. Вы просто добавляете или удаляете такой vmNIC, в то время как данная ВМ продолжает работать.

Дополнительно...

Во многом аналогично физическим NIC и Согласованному именованию устройств (Consistent Device Naming), при множественном добавлении vmNIC в некоторую виртуальную машину может быть сложным определить какой сетевой адаптер подключается к какому из имеющихся в данном хосте виртуальных коммутаторов. В Windows 2016 Hyper-V теперь возможно помечать vmNIC. Затем такая индикация может быть отображена внутри данной ВМ.

Вы не можете применять Диспетчер Hyper-V для настройки идентификации NIC, её можно настраивать только через PowerShell. Данный пример добавляет некоторую vmNIC, определяет тот коммутатор к которому подвязывается данный vmNIC, применяет некоторую метку, которая пробрасывается в данную ВМ и делает возможным именование устройства:


Add-VMNetworkAdapter –VMName <VMName> -SwitchName <SwitchName> -Name "IntranetNIC" -Passthru | Set-VMNetworkAdapter -DeviceNaming on
 	   

Пометку NIC можно увидеть заглянув вовнутрь такой виртуальной машины в имеющиеся свойства данного сетевого адаптера, что отображено на снимке экрана внизу:

 

Рисунок 22


Идентификация NIC внутри некоторой ВМ