Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Модификация процессоров помогает осуществлять виртуализацию

Стивен Хилл

Вы думаете нельзя научить старую собаку новым трюкам? Отнюдь! Посмотрите на процессоры x86. Хотя базовая система их команд остается неизменной почти 20 лет, компании AMD и Intel продолжают совершенствовать эти процессоры. Так, в них были добавлены: 64-разрядные расширения, позволяющие обращаться к памяти большего объема; поддержка дополнительных команд, предназначенных для обработки графики; усовершенствованные средства вычислений с “плавающей” запятой. Для фирм же, заинтересованных в виртуализации серверов, самым важным улучшением стали технологии поддержки виртуализации, недавно реализованные компаниями AMD и Intel в своих процессорах. Пожалуй, эти технологии позволят обеспечить все разрекламированные преимущества виртуализации.

До недавнего времени виртуализация x86-совместимой системы представляла собой сложнейшую проблему. Дело в том, что архитектура данной платформы (x86) никогда не предназначалась для запуска нескольких операционных систем (ОС) одновременно. Следовательно, для распределения ресурсов процессора, памяти, средств ввода-вывода и управления этими ресурсами разработчикам средств виртуализации приходилось преодолевать серьезные трудности, связанные с ограничениями в работе оборудования и ПО. Традиционно в области виртуализации компьютеров лидирует компания VMware, и не только потому, что первой стала заниматься этим, но и в силу того, что справилась с вышеназванными трудностями и создала функциональную управляющую среду, способную решать проблемы с крупномасштабной виртуализацией.

Теперь, когда реализованные в новых процессорах AMD и Intel технологии поддержки виртуализации помогают эффективно виртуализировать (на базе гипервизора) x86-совместимые системы, разработчики особое внимание уделяют повышению надежности работы средств виртуализации. Выбор между основанными на разных подходах к виртуализации гипервизорами компаний VMware, Microsoft и гипервизором с открытым исходным кодом Xen не имеет столь большого значения, как возможность решать проблемы с управлением ресурсами, возникающие при крупномасштабной виртуализации. Победителями на рынке решений для виртуализации станут компании, сумевшие предложить наилучшие средства преобразования физических сред в более продуктивные виртуальные. И в этом им помогают производители процессоров.

Полную версию данной статьи смотрите в 14-ом номере журнала за 2006 год.

Новые решения старых проблем

Если сравнить два используемых сегодня подхода к осуществлению виртуализации серверов, то можно сказать, что с виртуализацией на базе гипервизора связано больше проблем, чем с виртуализацией на уровне ОС (OS partitioning). Согласно второму подходу, базовая ОС предоставляет виртуальным средам доступ ко всем аппаратным ресурсам, избавляясь тем самым от множества присущих работе гипервизора проблем. Но пользователи не могут запускать разные гостевые ОС, поскольку виртуальные среды задействуют единственное ядро базовой ОС. Виртуализация же на основе гипервизора позволяет, применяя разные аппаратные платформы без базовой ОС, запускать разные гостевые ОС, но при этом возникают многочисленные технические трудности, связанные с распределением ресурсов процессора, памяти и средств ввода-вывода, с которыми раньше можно было справиться только с помощью сложного ПО. К счастью, компании AMD и Intel реализовали аппаратные решения этих проблем.

В обычной x86-совместимой операционной среде ОС работает в нулевом кольце защиты процессора. При виртуализации же без помощи процессора в этом кольце приходится запускать монитор виртуальных машин (Virtual Machine Monitor — VMM), или гипервизор, обеспечивающий управление аппаратными ресурсами для виртуальных машин (Virtual Machines — VM) и их виртуальных ОС (Virtual OS — VOS). Таким образом, чтобы обеспечить виртуализацию ЦПУ, нужно было реализовать нормальную работу ОС не в нулевом кольце, а это весьма не простая проблема. Разработчики технологий поддержки виртуализации на уровне процессора избавились от указанной проблемы предусмотрев возможность работы VMM в новом, суперпривилегированном кольце защиты –1 (“минус первое” кольцо). Наличие этого кольца позволяет VOS мирно сосуществовать в нулевом кольце, осуществляя связь через кольцо –1. При этом VOS даже “не подозревают” о том, что совместно используют ресурсы одного и того же компьютера.

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

