Hyper-V в Windows 8.1 (часть 3)
Продолжаем раскрывать тему клиентского Hyper-V в Windows 8.1. В прошлый раз мы развернули виртуальную машину и произвели ее базовую настройку. И поскольку Hyper-V имеет довольно широкие возможности по настройке виртуальных машин, то сегодня мы рассмотрим параметры ВМ более основательно, обратив внимание на некоторые интересные возможности.
Производить настройку виртуальной машины можно как до, так и после установки операционной системы. Также перед тем, как приступать к настройке, стоит иметь в виду, что некоторые операции — добавление устройств, изменение настроек памяти, процессора и т.п, могут быть недоступны на работающей ВМ.
Для изменения параметров открываем Hyper-V Manager, выбираем виртуальную машину, кликаем на ней правой клавишей мыши и выбираем пункт меню «Параметры».
Оборудование
На вкладке «Установка оборудования» мы можем добавить виртуальной машине дополнительный SCSI-контроллер, а также сетевой или Fibre Channel адаптер. Для ВМ первого поколения при необходимости загрузки по сети можно добавить устаревший (legacy) сетевой адаптер.
На вкладке BIOS (у ВМ первого поколения) можно изменить порядок загрузки виртуальной машины. Так например, для загрузки с дискеты выбираем соответствующий пункт и кнопкой «Вверх» поднимаем его выше остальных.
У ВМ второго поколения вместо BIOS используется UEFI, а соответствующая вкладка называется Встроенное ПО (Firmware). Во втором поколении ВМ не используются legacy устройства, и для загрузки можно выбрать обычный сетевой адаптер или SCSI-диск, а также включить механизм безопасной загрузки (Secure Boot).
Настройка памяти
Вкладка «Память» отвечает за настройки оперативной памяти. Здесь есть два варианта настройки.
Если не отмечен чекбокс «Включить динамическую память», то виртуальной машине при старте выделяется фиксированный объем памяти, указанный в пункте «ОЗУ для запуска». Этот объем неизменен и не зависит от потребления памяти внутри ВМ.
Если же включено использование динамической памяти, то объем памяти виртуальной машины определяется уже не одним параметром, а несколькими:
• ОЗУ для запуска — определяет объем памяти, необходимый виртуальной машине для старта. Если на хосте не будет соответствующего объема ОЗУ, то машина не стартует;
• Минимальный объем ОЗУ — задает минимальный объем памяти, который можно выделить машине. Минимальный объем может быть меньше, чем объем для запуска, что позволяет после старта забрать у машины неиспользуемую память;
• Максимальный объем ОЗУ — задает максимальный объем памяти, который может быть выделен виртуальной машине.
Использование динамической памяти позволяет более гибко управлять распределением памяти. К примеру, для гарантированного запуска машине можно выделить 4ГБ памяти, а на случай бездействия задать минимум в 512МБ. Кстати, максимальный и минимальный объем памяти можно изменять на живую, прямо в процессе работы ВМ.
И дополнительно можно задать:
• Буфер памяти — параметр, предназначенный для того, чтобы держать определенный объем памяти свободным, на случай незапланированных нагрузок. К примеру, если буфер равен 20% — система всегда будет пытаться обеспечить, чтобы у виртуальной машины было свободно не менее 20% памяти. Значение буфера задается в процентах и зависит от текущего потребления памяти;
• Вес памяти — определяет приоритет виртуальной машины при распределении памяти. В случае нехватки памяти система отбирает память у виртуальных машин с наименьшим приоритетом, и отдает тем, у кого приоритет наиболее высокий.
Примечание. Напомню, что механизм динамического выделения памяти обеспечивается сервисами интеграции, установленными в гостевой ОС. Кроме того, этот режим поддерживается не во всех операционных системах.
Настройка процессора
Далее идет вкладка «Процессор». Здесь мы можем указать количество виртуальных процессоров, выделяемых этой ВМ. В качестве виртуального процессора может выступать либо физическое ядро процессора, либо вычислительный поток (при использовании Hyper-Threading). Hyper-V позволяет выделить до 64 процессоров для одной ВМ. Также обратите внимание на поле «Процент от общего объема системных ресурсов», в котором отображается процент от общей процессорной мощности, выделенный данной ВМ. В моем случае это одно ядро четырехъядерного процессора, что составляет 25% от общей мощности.
Надо сказать что Hyper-V довольно экономно использует вычислительные мощности, поэтому выделенные одной машине ядра могут одновременно использоваться и другими машинами. При наличии свободных ресурсов процессора система динамически распределяет их между виртуальными машинами в зависимости от нагрузки. Также на случай нехватки ресурсов есть некоторые дополнительные настройки:
• Резерв для виртуальных машин — задает процент ресурсов, зарезервированный за виртуальной машиной. При недостатке ресурсов процессора, т.е. когда физический процессор загружен на 100%, те из виртуальных машин, у которых задан этот параметр, должны гарантированно получить свой резерв;
• Предел для виртуальных машин — этот параметр жестко ограничивает процент потребления ресурсов процессора виртуальной машиной. Задав значение предела мы говорим, что виртуальная машина ни при каких условиях не может использовать больше процессорной мощности, чем ей разрешено. Предел задается на каждый виртуальный процессор отдельно, например можно выделить машине 1 процессор и задать лимит 50% от его мощности;
• Относительный вес — определяет приоритет ВМ при распределении ресурсов и представляет из себя безразмерную величину в пределах от 0 до 10000. Вес играет роль только в случае нехватки процессорных ресурсов. Чем больше вес — тем выше приоритет и тем больше ресурсов должна получить машина. Имейте в виду, что в отличие от резерва вес вовсе не гарантирует получение требуемых ресурсов, а лишь повышает шансы на их получение.
Также в настройках процессора можно перейти на вкладку «Совместимость» и отметить соответствующий чекбокс. Это несколько ограничит возможности процессора, но даст возможность перенести виртуальную машину на компьютер с другим типом процессора, например с Intel на AMD.
Настройка дисковой подсистемы
Как и в обычных компьютерах, у виртуальных машин есть контроллеры дисков IDE и SCSI. Поскольку это важно, остановимся на некоторых их отличиях.
Контроллер IDE является устаревшим устройством и присутствует только в ВМ первого поколения. Как и в железном варианте, виртуальный контроллер IDE имеет два порта, по два канала на каждом, что дает возможность подключения всего 4 устройств. Контроллер IDE не поддерживает горячую замену, поэтому для операций с IDE-дисками необходимо выключение ВМ. В первом поколении ВМ системный диск может быть подключен только к IDE контроллеру.
Виртуальный SCSI контроллер является полностью синтетическим устройством. В ВМ первого поколения он может использоваться для подключения дисков с данными (не загрузочных), а для второго поколения может использоваться и для загрузки системы. SCSI контроллер поддерживает горячую замену дисков и позволяет подключить до 64 устройств.
Для того, чтобы подключить к ВМ виртуальный жесткий диск или DVD выбираем соответствующий контроллер, выделяем нужное устройство и жмем «Добавить».
Для подключения существующего диска надо нажать на кнопку «Обзор» и выбрать нужный VHD-файл, либо по кнопке «Создать» создать пустой виртуальный диск с нужными параметрами. Также здесь можно проверить свойства и отредактировать виртуальный диск, уже подключенный к ВМ.
Также в Hyper-V есть возможность подключить к любому из контроллеров в виртуальной машине физический жесткий диск напрямую, минуя основную систему. Для этого надо отметить соответствующий пункт и выбрать из списка диск. Для того, чтобы этот выбор был доступен и диск отображался в списке, он должен быть подключен к системе и находится в состоянии Offline. Имейте в виду, что подключенный таким образом жесткий диск становится недоступен для использования в основной системе.
Также в дополнительных свойствах диска есть возможность включить управление качеством обслуживания и указать для виртуального диска минимальное и максимальное количество дисковых операций (IOPS). Это позволяет регулировать нагрузку, создаваемую виртуальными машинами на дисковую подсистему компьютера. Для ориентира приведу средние значения IOPS для различных типов дисков:
7200 об/мин SATA — 75-100 IOPS
10000 об/мин SATA — 125-150 IOPS
SSD SATA 3Гбит/c — 8000-10000 IOPS
SSD SATA 6Гбит/с — 60000-120000 IOPS
И еще одна интересная возможность, о которой стоит упомянуть — это общий доступ к виртуальному жесткому диску (Shared VHDX). Чисто теоретически вы можете взять виртуальный SCSI-диск и подключить его одновременно к нескольким виртуальным машинам, получив таким образом общее хранилище. Это очень удобно для так называемой гостевой кластеризации, т.е. создания кластеров из виртуальных машин. Почему теоретически — потому что в качестве хранилища для общих виртуальных дисков может использоваться либо общий кластерный ресурс (Cluster Shared Volume, CSV) либо файловая шара на отказоустойчивом файловом сервере, которая также требует наличия CSV. Хранение общих дисков локально или на обычной сетевой шаре не поддерживается.
Настройка сети
Переходим на вкладку «Сетевой адаптер» и приступаем к настройке сетевых параметров. В основных настройках можем выбрать виртуальный коммутатор, к которому подключен данный сетевой адаптер. Напомню, что у ВМ может быть несколько сетевых адаптеров, каждый из которых может быть подключен к разным виртуальным коммутаторам. А при использовании VLAN-ов можно активировать их поддержку и указать для адаптера соответствующий VLAN ID.
Кроме того, для каждого виртуального сетевого адаптера можно включить управление пропускной способностью сети и указать минимальные и максимальные значения.
Раскрываем дополнительные свойства сетевого адаптера и переходим на вкладку «Аппаратное ускорение». Здесь есть две настройки, помогающие ускорить обработку сетевого трафика:
• Очередь виртуальной машины (VMQ) — включение этой настройки позволяет перенести основную нагрузку по обработке сетевых пакетов, адресованных виртуальной машине, с центрального процессора хостовой системы на процессор сетевого адаптера. Это возможно при аппаратной поддержке VMQ сетевым адаптером и установленных в гостевой ОС сервисах интеграции.
• Разгрузка задач IPSec (IPSec offload) — при использовании шифрования IPSec позволяет перенести обработку трафика с центрального процессора на сетевой адаптер хоста, снижая нагрузку на процессор. Также требует аппаратной поддержки со стороны сетевого адаптера.
Затем идем на вкладку «Дополнительные параметры», где нас ждет много интересных настроек:
• MAC-адрес — можем оставить динамический, на усмотрение Hyper-V, или указать вручную;
• Включить спуфинг MAC-адресов — включение этого пункта разрешает подмену MAC-адреса в заголовке исходящих сетевых пакетов. По умолчанию Hyper-V запрещает спуфинг MAC-адреса, и если ВМ пытается в исходящих пакетах подменить MAC отправителя (т.е свой) на другой MAC-адрес, то такие пакеты блокируются. Разрешение спуфинга может потребоваться к примеру для балансировки сетевой нагрузки (NLB);
• Охранник DHCP (DHCP Guard) — при использовании DHCP обеспечивает виртуальной машине получение IP адресов только от авторизованных DHCP-серверов;
• Защита объявления маршрута (Router advertisement guard) — блокирует пакеты редиректа и получения маршрута (router advertisement) от неизвестных маршрутизаторов;
• Защищенная сеть (Protected network) — эта настройка обеспечивает миграцию ВМ на другой узел кластера при разрыве сетевого подключения на данном виртуальном адаптере. Для обеспечения возможности миграции требуется кластер Hyper-V, что возможно только в серверных ОС;
• Зеркалирование портов (Port mirroring) — с помощью этого механизма можно осуществлять мониторинг трафика виртуальной машины. Для настройки зеркалирования на одной ВМ, трафик которой будет анализироваться, выбирается режим Источник (Source), на второй, с которой будет осуществляться мониторинг, ставится режим Назначение (Destination). После этого весь входящий и исходящий трафик на порт источника копируется и перенаправляется на порт назначения, остается только установить необходимое ПО для анализа. Обязательное условие для зеркалирования — обе ВМ должны быть подключены к одному виртуальному свитчу;
• Объединение сетевых карт (NIC Teaming) — технология, позволяющая объединить несколько физических адаптеров в группу, обеспечив отказоустойчивость и увеличение пропускной способности. В Windows 8.1 нет возможности включить NIC Teaming на уровне хоста, и эта настройка позволяет задействовать его на уровне виртуальной машины. К примеру, если в ВМ есть два виртуальных сетевых адаптера, подключенных через два виртуальных коммутатора типа External к двум разным физическим сетевым адаптерам, то можно сконфигурировать NIC Teaming внутри виртуальной машины. Для того, чтобы Hyper-V понимал, что адаптеры объединены в группу, и нужно включить данную настройку в свойствах каждого виртуального адаптера, входящего в тайминг. Эта возможность работает только в том случае, если в качестве гостевой ОС используется Windows Server 2012. Подробности работы и настройка NIC Teaming в Windows Server 2012.
Настройка управления
Опускаемся ниже и переходим к разделу «Управление». Из интересного здесь стоит заглянуть в «Службы интеграции» и посмотреть, какие службы доступны в виртуальной машине.
Cлужбы интеграции представляют из себя сервисы, которые запускаются в гостевой системе и взаимодействуют с хостом, обеспечивая возможность завершения работы ВМ из оснастки Hyper-V, синхронизацию времени с основной системой, проверку работоспособности машины (пульс), архивацию с использованием службы теневого копирования (VSS) и прочие полезные вещи. Для того, чтобы использовать эти возможности, службы интеграции должны быть установлены в гостевой операционной системе и этой системой поддерживаться.
Также мы можем определиться с тем, что должно происходить с виртуальной машиной при включении и выключении компьютера.
Переходим на вкладку «Автоматическое действие при запуске» и выбираем одно из трех действий:
• Ничего — в этом случае при старте компьютера машина останется выключенной независимо от своего предыдущего состояния;
• Запускать автоматически, если она была запущена при остановке службы — машина стартует автоматически только в том случае, если до выключения она была запущена;
• Всегда запускать данную виртуальную машину автоматически — после старта компьютера машина запустится автоматически в любом случае, независимо от предыдущего состояния.
И если выбран автоматический запуск, то можно указать временную задержку, которая должна до старта ВМ. Эта задержка может потребоваться в том случае, если машины должны стартовать не все сразу, а в определенной последовательности.
На вкладке «Автоматическое действие при завершении» также выбираем один из трех вариантов:
• Сохранять состояние виртуальной машины — при выключении состояние ВМ, включая содержимое памяти, сохраняется в файл. Соответственно при запуске виртуальная машина продолжит работу ровно с того момента, на котором была остановлена. Обратите внимание, что для обеспечения этого режима Hyper-V при старте ВМ резервирует место на диске, равное объему оперативной памяти, используемого этой машиной;
• Завершать работу виртуальной машины — при завершении работы компьютера виртуалка просто выключается, т.е происходит выключение питания по аналогии с физическим компьютером;
• Завершать работу операционной системы на виртуальной машине — в этом варианте при выключении компьютера происходит штатное завершение работы виртуальной машины. Для обеспечения этого режима в виртуальной машине должна быть установлена и запущена соответствующая служба интеграции.
Настройка с помощью PowerShell
И совсем немного о PowerShel. С помощью PowerShell можно производить все те же настройки, что и из графической оснастки. Для примера выведем состояние виртуальной машины WKS82:
Get-VM -VMName WKS82
Произведем настройки процессора и памяти:
Get-VM -VMName WKS82 | Set-VM -ProcessorCount 2 -DynamicMemory -MemoryMinimumBytes 512MB -MemoryMaximumBytes 4096MB -MemoryStartupBytes 1024MB
И зададим действия при включении и выключении компьютера:
Set-VM -Name WKS82 -AutomaticStopAction ShutDown -AutomaticStartAction StartIfRunning -AutomaticStartDelay 30
На этом закончим с настройками. В следующей статье мы рассмотрим основные действия, которые можно производить с виртуальными машинами.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.