Содержание статьи
По мере увеличения вычислительных мощностей специалисты и обычные
пользователи уделяют все больше внимания системам виртуализации. В Win2k8
встроено мощное средство виртуализации Hyper-V, которое способно в корне
изменить ситуацию на рынке подобных решений.
Технология Hyper-V
Пару лет назад ситуация на рынке систем виртуализации напоминала полный
штиль. Пользователи и администраторы, желающие установить один из подобных
продуктов, выбирали традиционные решения. И очень часто таким решением
оказывался всем известный VMware, который давно (и вполне заслуженно) занял
место лидера. Но сейчас ситуация резко изменилась и напоминает гонку
процессоров, когда одна ошибка может дорого стоить. Сегодня виртуализация
используется примерно на 10% всех серверов в мире, а это весьма солидный кусок
пирога.
Все началось с покупки Microsoft компании Connectix и выпуска нового на этом
рынке продукта - Microsoft Virtual PC. Пикантность ситуации состояла не столько
в появлении еще одного конкурента, сколько в том, что Virtual PC предлагался
абсолютно бесплатно. И поэтому, несмотря на некоторые его недостатки (например,
отсутствие хороших средств и функций управления), новичок был принят весьма
неплохо. А главное, производители, чтобы не остаться за бортом, вынуждены были
ответить появлением бесплатных, хотя и несколько ограниченных по возможностям
версий своих продуктов. В качестве примера приведу VMware Player, который может
использовать только готовые образы, но не умеет самостоятельно их создавать.
Последняя проблема была решена появлением сервисов вроде
EasyVMX, позволяющих ваять
нужный образ прямо в онлайне, а некоторые производители ПО стали выкладывать
рядом с обычными версиями своих продуктов еще и готовый образ для VMware Player.
Как бы то ни было, корпорация Microsoft смогла быстро занять место среди
лидеров, выпускающих средства виртуализации.
Технология Hyper-V стала одной из ключевых возможностей Win2k8, хотя первые
релизы этой системы включали beta3-версию Hyper-V. Финальный выпуск был обещан
через 180 дней после анонса Win2k8, но он появился в начале лета, на два месяца
раньше заявленного срока. Сегодня он входит в состав 64-битных версий Win2k8
Standard/Enterprise/Datacenter (Web и Itanium – нет) – и как отдельный продукт
под названием Microsoft Hyper-V Server 2008. Последний полностью бесплатен и не
требует CAL (Client Access License); лицензия понадобится лишь для гостевых
Windows. Технологию Hyper-V можно использовать как в режиме полной установки (с
графической оболочкой), так и в Server Core.
Возможности, предоставляемые Hyper-V, в разных версиях Win2k8 несколько
отличаются. Так, Hyper-V Server 2008, по сути, является сильно облегченной
версией Win2k8 Standard, из которой убрано практически все, что не касается
виртуализации. Оставлены только средства управления гипервизором. Предназначен
этот вариант для "чистой виртуализации" (других сервисов там попросту нет), но
зато требует на порядок меньше ресурсов, чем тот же Server Core. Он поддерживает
(как и Standard) до 4 физических процессоров и до 32 Гб ОЗУ. Возможен запуск до
128 VM, недоступен локальный графический интерфейс управления и отсутствует
поддержка кластеров, – что не позволяет создавать на нем отказоустойчивые
решения и реализовать возможность быстрой миграции.
Еще одним отличием версий стало количество VM, которые можно запускать без
дополнительного лицензирования. В лицензию Standard "включена" одна бесплатная
VM, в Enterprise – 4; количество VM в Datacenter - не ограничено.
Основной минус новой технологии: довольно высокие требования к процессорам.
Как ты, наверное, заметил, поддержка 32-разрядных систем отсутствует (вообще
говоря, архитектура платформы x86 никогда не предназначалась для запуска
нескольких операционных систем одновременно; кроме того, ей присущи различные
ограничения, например, максимальный размер ОЗУ равен 4 Гб). Возможна работа
только на 64-разрядных процессорах, поддерживающих технологии Intel VT или AMD-V
(прежнее название Pacifica). В BIOS должен быть активизирован механизм защиты
исполняемого кода (Intel XD или AMD NX).
Работает гипервизор на Ring-1 – напрямую общается с оборудованием сервера,
без вмешательства основной ОС, роль которой в Hyper-V минимальна. Микроядерная
архитектура гипервизора (размер – менее 1 Мб) позволяет абстрагироваться от
основных функций. На его плечи возложено управление выделением ресурсов (CPU,
RAM, I/O). Каждый сервер Hyper-V имеет один родительский (Parent Partition) и
несколько дочерних разделов (по количеству гостевых ОС, Child Partition).
Родительский раздел – это виртуальное устройство с прямым доступом к аппаратным
ресурсам. Гостевые ОС для доступа к устройству используют Parent Partition.
Заявленные возможности Hyper-V весьма впечатляют:
- Поддерживаются как однопроцессорные, так и многопроцессорные виртуальные
машины с максимальным количеством процессоров 24; - Физический сервер может работать в конфигурации до 1 Тб RAM, виртуальные
машины поддерживать 128 Гб RAM; - Возможность одновременного запуска до 192 виртуальных машин, количество
настроенных, но не работающих VM ограничено числом 512; - Одновременная работа 32- и 64-битных версий гостевых ОС;
- Поддержка виртуальных локальных сетей – VLAN до 4096 устройств;
отдельная VM может иметь до 12 виртуальных сетевых адаптеров; - VM может иметь 4 виртуальных диска, каждый размером до 2040 Гб;
- Возможность создания мгновенных снимков работающих виртуальных машин. В
такую копию записывается также системное состояние, данные и конфигурация
аппаратных средств.
Для создания резервной копии может задействоваться и служба Volume Shadow
Copy Service (VSS). Поэтому при необходимости можно быстро вернуть виртуальный
сервер к предыдущему состоянию. По умолчанию максимальное количество виртуальных
процессоров равно 16, а виртуальных машин - 128. Чтобы увеличить их число до
указанных 24 и 192, необходимо установить обновление
KB956710.
В зависимости от версий родительской и гостевой ОС некоторые из указанных
характеристик будут отличаться. Так, версии Win2k8 Standard и Hyper-V Server
поддерживают в гостевых системах только до 32 Гб RAM. Гостевая Win2k8 в Standard
может иметь 1,2 и 4 CPU, 2k3/Vista – 1 или 2, все остальные - только 1.
Очевидно, что потенциал у Hyper-V довольно высокий, по многим характеристикам он
уверенно обходит аналогичные программы. Будут ли все они востребованы в
ближайшее время, – это другой вопрос.
Количество официально поддерживаемых гостевых ОС постоянно увеличивается.
Уточненный список можно просмотреть на странице, посвященной Hyper-V (www.microsoft.com/servers/hyper-v-server).
На сегодняшний день это практически все семейство ОС от Microsoft, начиная с
версии WinXP Pro SP2. Из "не оконных" систем в список попал только SUSE Linux
Enterprise Server 10 SP1 (неудивительно, учитывая соглашение, заключенное между
Novell и Microsoft). Но под Hyper-V нормально работают и другие
Linux-дистрибутивы – Debian, Ubuntu, Mandriva. Есть информация и об удачных
гостевых запусках FreeBSD.
Установка Hyper-V
Так как в настоящее время технология Hyper-V развивается весьма активно,
перед началом установки рекомендую накатить последние системные обновления:
среди них наверняка будет что-то новенькое и для Hyper-V. Для этого в режиме
полной установки выбери Start –> Control Panel -> Windows Update, щелкни View
update history, укажи, а затем установи необходимые обновления. В Server Core
просмотр обновлений производится командой "wmic qfe list". Как вариант, их можно
просто скачать с сайта Microsoft и установить стандартным образом или
воспользоваться "Диспетчером сервера". В частности, следует установить KB956710,
KB950050. Некоторые обновления потребуют последующей перезагрузки системы. Но
есть еще один нюанс, о котором нужно знать. Во многих руководствах по Hyper-V
рекомендуется использовать только английскую версию Win2k8. К счастью для тех,
кто не владеет языком Шекспира, Microsoft выпустила обновление KB951636 - набор
Hyper-V Language Pack (support.microsoft.com/kb/951636), в котором есть и
русский язык. Это обновление содержит два пакета: для x86 и x64 гостевых систем.
Но перед его инсталляцией необходимо установить Windows Server 2008 MUI Language
Pack, а затем добавить в систему поддержку нужного языка. Последнее
нетривиально. Надо извлечь из img-образа каталог своего языка (внутри несколько
файлов, основной - Lp.cab), потом в консоли "Regional and Language Options"
перейти во вкладку "Keyboards and Languages", где нажать на Install/uninstall
languages и указать на извлеченный каталог с языковыми файлами.
Сам процесс добавления новой роли выполняется стандартно в "Диспетчере
сервера" (Server Manager) при помощи мастера добавления ролей, вызываемого
нажатием ссылки "Добавить роли" (Add Roles). Перейдя на страницу выбора ролей "Select
Server Roles", отмечаем флажком Hyper-V и переходим к следующему шагу "Create
Virtual Networks". Здесь необходимо отметить один или несколько физических
сетевых адаптеров, которые будут использованы при создании виртуальных сетей.
Рекомендуют одно сетевое устройство использовать только для удаленного
управления компьютером, не задействуя его в виртуальной сети. Далее знакомимся с
установками и, если все в порядке, нажимаем кнопку Install. Возможно, будет
предложено произвести некоторые действия, например, включить поддержку
виртуализации в BIOS для Intel VT (для AMD-V она активирована по умолчанию). По
всем вопросам здесь же присутствуют ссылки, по которым можно получить
дополнительную информацию. Чуть позже потребуется перезагрузка. После рестарта
обязательно зарегистрируйся в системе под той же учетной записью. Еще какое-то
время уйдет на автоматическую установку компонентов и конфигурирование при
помощи "Resume Configuration Wizard".
Для установки Hyper-V в режиме Server Core необходимо произвести стандартные
настройки сервера (смотри статью "Без окон, без дверей" в августовском ][ за
2008 год) и затем ввести команду:
> start /w ocsetup Microsoft-Hyper-V
Кроме самой роли Hyper-V, будет установлен инструмент удаленного управления "Hyper-V
Tools". Если управление Hyper-V планируется производить с другого Win2k8, то в
"Диспетчере сервера" открываем "Компоненты" (Features) и нажимаем (Add Features).
В окне выбора компонентов переходим в "Средства удаленного администрирования
сервера –> Средства администрирования ролей", где отмечаем "Средства Hyper-V" (Remote
Server Administration Tools -> Remote Administration Tools -> Hyper-V Tools).
Управление Hyper-V
Для управления настройками Hyper-V в Win2k8 предлагается "Диспетчер Hyper-V"
(Hyper-V Manager), установленный нами на предыдущем шаге. Как и все прочие
инструменты в этой системе, диспетчер является консолью MMC и позволяет
управлять не только локальным, но и несколькими удаленными серверами. Его можно
вызвать либо из Server Manager, либо как отдельное приложение из меню
Administrative Tools.
Структура окна "Диспетчера Hyper-V" стандартна. Окно разделено на три части.
В левой выводится список серверов Hyper-V, к которым подключен диспетчер. При
помощи настроек, расположенных справа, производится собственно управление
работой выбранного сервера. В окне посередине показываются и редактируются
некоторые параметры, а также выбираются VM.
При первом запуске диспетчера необходимо принять условия лицензионного
соглашения. Далее подключаемся к удаленному серверу, нажав ссылку "Connect to
Server", или выбираем локальную систему. Перед началом дальнейших настроек
советую зайти в "Hyper-V Server Settings" и пройтись там по пунктам. Например,
по умолчанию виртуальные диски и снапшоты помещаются в один из каталогов на
системном диске С. Это не очень практично с точки зрения производительности,
безопасности, да и резервного копирования. Лучше использовать отдельный раздел
для их хранения. Остальные параметры позволяют настроить реакцию виртуальной
системы на комбинацию переключения окон (<Alt+Tab>), комбинацию для выхода из
виртуальной машины (<Ctrl+Alt+Стрелка влево>) и прочее.
Если уже есть готовые виртуальные машины (допустим, созданные в Virtual
Server), то их можно импортировать в Hyper-V. Для этого достаточно нажать ссылку
"Import Virtual Machine", после чего указать на каталог, в котором расположены
связанные файлы.
Большая часть настроек производится при помощи мастеров, поэтому процесс
создания новой виртуальной машины довольно прост. Необходимо пройти всего
несколько шагов, но для начала лучше познакомиться с некоторыми тонкостями.
Виртуальные сети и диски
В Hyper-V для связи с VM и VM могут использоваться три типа виртуальных
сетей:
- External (Внешняя) - универсальный тип, который можно
использовать для связи между виртуальными устройствами на том же физическом
сервере, включая родительский раздел, а также внешними серверами; - Internal (Внутренняя) - предназначена для связи между
виртуальными системами, расположенными на одном физическом сервере, включая
сеть управления. Отличается от предыдущей тем, что должна привязываться к
реальному сетевому устройству; - Private (Частная) – используется для связи между виртуальными
устройствами на одном физическом сервере и является внутренней,
изолированной от остальных виртуальной сетью, в которой не используется
виртуальное сетевое устройство.
Чтобы создать новую виртуальную сеть, выбери ссылку "Virtual Network Manager".
Откроется окно диспетчера виртуальных сетей, в котором будут показаны все
виртуальные сетевые устройства, подключенные к Hyper-V на этапе установки. Для
удобства в поле Name можно прописать другое имя сетевого устройства и добавить
его описание в поле Notes, чтобы легче ориентироваться среди множества
виртуальных девайсов. По умолчанию, все созданные виртуальные сетевые устройства
имеют тип External (кстати, для него можно указать альтернативное физическое
устройство, с которым он и будет сопоставлен). При необходимости этот тип можно
изменить, установив переключатель в поле "Connection Type" в другую позицию.
Наконец, в самом низу прописывается VLAN-идентификатор (опционально). Кнопка
Remove позволяет удалить выбранный виртуальный адаптер. Чтобы создать новую
сеть, щелкаем в панели слева ссылку "New virtual network", указываем тип сети,
нажимаем кнопку Add, – после чего редактируем параметры.
Сервер Hyper-V может работать с тремя типами устройств хранения данных:
- Жесткий диск, подключенный непосредственно к серверу;
- Сеть хранения данных SAN (Storage area network), подключенная при помощи
технологий Internet SCSI (iSCSI), Fibre Channel или SAS; - Сетевая система хранения данных NAS (Network-attached storage) – один
или несколько серверов, используемых для хранения информации и подключенных
обычно по сети Ethernet.
Мастер создания виртуальной машины практически не имеет настроек, связанных с
виртуальным жестким диском (файл с расширением .vhd). Более гибким вариантом
будет предварительное создание виртуальных дисков и подключение их на этапе
создания новой VM. Чтобы создать новый виртуальный диск, выбираем "New – Hard
Disk" и следуем указаниям мастера создания дисков. Второй шаг "Choose Disk Type"
позволяет задать тип диска. По умолчанию предлагается тип "Dynamically expanding",
то есть – динамически расширяющийся по мере заполнения виртуальный диск. Этот
тип позволяет рационально использовать дисковое пространство, но придется
контролировать доступное место на физическом диске. Альтернативой выступает тип
"Fixed size" – диск фиксированного размера. При его создании образ сразу
заполняет все выделенное место, вне зависимости от потребности. Проблем с
нехваткой пространства для таких серверов не будет, а, учитывая, что "диск"
занимает последовательно расположенные блоки и не затрачивается время на их
перераспределение, – его производительность выше, чем у динамического. Эти два
типа встречаются и в других виртуальных машинах. В Hyper-V есть еще один вид
диска – "Differencing", назначение которого несколько иное. Такой диск хранит
только различия от другого диска. Это позволяет изолировать все изменения на
виртуальное устройство. Основной диск может использоваться как некий эталон и
должен обязательно быть в режиме "только для чтения".
Кроме того, в Hyper-V есть возможность напрямую использовать физический диск
без создания виртуального (только локальный диск или LUN (logical unit number)
SAN-среды). В этом случае виртуальная система должна иметь исключительный доступ
к такому разделу (установи Offline в Disk Management!), а его размер ограничен
возможностями самой системы хранения. Естественно, он не может быть "Dynamically
expanded" или "Differencing".
После выбора типа диска переходим к следующему шагу мастера, где можно
указать его расположение. Размер виртуального диска указывается на этапе "Configure
Disk". Переключив флажок в положение "Copy the contents of the specified
physical disk", сможем задать раздел для прямого доступа. Разделы локальной
системы будут показаны в списке внизу. В дальнейшем можно изменить некоторые
параметры созданных ранее жестких дисков. Для этого в "Диспетчере Hyper-V"
следует выбрать "Edit Disk" и указать на нужный образ. На этапе "Choose Action"
доступно три пункта, при помощи которых можно уменьшить размер образа,
перераспределив свободное пространство, изменить его тип (Dynamic на Fixed) и
увеличить размер.
Подобно мастеру создания жесткого диска, в меню присутствует и мастер
создания образа флоппи-дисковода, – принцип работы с ним аналогичен.
Итак, пришло время создания новой виртуальной машины. Выбираем "New – Virtual
Machine" и следуем указаниям мастера "New Virtual Machine Wizard". Пропустив
информацию на первом шаге, мы вводим имя новой VM и, при необходимости,
указываем другое место размещения файлов. Задаем в окне "Assign Memory"
количество ОЗУ, которое будет доступно VM (не может быть больше, чем размер
физической памяти в компьютере). Далее выбираем из раскрывающегося списка сеть,
к которой будет подключена VM. Создаем новый виртуальный диск или выбираем из
списка имеющийся. И на шаге "Installation Options" указываем источник, с
которого будет ставиться ОС. Это может быть физический CD/DVD-привод, ISO-образ,
загрузочный флоппик (физический или образ) или сетевая PXE-загрузка. Чтобы
создать VM, на последнем шаге нажимаем Finish. Через некоторое время новая VM
появится в окне "Диспетчера". Кстати, чтобы отменить работу мастера, на любом
этапе нажимай Cancel; кнопка Finish также активна, и, если нажать ее по ошибке,
будет создана VM или другое виртуальное устройство с неполными характеристиками.
Чтобы запустить VM в работу, выбери ее в окне "Диспетчера" и нажми ссылку Start.
Впоследствии можно изменить основные настройки VM, – в том числе, добавить еще
устройства, выбрав в контекстном меню ссылку Settings.
Заключение
Hyper-V – довольно мощный по возможностям и одновременно простой в настройке
продукт, с высокой производительностью и масштабируемостью. К минусам стоит
отнести горячую любовь к 64-битным платформам и малое количество официально
поддерживаемых ОС. Вероятно, эти характеристики, плюс бесплатное
распространение, позволят ему уверенно занять свою нишу среди подобных решений.
INFO
Инструменты управления Hyper-V
Помимо встроенного "Диспетчера Hyper-V" в Win2k8, есть и другие инструменты
управления. По адресу support.microsoft.com/kb/952627 доступен аналогичный
диспетчер для Vista SP1. Существует и более мощное решение: System Center
Virtual Machine Manager (SCVMM) 2008, основное назначение которого – управление
массивами виртуальных серверов в большой сети компании или провайдера. При этом
он может работать как отдельное приложение, но рекомендуется соединять его с
другими решениями System Center. Также SCVMM поддерживает Microsoft Virtual
Server и VMware ESX. В этом случае он позволит не только управлять, но и следить
за состоянием виртуальных машин (нагрузка, количество доступных ресурсов,
системные события). Оценочную 120-дневную версию SCVMM можно скачать по ссылке
на странице продукта:
www.microsoft.com/systemcenter/virtualmachinemanager.
Клавиши управления Hyper-V
При работе в виртуальной системе при использовании Hyper-V тебе понадобятся
некоторые комбинации клавиш, так как стандартные сочетания Windows (даны в
скобках) в полноэкранном режиме работают иначе:
Ctrl + Alt + End (Ctrl + Alt + Del) – показать "Диспетчер задач Windows";
Alt + Page UP (Alt +Tab) – переключение между программами;
Alt + Page Down (Alt + Shift + Tab) - переключение между программами в обратном
порядке;
Alt + Insert (Alt + Esc) – свернуть активное окно и открыть следующее;
Alt + Home (Ctrl + Esc) – открытие меню "Пуск";
Ctrl + Alt + Pause – переключение из режима окна в полноэкранный и обратно;
Ctrl + Alt + Left Arrow – освобождение мыши и клавиатуры из окна виртуальной
машины.
Некоторые комбинации и реакцию на них родительской и виртуальных систем можно
настроить в "Hyper-V Server Settings".
А так же
Первоначально технология виртуализации Hyper-V называлась Viridian.
Гипервизор — программа, позволяющая параллельное выполнение нескольких
операционных систем на одном и том же компьютере. Гипервизор также обеспечивает
изоляцию операционных систем друг от друга, защиту и безопасность, разделение
ресурсов между различными запущенными ОС и управление ресурсами.
VT (Intel Virtualization Technology) - одна из технологий аппаратной
виртуализации ресурсов, разработанная компанией Intel. AMD имеет в своем
арсенале похожую технологию AMD-V, в которой реализована (в отличие от Intel VT)
виртуализация режима реальной адресации (режим совместимости с 8086).
Официально Hyper-V в качестве гостевых систем поддерживает практически все
версии 32х и 64х Windows, начиная с XP Professional SP2 и заканчивая Win2k8
(сюда же входит Windows HPC Server 2008), а также SUSE Linux Enterprise Server
10 SP1. Поддержка вариантов Home не заявлена.
Распределение ролей сервера между виртуальными машинами вместо запуска
множества серверных приложений на одной операционной системе способствует
повышению уровня безопасности.
WWW
Создать готовый образ для VMware Player можно на сайте EasyVMX:
www.easyvmx.com.
Полезные ресурсы по Hyper-V:
-
www.microsoft.com/servers/hyper-v-server
www.microsoft.com/virtualization
www.blogs.technet.com/abeshkov- www.hyper-v.ru
WARNING
Hyper-V будет работать только на 64-битных ОС.