Компания Intel первой реализовала свою технологию виртуализации VT-x, создающую кольцо –1 и поддерживающую новый набор команд, позволяющих создавать и удалять VM, управлять их работой и использованием памяти. Между технологиями Intel VT-x и AMD-V (прежнее название Pacifica) есть много общего. В процессорах с поддержкой виртуализации, гипервизор работает в кольце –1 и реализует механизм управления VM, обеспечивающий возможности инициирования, возобновления и завершения работы VM по мере надобности. Данный механизм действует как связующая среда для контекстного переключения между VMM и созданными VM.

Многочисленные VM со своими ОС могут бесконфликтно функционировать в нулевом кольце; управление запущенными в этом кольце VM, в документации Intel называемыми VMX и в документации AMD — SVM (Secure VM), в процессорах Intel и AMD осуществляется аналогичным образом. Крайне важно то, что возможность размещения гостевых ОС в нулевом кольце снимает проблемы, связанные с их запуском в другом кольце. Выполнение ряда команд зависит от номера используемого кольца, поскольку они предназначены для передачи управления между нулевым и третьим кольцами. Если же VOS работает не в нулевом кольце, то какой-либо важный процесс может неожиданно завершиться или, наоборот, не завершиться, когда это нужно. Размещение VM в нулевом кольце делает ненужными программные механизмы, решающие проблемы, вызванные запуском VOS в “неправильном” кольце. При возникновении сбоя в работе VM процессор передает управление защищенному VMM, который либо справится с возникшей проблемой и вернет управление этой VM, либо завершит ее работу, никак не влияя на функционирование других VM в данной системе.

Вот здесь-то и обнаруживается различие в подходах компаний AMD и Intel. Поскольку процессоры Intel работают с внешним контроллером памяти, то новые средства VT-x не могут управлять виртуальной памятью, а значит, по-прежнему нужно задействовать ПО для трансляции адресов ресурсов физической и виртуальной памяти. Хотя это и не самое оптимальное решение, оно тем не менее вполне функционально.

Процессоры же компании AMD имеют встроенный (реализованный на их кристалле) контроллер памяти, поэтому технология виртуализации AMD-V обеспечивает выполнение новых уникальных команд, позволяющих задействовать эксклюзивные (имеющиеся только в данной технологии) функции и режимы работы памяти. Большинство этих команд адресованы блоку управления памятью (Memory Management Unit — MMU), который выделяет ресурсы памяти. При виртуализации MMU отображает используемые множеством ОС и исполняемых приложений ресурсы памяти на адреса физической памяти. В технологии AMD-V предусмотрены “продвинутые” архитектурные компоненты, в том числе буферы Tagged Translation Look-Aside Buffers, повышающие производительность таблицы недавно вызывавшихся страниц памяти. Имеется также режим Paged Real Mode, поддерживающий программы, которым требуется режим адресации в реальном времени.

Пожалуй, самой интересной функцией технологии AMD является поддержка ею вложенных таблиц страниц (Nested Page Tables — NPT). В отличие от программного подхода Intel поддержка NPT обеспечивает каждой VM больше возможностей управления своей внутренней памятью, предоставляя VM аппаратно-независимые регистры виртуальной памяти CR3. Использование NPT увеличивает число обращений к памяти (поскольку управление передается через VMM), но позволяет избавиться от программного уровня, необходимого в VT-x. Это существенно увеличивает производительность VM, ведь управление памятью осуществляется там, где это и должно быть, т. е. на аппаратном уровне. Увеличение скорости работы станет наиболее заметным в случае применения приложений, интенсивно задействующих память, а также при использовании многочисленных VM.

Реализуемый компанией AMD подход к виртуализации обещает более высокую производительность, чем решение Intel. Технология VT-x компании Intel реализована в процессорах Xeon последнего поколения. Все будущие средства виртуализации на базе гипервизора как от Microsoft, так и от компаний, применяющих Xen, будут использовать аппаратную поддержку виртуализации процессорами, и только реализуемый компанией VMware подход гарантирует совместимость ее продуктов с унаследованными системами, так как он не зависит от аппаратной поддержки на уровне процессоров.

Избавляясь от “заторов” в каналах ввода-вывода

