Виртуализация: Ближайшее будущее ИТ-индустрии
В последнее время виртуализация стала очень модным словом в ИТ, но многие до сих пор имеют очень размытое понятие о ней. В этом компасе я хочу рассказать о виртуализации вообще, её видах и средствах практического применения.
Введение
Виртуализация — это средство для организации работы на одной реальной ЭВМ нескольких виртуальных. По ряду причин на одном ПК не могут одновременно выполняться более одной операционной системы. Для преодоления этой преграды на сегодняшний день разработано множество продуктов (систем виртуализации), использующих разные технологии виртуализации и преследующих различные цели. Вообще, виртуализация — технология далеко не новая. Впервые, технология была использована ещё в 60-е годы прошлого века фирмой IBM на своём мэйнфрэйме System/360™ Model 67. В Model 67 все интерфейсы оборудования были виртуализированны через Virtual Machine Monitor (VMM). Надобность в данной технологии отпала, когда архитектура x86, не поддерживающая виртуализацию, захватила рынок. Сейчас же, с колоссальным ростом производительности ЭВМ, про технологию снова вспомнили.
Области применения
В области применения виртуализации входят:
Консолидация серверов
На сегодняшний день загрузка физических серверов составляет в среднем всего около 5-15%. Поэтому объединение множества виртуальных серверов под крылом одного физического позволяет куда более эффективно использовать вычислительные ресурсы, увеличив загрузку до 60-80%. Данный шаг позволяет компаниям экономить на оборудовании, электроэнергии и обслуживании.
Разработка и тестирование
Виртуализация оказалась очень полезным инструментом в руках системных программистов, разрабатывающих, например, ОС или драйвера устройств, избавив их от постоянных перезагрузок. Не остались обделены и программисты, создающие кросс-платформенный код — с виртуализацией они могут отлаживать его сразу в нескольких различных ОС. Специалисты по информационной безопасности могут поместить подозрительный код в виртуальную среду и изучать его поведение без угрозы для реальной среды. Это очень удобно и людям, далёким от ИТ — у них имеется возможность запускать ПО независимо от ОС, для которой оно разработано (например, можно запускать программу Windows в Linux).
Тестовые лаборатории и обучение
За счёт простоты развёртывания виртуальных машин, они часто используются для построения тестовых стендов, а также для обучения новым продуктам и технологиям.
Распространение предустановленного ПО
Многие разработчики программных продуктов создают готовые образы виртуальных машин с их уже предустановленными продуктами и предоставляют их на бесплатной или коммерческой основе.
Типы виртуализации
Эмуляция оборудования
Виртуальная машина аппаратных средств в этом случает создается на хост-системе, чтобы эмулировать необходимое оборудование. Одним из наиболее интересных пременений можно считать возможность использования целевого виртуального оборудования разработчиками встроенного ПО ещё до того, как реальные аппаратные средства будут в наличии.
Полная виртуализация
Модель полной виртуализации использует виртуальную машину, осуществляющую связь между гостевой ОС и родными аппаратными средствами. Основное преимущество этого метода состоит в том, что в гостевую ОС не вносится никаких изменений для работы в качестве гостевой. Из-за посредничества гипервизора между гостевой ОС и оборудованием сильно страдает производительность.
Паравиртуализация
Паравиртуализация сходна с полной виртуализацией: используется гипервизор для разделения доступа к оборудованию, но виртуальная машина не симулирует аппаратное обеспечение, а, вместо этого, предлагает использовать специальное API. Различие состоит в том, что код, касающийся виртуализации, встраивается непосредственно в гостевую ОС — и это главный недостаток данного метода, но он нивелируется производительностью, сравнимой с реальной системой. Ко всему прочему, появление технологий аппаратной виртуализации Intel VT и AMD SVM в их процессорах позволило запускать немодифицированную ОС (в том числе и Windows) на системе паравиртуализации (например, в Xen). Эти технологии обеспечивают прямой доступ виртуальных ОС к физическим устройствам через канал DMA.
Виртуализация на уровне операционной системы
В данном случае виртуализируется физический сервер на уровне ОС, позволяя запускать изолированные и безопасные виртуальные серверы на одном физическом сервере. Недостатком данного метода можно отметить необходимость внесения изменений в ядро ОС, но при этом имеется огромное преимущество - это родная производительность.
Продукты и решения
Виртуализация за последние несколько лет стала играть важную роль во всех сферах ИТ-индустрии и на рынке сейчас существует масса различных решений. Так как продуктов действительно много, мой обзор будет представлен пятёркой самых известных систем виртуализации. Об остальных вы сможете прочитать в сети Интернет.
VirtualBox — программный продукт виртуализации для операционных систем Microsoft Windows, DOS, GNU/Linux, Mac OS X и SUN Solaris/OpenSolaris.
К ключевым возможностям VirtualBox можно отнести:
* Кроссплатформенность
* Модульность
* Поддержка USB 2.0, когда устройства хост-машины становятся доступными для гостевых ОС (только в проприетарной версии)
* Поддержка 64-битных гостевых систем (только на 64-битных хост-системах)
* Встроенный RDP-сервер, а также поддержка клиентских USB-устройств поверх протокола RDP (только в проприетарной версии)
* Экспериментальная поддержка образов жестких дисков VMDK/VMware
* Поддержка iSCSI (только в проприетарной версии)
* Поддержка виртуализации аудиоустройств
* Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
* Поддержка дерева сохраненных состояний виртуальной машины (snapshots), к которым может быть произведен откат из любого состояния гостевой системы
* Поддержка Shared Folders для простого обмена файлами между хостовой и гостевой системами
О примере практического использования этой системы вы можете прочитать в моём компасе Запуск Linux как программы Windows.
QEMU — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ.
Включает в себя эмуляцию процессоров Intel x86, устройства ввода-вывода. Может эмулировать 386, 486, Pentium, Pentium Pro, AMD64 и другие x86-совместимые процессоры, PowerPC, ARM, MIPS. SPARC, SPARC64, m68k — лишь частично.
Читать далее
Xen — «паравиртуальный» монитор виртуальных машин (VMM), или гипервизор. Xen способен поддерживать одновременную работу большого числа виртуальных машин на одной физической, при этом не тратя значительных вычислительных ресурсов.
Читать далее
Виртуализация с помощью Xen в Linux
VMware Workstation — программа, позволяющая создавать и запускать одновременно несколько Виртуальных Машин (x86-архитектуры), в каждой из которых работает своя гостевая операционная система (например, Microsoft Windows, GNU/Linux и т. п.).
Также позволяет создавать снимки гостевой ОС. Помимо VMware Workstation компания Vmware выпускает и другие продукты виртуализации, такие как VMware Server, VMware ESX Server, VMware VirtualCenter, VMware ACE и VMware Player. Почитать о них можно здесь.
Microsoft Virtual PC — это программный пакет виртуализации для операционной системы Windows, а также программа эмуляции для Apple MacOS. Продукт специализирован на виртуализации операционных систем компании Microsoft.
Узнать больше об этой системе можно на официальном сайте Microsoft.
Официальные ресурсы
Ссылки на официальные ресурсы производителей решений виртуализации
9 ссылок
- VirtualBox
- QEMU
- Xen
- VMware
- Virtual PC
- Parallels
- Bochs
- KVM
- Hyper-V Server
Сайты, посвящённые виртуализации
2 ссылок
- VM GURU – технологии виртуализации и виртуаль�...
- Виртуализация на Microsoft
Перспективы, решения, ресурсы
Статьи
7 ссылок
- Виртуальный Linux - IBM
Обзор методов виртуализации, архитектур и реализаций - Виртуализация: основные проблемы внедрения...
Основные проблемы, мешавшие относиться к этой технологии всерьез - Виртуализация и консолидация - Открытые сис...
Большинство современных приложений рассчитаны на использование в компьютерных сетях, и их работа часто не зависит от физического расположения вычислительных ресурсов - Сравнение виртуальных машин
В таблице приводится сравнение основных характеристик виртуальных машин. Помните, что все упомянутые здесь виртуальные машины являются гипервизорами (эмуляторами аппаратного обеспечения). Ни одна из них не является виртуализацией приложений, как например Java Virtual Machine или Parrot Virtual Machine. - О виртуализации в Wikipedia
Виртуализа́ция в вычислениях — процесс представления набора вычислительных ресурсов, или их логического объединения, который даёт какие-либо преимущества перед оригинальной конфигурацией. Это новый виртуальный взгляд на ресурсы, не ограниченных реализацией, географическим положением или физической конфигурацией составных частей... - Виртуализация: новый подход к построению IT-�...
Информационные технологии принесли в жизнь современного общества множество полезных и интересных вещей. Каждый день изобретательные и талантливые люди придумывают все новые и новые применения компьютерам как эффективным инструментам производства, развлечения и сотрудничества... - Выпуск Technet Magazine, посвящённый виртуализации
Представляем Hyper-V в Windows Server 2008
Управляйте своими виртуальными средами с помощью VMM 2008
Начало работы с виртуализацией приложений Microsoft
Достижение высокой доступности для Hyper-V
Резервное копирование и аварийное восстановление для виртуализации серверов
Важные средства для планирования виртуальной инфраструктуры
Блоги
4 ссылок
- Виртуализация на Хабрахабре
- Виртуализация на OpenNet
- Виртуализация. VMware VI, MS Hyper-V, Xen, etc
- Виртуализация для бизнеса
Что почитать
Озон
Virtualization with Xen: Including Xenenterprise, Xenserver, and XenexpressКнига David E. Williams 631 г
For system administrators and IT managers looking to harness the power of XenSource's open-source XenT hypervisor for "bare metal" server virtualization! |
НеизвестноКнига Al Muller 793 г
Book DescriptionA virtual evolution in IT organizations throughout the world has begun. It is estimated that currently 3% of all servers run virtually and that number is expected to grow rapidly over the next 5 years. VMware's ESX server is the enterprise tool that provides the platform on which a complete vi... |
Виртуализация и Microsoft Virtual Server 2005Книга Роджер Диттнер, Кен Мейджорз, Матиас тен Селдан, Туан Гротениус, Дэвид Рул, мл., Джеффри Грин 430 г
Книга посвящена актуальной теме виртуализации и одному из предлагаемых компанией Microsoft программных продуктов Virtual Server 2005. Основная идея виртуализации заключается в пре... |