В последнем поколении своих Unix-серверов pSeries на базе двухъядерного RISC-процессора POWER6, которые недавно были переименованы в Power System, корпорация IBM представила усовершенствованную технологию виртуальных машин PowerVM. Еще в системах на базе POWER4 применялась виртуализация серверных ресурсов на базе логических разделов Logical Partitions (LPAR), которые сначала состояли из одного или нескольких процессоров, должны были иметь минимум один гигабайт оперативной памяти и выделенный сетевой адаптер Ethernet, что серьезно ограничивало применение этой технологии и гибкость распределения ресурсов машины между разделами. Затем IBM реализовала динамическое перераспределение процессоров, плат ввода-вывода и памяти между разделами LPAR без перезагрузки сервера и сняла требование о наличии отдельного контроллера Ethernet у каждого раздела, а также ограничение на распределение дискового пространства между LPAR. Работа PowerVM основана на использовании механизма микроразделов уже внутри отдельного ядра процессора POWER6 — их может быть до десяти на одно ядро и до 254 на один сервер. Ресурсы процессорного ядра распределяются между микроразделами с квотированием 10%, а от одного раздела к другому можно передавать даже 1% ресурсов ядра.
Существенное отличие PowerVM от известных решений виртуализации для серверов на базе процессоров x86, которые предлагают в своих программных пакетах VMware, Microsoft и Citrix, — это реализация гипервизора, управляющего виртуальными машинами, на уровне микрокода и его тесная интеграция с процессорами, подсистемой ввода-вывода, сервисными процессорами и другими аппаратными компонентами сервера, что освобождает вычислительные ресурсы и снижает накладные расходы на развертывание виртуальных машин. Гипервизор PowerVM виртуализирует и распределяет между разделами сетевые каналы Ethernet, каналы SCSI, к которым подсоединены жесткие диски, и ресурсы ввода-вывода сервера.
Еще одна новинка серверов на базе POWER6 — функция Live Partition Mobility для переноса виртуальных машин между физическими серверами. Как утверждает IBM, пауза при таком переносе не превышает двух секунд, поэтому пользователи, работающие с приложением, развернутым на виртуальных машинах, его не заметят. Применение этой функции помогает сохранить работоспособность приложений в случае сбоя всего сервера, на котором развернуты виртуальные машины, или его отключения для проведения планового обслуживания. Стоит отметить, что аналогичный механизм онлайнового переноса виртуальных машин предлагает для серверов с архитектурой x86 и компания VMware, однако длительность тайм-аута при использовании ее VMotion сильно зависит от нагрузки, которую создает приложение, работающее на виртуальной машине. Для Live Partition Mobility требуется, чтобы оба физических сервера принадлежали к одной подсети и их подсистемы ввода-вывода были полностью виртуализированы с помощью программного пакета Virtual I/O Server (VIOS).
PowerVM поставляется в трех версиях. Версия Express позволяет работать только с тремя разделами LPAR и распространяется бесплатно, поэтому ее можно использовать для ознакомления с возможностями PowerVM. Стандартная версия поддерживает до десяти логических разделов и позволяет динамически распределять процессорные ресурсы сервера между разделами с помощью механизма Multiple Shared Processor Pools. Наконец, версия Enterprise в дополнение ко всем возможностям стандартной версии поддерживает использование Live Partition Mobility.
Кроме того, все версии PowerVM поддерживают функцию Lx86, которая позволяет запускать на Power System, работающей под управлением Linux приложения Linux, разработанные для 32-разрядной платформы x86. Хотя многие популярные приложения Linux (например, Web-сервер Apache) уже доступны и в версии для платформы Linux/POWER, основной платформой для Linux остается x86, и PowerVM Lx86 позволит запускать на Power System все приложения, разработанные для этой ОС. Также в разделах LPAR можно запускать операционную систему i5/OS (бывшую OS/400) и приложения, разработанные ранее для серверов IBM AS/400.
В версии 6.1 операционной системы AIX, используемой в Power Systems, появилась функция Live Application Mobility, с помощью которой системный администратор может переносить приложения, работающие в отдельном логическом разделе операционной системы (workload partitions, WPAR), с одного физического сервера на раздел AIX, развернутый на другом физическом сервере. Это функция выполняется с помощью новой утилиты Workload Partition Manager (WPM), расширяющей возможности менеджера управления нагрузкой Workload Manager из предыдущих версий AIX. Консоль WPM позволяет управлять сразу несколькими серверами и их разделами WPAR, запускать, останавливать эти приложения и переносить их между серверами. При переносе приложение “замораживается”, все его данные сохраняются на диске, а затем оно перезапускается на другом сервере.
Механизм WPAR напоминает контейнеры приложений из Sun Solaris 10 и хорошо подходит для услуг хостинга, когда важно обеспечить быстрое развертывание приложений по запросу клиентов. Например, если из-за роста нагрузки требуется предоставить один сервер целиком под одно приложение, то остальные его приложения, развернутые в отдельных WPAR, можно быстро перезапустить на других серверах. Кроме того, в отличие от логических разделов LPAR, у каждого из которых должна быть отдельная копия операционной системы, WPAR может работать на сервере только с одной копией AIX, что упрощает обслуживание ОС (например, новые программные заплатки AIX на сервере нужно устанавливать только один раз). В то же время это ведет к снижению отказоустойчивости по сравнению с LPAR (если из-за сбоя какого-то приложения зависнет ОС, то не смогут работать и остальные приложения), а также не позволяет запускать на одном сервере приложения, использующие разные версии AIX.