Проблемы управления ЦПУ и собственной памятью VMM — это только часть “головоломки” под названием “виртуализация”. Другой ее составляющей является сложная проблема улучшения взаимодействия VM с разделяемыми устройствами ввода-вывода, включая повышение безопасности их работы, которая стоит перед производителями оборудования. В рамках данной проблемы самую трудную задачу придется решать разработчикам средств ввода-вывода: им нужно создать оборудование, поддерживающее разделяемый доступ для многочисленных VM, ведь сегодняшние накопители, а также сетевые и графические устройства снабжены только одним интерфейсом с ОС. Следовательно, до тех пор, пока не появятся устройства ввода-вывода, способные поддерживать множество функциональных интерфейсов, придется использовать ПО для обеспечения функций IRQ, памяти и таймера в системах с множеством VM.

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

Мы ожидаем, что компания AMD первой выпустит на рынок продукты со своей новой технологией IOMMU (I/O Memory Mapping Unit), способной выполнять дополнительные команды, связанные с аппаратной поддержкой виртуализации. Речь идет о новых функциях, предназначенных для совершенствования DMA-отображения и доступа к аппаратным устройствам. Эти функции должны заменить собой нынешний механизм адресации видеопамяти и предоставить VM возможность непосредственного управления устройствами ввода-вывода. В спецификации VT-d (Virtualization Technology for Directed I/O) компании Intel основной упор тоже сделан на проблемах с прямым доступом к устройствам и на защите памяти. Как и IOMMU, технология VT-d способствует осуществлению прямой связи между VM и устройствами ввода-вывода.

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

Победитель здесь каждый

Реализация аппаратной (на уровне процессора) поддержки виртуализации, устраняющей многие из тех проблем, над решением которых годами бились специалисты фирмы VMware, придумывая хитроумные программные “обходные пути”, окажется наиболее полезной для развития решений Xen и Microsoft. Благодаря совершенствованию аппаратных средств виртуализации акценты в деятельности разработчиков смещаются с реализации самого гипервизора в сторону повышения производительности виртуальных сред и улучшения управления ими.

Мы рассмотрели три новейших решения для виртуализации серверов, способных поддерживать ОС Windows Server 2003 и Linux одновременно и ориентированных на создание объединенного пула серверных ресурсов на базе множества физических машин. В качестве примера реализации гипервизора с открытым исходным кодом Xen мы выбрали продукт компании Virtual Iron Software, потому что в нем воплощен комплексный (с полным набором сервисов) подход к виртуализации на базе Xen.

VMware

Сегодня на рынке средств виртуализации лидирует продукт корпоративного класса ESX Server компании VMware. Для администрирования гипервизора и поддержки агента управления в этом решении предусмотрена загрузка так называемой сервисной консоли на каждую физическую машину. Специалисты VMware используют метод бинарной трансляции для работы VM c общей аппаратной платформой. Разработанное ими ПО является своего рода прослойкой между физическими и виртуальными устройствами, обеспечивающей управление ресурсами, “перехват” и “преобразование” ошибочных состояний ОС, без чего последние могли бы вызвать крах VM. Этот подход позволяет использовать любую x86-совместимую ОС без модификации, но расплатой за такую гибкость является вызванное программной эмуляцией аппаратных сервисов снижение производительности на 10—30% в зависимости от используемых приложений. К счастью, продукты VMware выиграли от реализации в процессорах технологий поддержки виртуализации: продукт ESX Server 3.0 был модернизирован с целью повышения производительности и использования новых функций процессоров.

В настоящее время продукт ESX Server лидирует на рынке решений корпоративного класса для виртуализации серверов с возможностью использования разных ОС. Он имеет широкий набор средств управления, обеспечивающих централизованное администрирование, “живую” миграцию виртуальных серверов, автоматическое выделение ресурсов, распределенный файловый сервис, консолидированное резервное копирование и улучшенную защиту для сред высокой готовности. Виртуальные сервисы VMware предназначены и для хорошей интеграции в центры обработки данных (ЦОД), где уже используются высококлассные системы управления, подобные Tivoli компании IBM и OpenView компании Hewlett-Packard.

Xen в версии от Virtual Iron

Гипервизор c открытым исходным кодом Xen создан примерно три года назад в стенах Компьютерной лаборатории Кембриджского университета. Этот продукт довольно быстро стал очень популярным (более подробную информацию о нем см. на cl.cam.ac.uk/Research/SRG/netos/xen/). Первые версии Xen предназначались для сообщества пользователей ОС Linux и базировались на модели паравиртуализации, предполагающей модификацию ядра Linux (очень непростая задача) для работы под управлением Xen, причем после модификации ядро уже больше не могло функционировать на обычном оборудовании без этого гипервизора. Из-за паравиртуализации невозможно было запускать Windows на первых версиях Xen, поскольку компания Microsoft не позволяет модифицировать свою ОС.

