Виртуализация – это непросто
В статье дается описание понятия «вирутализация», используемого часто неправильно даже профессионалами рынка.
Перед тем, как готовить статью про виртуализацию, почитал материалы в интернете. Что, так сказать, люди пишут. И был буквально ошеломлен. В буквальном смысле этого древнеславянского слова – это такое ощущение, когда по «шелому» (шлему) палицей били.
Почти все материалы, включая русскую википедию, повторяют друг друга и информацию трех-пятилетней давности. Мало того, суть виртуализации практически упущена. Главный вопрос «зачем это нужно?» остается за скобками.
И получается парадокс: виртуализация стала «общим местом», понятие стирается от частого употребления – только ленивый про нее не говорит, а вот ценность этого понятия остается за рамками... Приведу конкретный пример: про аппаратные разделы, которые на UNIX системах IBM существуют уже более семи лет (!), не нашел ни слова. Но главное даже не это. Толком понять из материалов, а зачем эта виртуализация (кроме некоторого удобства для пользователя) - практически невозможно.
Ну что ж, попробуем разобраться. И разобраться по сути.
Итак, виртуализация – это переход от работы с конкретными физическими устройствами (серверами, процессорами, томами или «лунами» на дисках, сетевыми адаптерами и т.д.) к работе с их образами или удобными для работы абстрактными, упорядоченными структурами.
Суть виртуализации в том, что обслуживающий персонал (системные администраторы, пользователи) не заботятся о том, где конкретно хранится и обрабатывается нужная им информация, как она «ходит» по устройствам. Для персонала создается удобная форма представления устройств, и персонал работает с этим представлением. Но дело не в удобстве, вернее удобство – это «побочный» продукт. Главное, что дает виртуализация:
- Существенную (т.е. в разы) экономию ресурсов за счет повышения эффективности использования оборудования
- Существенное снижение рисков, как технических, так и связанных с ними бизнес - рисков, за счет повышения надежности системы в целом
- Существенное повышение автоматизации рабочих процессов, связанных с обслуживанием, за счет перевода многих рутинных операций в «автоматические»
- Существенное повышение управляемости системы (собственно, это и есть то самое, отмечаемое многими в открытой литературе, «удобство»)
- Существенное повышение «прозрачности» системы, т.е. легкость мониторинга – отслеживания и понимания идущих в ней процессов.
При этом надежность, производительность, качество обработки информации, удобство работы, возможность мониторинга происходящих процессов и т.д. обеспечивают те самые «инновационные технологии», о которых все говорят. Но эти технологии имеют совершенно конкретные воплощения: это «детали оборудования» и «системное программное обеспечение», которые отличаются именно реализацией у разных производителей и являются «ответственными» за уровень обеспечиваемых параметров. Грубо говоря, если одна компания (IBM) умеет производить серверы с такими встроенными чипами, которые позволяют мгновенно перебрасывать приложение с сервера на сервер, а другие компании не умеют производить такие чипы и встраивать их в сервера, то и виртуализация будет существенно «разной».
Как следствие работы этих механизмов виртуализации, возникают серьезные преимущества: резко повышается производительность систем за счет «перетекания» и объединения ресурсов аппаратной части для обработки множественных задач - таким образом существенно повышается эффективность использования ресурсов ИТ мнфраструктуры и существенно снижаются издержки на управление, поддержку и наращивание совокупной мощности серверов, сетей, систем хранения организации.
И вот что важно: почти все авторы пишут про «стандартную» архитектуру, сервера x86, которые виртуализуются с помощью VMWare, упоминаются зоны или контейнеры Sun... А вот про аппаратную виртуализацию на системах Power информации почти нет. А ведь аппаратная виртуализация на этих системах – это совершенно уникальный подход, который позволяет решить очень важные задачи для заказчиков. В первую очередь это:
- У IBM все реализовано на уровне оборудования, а не ПО, что означает, что разделы не имеют друг с другом ничего общего и гибель одного раздела не затрагивает других разделов.
- Гибкость организации разделов практически не ограничена и не требует специальных навыков.
- Использование виртуализации в разы повышает эффекимвность использования системы.
Особенности реализации виртуализации от IBM позволяют максимально использовать аппаратуру для задач любого размера при максимальном уровне изоляции задач друг от друга, как с точки зрения взаимного проникновения, так и на уровне взаимного влияния при авариях.
При этом становится возможным отделить вопрос производительности задачи от сиюминутной производительности конкретной системы и оперировать в терминах необходимой мощности, перераспределения мощностей между задачами в рамках одной физииической системы. Это решение основывается на технологиях виртуального ввода-вывода, разделов и микроразделов, динамической балансировке нагрузки и перераспределения необходимых ресурсов (процессорное время, память).
Очень важным является
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти
Обсуждения 3
Комментарий от
Сергей Плехов
| 17 октября 2011, 00:46
В чем уникальность гипервизора от IBM, когда существуют полные аналоги от Oracle и HP?
По поводу главных достоинств виртуализации основные доводы мне не очень понятны.
Рассмотрим конкретный пример: заменяем одну инсталляцию AIX 6.1 на «голом» железе ее аналогом, но с использованием гипервизора от IBM, трех партиций на AIX 6.1, одной на AIX 7.1, двух на AIX 5.3 и двух на SLES 9, и Red-Hat 5. И идем по списку:
Существенная экономия ресурсов – только гипервизор требует 10-15% ресурсов сервера для своей работы, далее поднимаемся на уровень выше – вместо одного AIX 6.1 у нас теперь 8 и на каждой «живет» свой экземпляр ОС, который тоже требует ресурсов для работы.
Снижение рисков – как мы видим, инсталляция несколько усложнилась, кроме того, появилось некоторое количество единых точек отказа в виде гипервизора и виртуальных устройств, так что надежность системы в целом не повысится, а наоборот, снизится.
Автоматизация процессов – каким образом? Раньше на одном разделе нам просто не нужно было ничего автоматизировать, но когда их стало восемь, то есть смысл задуматься. Я так понимаю, это реверанс в сторону Tivoli Automation.
Удобство управления – если под удобством понимать сложность, то наверное вы правы.
Легкость мониторинга – если раньше был один хост, на котором мы могли увидеть все из одного места, то теперь нам однозначно придется использовать дополнительные средства в виде ITM, чтобы не бегать по всем разделам в случае проблем. Наличие дополнительных прослоек однозначно затруднит поиск проблемы.
Да, существуют довольно интересные решения, которые предлагает виртуализация, в случае IBM можно назвать Active Memory Sharing, Active Memory Expansion, но эти технологии очень новые. SAP объявил об их поддержке далеко не во всех конфигурациях менее года назад, так что в продуктивной среде использовать такие новинки еще рано.
Покупка «большого» сервера, и последующее «распиливание» на много маленьких верный способ переплатить в несколько раз.
P.S. Про передачу из раздела в раздел ресурсов на ходу хотелось бы поподробнее.
Комментарий от
Александр Дмитриев
| 21 октября 2011, 10:44
Сергей Плехов 17 октября 2011, 00:46
Очень провокационная статья. Судя по профилю человек работает в IBM, но, тем не менее, не в силах отыскать документацию по Power VM.
В чем уникальность гипервизора от IBM, когда существуют полные аналоги от Oracle и HP?
По поводу главных достоинств виртуализации основные доводы мне не очень понятны.
Рассмотрим конкретный пример: заменяем одну инсталляцию AIX 6.1 на «голом» железе ее аналогом, но с использованием гипервизора от IBM, трех партиций на AIX 6.1, одной на AIX 7.1, двух на AIX 5.3 и двух на SLES 9, и Red-Hat 5. И идем по списку:
Существенная экономия ресурсов – только гипервизор требует 10-15% ресурсов сервера для своей работы, далее поднимаемся на уровень выше – вместо одного AIX 6.1 у нас теперь 8 и на каждой «живет» свой экземпляр ОС, который тоже требует ресурсов для работы.
Снижение рисков – как мы видим, инсталляция несколько усложнилась, кроме того, появилось некоторое количество единых точек отказа в виде гипервизора и виртуальных устройств, так что надежность системы в целом не повысится, а наоборот, снизится.
Автоматизация процессов – каким образом? Раньше на одном разделе нам просто не нужно было ничего автоматизировать, но когда их стало восемь, то есть смысл задуматься. Я так понимаю, это реверанс в сторону Tivoli Automation.
Удобство управления – если под удобством понимать сложность, то наверное вы правы.
Легкость мониторинга – если раньше был один хост, на котором мы могли увидеть все из одного места, то теперь нам однозначно придется использовать дополнительные средства в виде ITM, чтобы не бегать по всем разделам в случае проблем. Наличие дополнительных прослоек однозначно затруднит поиск проблемы.
Да, существуют довольно интересные решения, которые предлагает виртуализация, в случае IBM можно назвать Active Memory Sharing, Active Memory Expansion, но эти технологии очень новые. SAP объявил об их поддержке далеко не во всех конфигурациях менее года назад, так что в продуктивной среде использовать такие новинки еще рано.
Покупка «большого» сервера, и последующее «распиливание» на много маленьких верный способ переплатить в несколько раз.
P.S. Про передачу из раздела в раздел ресурсов на ходу хотелось бы поподробнее.
Ну, ответим по-порядку.
Первая догадка, уважаемый Сергей, абсолютно верна. Не только работаю в IBM, но уже давно работаю – 11 лет, да еще и дорос до Системного Архитектора, что, в общем-то и не скрываю.
Вторая догадка мимо: уж чего-чего, а редбуков у меня навалом, а упомянутую книжку по Power VM (их, кстати, несколько) – в свое время набрал с нашего склада целый шкаф и раздавал заказчикам. Кстати, если что интересует из редбуков – только спросите, вышлю, что называется, даром – поскольку они у нас для знаний, и в электронном виде – легко!
Теперь про пример с партициями. Этот вариант мы разбирали еще когда Power 4 переходил на Power 5 – так называемую проблему ‘overhead’а. Было это в связи с конкретным проектом, где специальное письмо рассматривали именно с этой аргументацией, услужливо написанной конкурентами. Сделали тестирование. Все по-взрослому.
И знаете, что оказалось? Занятная штука.
Включение виртуализации и создание нескольких разделов приводит к ОСВОБОЖДЕНИЮ ресурсов и возможности на тех же ресурсах выполнить существенно больше (в нашем опыте было до 28%) задач по нагрузке.
Таким образом, при включении режима виртуализации за счет того, что управление виртуализацией берет на себя В ОСНОВНОМ аппаратно-программный гипервизор, который очень незначительно «отвлекает» процессора и память на обслуживание по распределению задач, «overhead» получается практически незаметным. Можно, конечно, довести систему до абсурда. Я убежден, что если взять максимальное количество разделов, нагрузить по самое некуда – да еще и выставить всем приоритеты (кстати, есть и такая возможность в управлении разделами), то накладные расходы будут уже заметны. Но это случай не очень жизненный.
Насчет управления – управление возможно с единого места как сервером, так и комплексом в целом (много-много серверов), причем с разным типом интерфейса, от командной строки (для «старичков» индустрии) до вполне дружелюбного «в картинках»...
Чтобы не показаться голословным, привожу два кадра из фильма, снятого лично мной при том тестировании.
Вариант без виртуализации – 30% сервера (UNIX) – idle
Вариант с виртуализацией. Откуда-то берутся дополнительные два десятка процентов. Сервер ‘idle’ только на 5-6 процентов.
Почему так происходит? Потому что реализация виртуальных разделов в Power системах в принципе отличается от всего, что делается у других. Простейшей иллюстрацией к тому является, например, сертификат международного образца EAL4, который для виртуализации под AIX есть, а ни у кого из конкурентов – нету.
Почему? Скажем, Oracle для своей базы данных такой сертификат получил. Почему бы Solaris или HP-UX не получить для виртуализации такой вариант? Сертификат-то очень значимый, говорит как раз про изоляцию и защиту разделов?
Да просто наш гипервизор – он реализован аппаратно-программным способом, а у всех других грузится как обычная программа.
Отсюда и вся разница.
Тут если вопросы есть – идем как раз в упомянутую техническую (а не маркетинговую) документацию.
В открытой документации HP, например, популярно объясняется, как грузится монитор партиций, и что это такое. Вот цитатка на английском из технической (подчеркиваю) литературы HP: «With HP-UX 11i Virtual Partitions, however, the vPar monitor sits logically between the hardware and each OS, allowing each partition to support a different instance of HP-UX 11i. HP-UX 11i Virtual Partitions house completely separate operating system instances isolated by software.»
Из текста видно, что есть некая «программа», монитор, которая грузится как обычная программа, а потом... «When the Monitor boots, it reads a copy of the partition database from a file on the same disk from which the Monitor /stand/vpmon is booted. The default file is /stand/vpdb. Then, the Monitor creates a master copy of the vPars partition database in the memory reserved by the Monitor.» - то есть монитор читает базу данных партиций (разделов) из файла на том же диске, с которого он загружается!
А вот еще цитатка из документации: «Of particular interest is vparhp, which is the heartbeat daemon related to keeping vpdb synchronized on all of your vPars.»... Это HP пишет, не я. Так вот оказывается, там демон сидит. Умер демон – умерло все. Вот такие пирожки. С котятами.
Тут говорить о надежности и независимости разделов, отсутствии единой точки отказа – просто бессмысленно. Если не поддаваться на чтение маркетинговых лозунгов, а читать редбуки – то картина довольно очевидна.
А в чем главный фокус реализации виртуализации ресурсов у IBM – об этом в следующей порции... Да, кстати про переброс ресурсов – что там между разделами! Про Live Partition Mobility слышали? Так прямо с сервера на сервер кидают, вот до чего дошли! Мгновенно. Без остановки работы. И все отличненько функционирует.
Комментарий от
Сергей Плехов
| 24 октября 2011, 17:22
Александр Дмитриев 21 октября 2011, 10:44
Ну, ответим по-порядку.
Первая догадка, уважаемый Сергей, абсолютно верна. Не только работаю в IBM, но уже давно работаю – 11 лет, да еще и дорос до Системного Архитектора, что, в общем-то и не скрываю.
Вторая догадка мимо: уж чего-чего, а редбуков у меня навалом, а упомянутую книжку по Power VM (их, кстати, несколько) – в свое время набрал с нашего склада целый шкаф и раздавал заказчикам. Кстати, если что интересует из редбуков – только спросите, вышлю, что называется, даром – поскольку они у нас для знаний, и в электронном виде – легко!
Теперь про пример с партициями. Этот вариант мы разбирали еще когда Power 4 переходил на Power 5 – так называемую проблему ‘overhead’а. Было это в связи с конкретным проектом, где специальное письмо рассматривали именно с этой аргументацией, услужливо написанной конкурентами. Сделали тестирование. Все по-взрослому.
И знаете, что оказалось? Занятная штука.
Включение виртуализации и создание нескольких разделов приводит к ОСВОБОЖДЕНИЮ ресурсов и возможности на тех же ресурсах выполнить существенно больше (в нашем опыте было до 28%) задач по нагрузке.
Таким образом, при включении режима виртуализации за счет того, что управление виртуализацией берет на себя В ОСНОВНОМ аппаратно-программный гипервизор, который очень незначительно «отвлекает» процессора и память на обслуживание по распределению задач, «overhead» получается практически незаметным. Можно, конечно, довести систему до абсурда. Я убежден, что если взять максимальное количество разделов, нагрузить по самое некуда – да еще и выставить всем приоритеты (кстати, есть и такая возможность в управлении разделами), то накладные расходы будут уже заметны. Но это случай не очень жизненный.
Насчет управления – управление возможно с единого места как сервером, так и комплексом в целом (много-много серверов), причем с разным типом интерфейса, от командной строки (для «старичков» индустрии) до вполне дружелюбного «в картинках»...
Чтобы не показаться голословным, привожу два кадра из фильма, снятого лично мной при том тестировании.
Вариант без виртуализации – 30% сервера (UNIX) – idle
Вариант с виртуализацией. Откуда-то берутся дополнительные два десятка процентов. Сервер ‘idle’ только на 5-6 процентов.
Почему так происходит? Потому что реализация виртуальных разделов в Power системах в принципе отличается от всего, что делается у других. Простейшей иллюстрацией к тому является, например, сертификат международного образца EAL4, который для виртуализации под AIX есть, а ни у кого из конкурентов – нету.
Почему? Скажем, Oracle для своей базы данных такой сертификат получил. Почему бы Solaris или HP-UX не получить для виртуализации такой вариант? Сертификат-то очень значимый, говорит как раз про изоляцию и защиту разделов?
Да просто наш гипервизор – он реализован аппаратно-программным способом, а у всех других грузится как обычная программа.
Отсюда и вся разница.
Тут если вопросы есть – идем как раз в упомянутую техническую (а не маркетинговую) документацию.
В открытой документации HP, например, популярно объясняется, как грузится монитор партиций, и что это такое. Вот цитатка на английском из технической (подчеркиваю) литературы HP: «With HP-UX 11i Virtual Partitions, however, the vPar monitor sits logically between the hardware and each OS, allowing each partition to support a different instance of HP-UX 11i. HP-UX 11i Virtual Partitions house completely separate operating system instances isolated by software.»
Из текста видно, что есть некая «программа», монитор, которая грузится как обычная программа, а потом... «When the Monitor boots, it reads a copy of the partition database from a file on the same disk from which the Monitor /stand/vpmon is booted. The default file is /stand/vpdb. Then, the Monitor creates a master copy of the vPars partition database in the memory reserved by the Monitor.» - то есть монитор читает базу данных партиций (разделов) из файла на том же диске, с которого он загружается!
А вот еще цитатка из документации: «Of particular interest is vparhp, which is the heartbeat daemon related to keeping vpdb synchronized on all of your vPars.»... Это HP пишет, не я. Так вот оказывается, там демон сидит. Умер демон – умерло все. Вот такие пирожки. С котятами.
Тут говорить о надежности и независимости разделов, отсутствии единой точки отказа – просто бессмысленно. Если не поддаваться на чтение маркетинговых лозунгов, а читать редбуки – то картина довольно очевидна.
А в чем главный фокус реализации виртуализации ресурсов у IBM – об этом в следующей порции... Да, кстати про переброс ресурсов – что там между разделами! Про Live Partition Mobility слышали? Так прямо с сервера на сервер кидают, вот до чего дошли! Мгновенно. Без остановки работы. И все отличненько функционирует.
Про освобождение ресурсов опять попытки смешать теплое с мягким. Загрузка, которая видна со внутри виртуального раздела и реальной нагрузки на «железо».
Дружелюбные картинки просто поражают воображение, сразу становятся видны все преимущества виртуализации от ИБМ.
По поводу демонов, которые сидят в памяти, у AIX такой же монитор в виде процесса висит в памяти и отвечает за интерконнект и управление.
Про «довольно очевидно» тоже понравилось. Вы действительно считаете, что гипервизор, со своими системами сателлитами, не являются точкой отказа?
Не совсем понял как переброс ресурсов коррелирует с LPM. Да, было видео переброса инстанции с хоста на хост, но и там есть ньюансы.
SAP отлично распределяет и балансирует нагрузку сам. В случае LPM нам необходимо резервировать ресурсы. Столько же сколько и на продуктивном разделе. Если раздел продуктивный, то в резевре может оказаться довольно много ресурсов. Принцип если хотите чтобы работало - купите вторую такую же "железку" работает до сих пор.
Причем, SAP умеет балансировать и распределять нагрузку десятилетия а LPMу 2-3 года.