В декабре 2005 г. разработчики выпустили продукт Xen 3.0 — первую реализацию этого свободно распространяемого гипервизора, использующую встроенные в процессоры технологии поддержки виртуализации (VT-x и AMD-V) и позволяющую запускать немодифицированные ОС. Благодаря отказу от паравиртуализации в среде Xen стало возможным использовать ОС Windows наряду с ОС Linux и Solaris. Однако в отличие от пакета ESX Server компании VMware продукт Xen не имеет средств управления корпоративного класса.

По сути Xen — это только гипервизор, поэтому для изучения его возможностей нам нужен был полнофункциональный продукт (основанный на нем) желательно от компании, имеющей большой опыт разработки средств виртуализации. Мы выбрали решение компании Virtual Iron, присутствующей на рынке с 2003 г. Ранее она предлагала ПО виртуализации для Linux на базе собственного гипервизора VFe. После выхода Xen 3.0 в компании решили отказаться от использования VFe, перейти в стан сторонников открытого исходного кода и сосредоточить свои усилия на разработке средств управления виртуальной средой.

В отличие от технологии компании VMware, пре-дусматривающей загрузку системного управляющего ПО на каждый физический сервер, продукт фирмы Virtual Iron устанавливает компактный гипервизор Xen (работающий на “голом железе”) на каждую систему и использует отдельный сервер для управления ресурсами всех систем в аппаратном пуле. Управляющий сервер Virtual Iron автоматически инвентаризирует аппаратные ресурсы подключенных к нему серверов и позволяет создавать виртуальные серверы в любом месте виртуальной инфраструктуры, перераспределяя ресурсы между ними. Выполняя такие функции, как управление рабочей нагрузкой на основе правил системной политики, динамическое распределение ресурсов, очень быстрая миграция VM и генерация отчетов, продукт от Virtual Iron предлагает системному администратору возможности управления корпоративного класса, которые раньше отсутствовали в решениях на базе Xen.

Microsoft

Выпустив в 2004 г. продукт Virtual Server 2005, компания Microsoft вышла на рынок средств виртуализации серверов. Однако отзывы о работе этого продукта были не только хорошие, но и плохие, в частности, из-за отсутствия в нем хороших средств и функций управления. Сейчас разработана существенно дополненная (это видно из длинного списка улучшений) версия Virtual Server 2005 R2 (VSR2), в которой специалисты Microsoft постарались учесть пожелания ИТ-профессионалов. Для функционирования продукта VSR2 нужно инсталлировать сокращенную версию ОС Microsoft Server, предназначенную для управления виртуальной средой и поддержки устройств для гостевых ОС. С помощью этой базовой ОС VSR2 может использовать все те аппаратные устройства, которые обычно поддерживает ОС Windows Server.

В самой последней версии VSR2 предусмотрено применение технологий VT-x и AMD-V. Еще в ней появилось приложение System Center Virtual Machine Manager с широким набором функций централизованного управления; оно “интеллектуально” предоставляет ресурсы и обеспечивает быстрое восстановление системы после сбоя. Продукт VSR2 изначально был ориентирован на работу с ОС Windows, но сейчас в нем имеется поддержка и гостевых ОС Linux. Стоит также отметить, что VSR2 позволяет создавать VM с устаревшими версиями серверных ОС Windows, такими, как Server 2000 и NT 4.0, что может оказаться весьма кстати для предприятий, использующих давно разработанные приложения.

Перспективы

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

Виртуальная симметричная многопроцессорность (Virtual SMP — VSMP). Здесь лидирует основанный на гипервизоре Xen 3.0 продукт компании Virtual Iron, поддерживающий VM, которые могут использовать до 32 процессоров одновременно. За ним следуют решения Microsoft VSR2 и VMware ESX Server с 8- и 4-канальной VSMP-функциональностью. Разумеется, число используемых виртуальной средой процессоров ограничено числом процессоров, имеющихся в самой хост-системе, поэтому поддержка 32-канальных VM может показаться излишней. Но это не так, поскольку сегодня на рынке уже появились четырехъядерные x86-совместимые процессоры.

Поддержка 64-разрядных платформ. Лишь немногие приложения способны воспользоваться всеми преимуществами расширенной адресации памяти в 64-разрядных x86-совместимых системах, тогда как виртуализация является одним из способов оптимального применения мощных серверов нового поколения. Продукты компаний Virtual Iron и Microsoft позволяют задействовать 32- и 64-разрядные ОС и приложения одновременно, но фирма VMware пока еще работает над улучшением поддержки таких смешанных сред.

Создание пула ресурсов. Очень часто этот термин употребляют как синоним кластеризации, однако речь здесь идет о другом — о логическом объединении физических машин и обеспечении гладкой и даже автоматизированной миграции VM по мере надобности. Это совсем не похоже на кластеризацию, при которой десятки процессоров во множестве физических машин могут быть выделены для выполнения одного задания; объединение ресурсов в пул предполагает распределение ресурсов многочисленных процессоров как единого целого, но при этом одно приложение не может “охватывать” сразу несколько физических машин. Фирмы VMware и Virtual Iron обеспечивают самую зрелую поддержку объединения ресурсов в пул для развертывания систем высокой готовности; подобные системы можно реализовывать и с помощью службы Microsoft Cluster Services.

Стоит упомянуть о том, что в любом случае гладкая миграция VM зависит от наличия разделяемой среды хранения данных между исходной и целевой системами. В идеальной виртуализированной среде ресурсы процессоров, оперативной памяти, систем хранения данных и сетевых средств будут существовать в виде большого объединенного ресурса, распределяемого по мере надобности. К сожалению, такая среда, реализующая концепцию “коммунальных” вычислений, еще не скоро станет реальностью.

“Нет, нет, мы хотим сегодня...”

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

Мы полагаем, что в технологии AMD-V реализован более эффективный подход к процессорной виртуализации, чем в технологии VT-x, поскольку новые процессоры Opteron компании AMD имеют более “продвинутую” архитектуру.

Кроме того, мы считаем, что относительно простая архитектура средств виртуализации на базе гипервизора Xen обеспечит им более высокую производительность, чем производительность более “тяжеловесных” программных решений компаний VMware и Microsoft. Впрочем, заявлять об этом с уверенностью еще слишком рано, ведь на момент написания статьи были доступны только бета-версии продуктов VSR2 и Virtual Iron 3.0.

Очевидно, что продукты компании VMware будут испытывать более сильную конкуренцию на рынке, в частности, в связи с появлением технологий VT-x и AMD-V, которые позволили существенно улучшить ПО виртуализации от Microsoft и решения на базе гипервизора Xen. Хотя в компании VMware и отрицают это, но похоже, что выпуск ею в 2005 г. бесплатных средств виртуализации VMware Server, VMware Player и VMTN Virtual Appliance, — это ответ на появление неплохого бесплатного продукта Xen. Относительно недавно компания анонсировала набор недорогих средств виртуализации VMware Infrastructure 3, в который вошли продукт ESX Server и наиболее востребованные средства управления VM. Данный набор предлагается в трех версиях (с разным составом сервисов): Starter (начальная), Standard (стандартная) и Enterprise (корпоративная), что позволяет сэкономить, не покупая ненужные сервисы. Тем самым компания VMware стремится изменить свой имидж поставщика самых дорогих средств виртуализации серверов.

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





  
14 '2006
СОДЕРЖАНИЕ

бизнес

• Конец эпохи тотального ИТ-контроля

• Стратегии выживания системного администратора в малой компании

• Oracle предлагает Linux неуязвимый

инфраструктура

• Модификация процессоров помогает осуществлять виртуализацию

• Горячие проблемы ЦОДов

• Предпроект в строительстве ЦОДа

информационные системы

• Алхимия данных

• Как нам лучше всего назвать call-центр

• Практическая экономика контакт-центров

• XBRL устанавливает стандарт отчетности

• «Инфоком—2006»: от Москвы до Екатеринбурга

кабельные системы

• Аудио- и видеобалуны расширяют применение UTP-проводки

• Анализ событий на рефлектограмме

сети связи

• Выполнение программы «Тетрарус»

• Сетевое видеонаблюдение

защита данных

• Массированное вторжение похитителей персональной информации

• Поможет ли вам шифрование не потерять работу?

• Поставщики решений NAC готовятся к наступлению

• Не следует игнорировать приложения Open-Source

новые продукты

• Новый компактный медиашлюз I-Gate


• Калейдоскоп



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх