LXF77:Xen

Материал из Linuxformat.

Версия от 01:54, 4 апреля 2008; Loki (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Xen: виртуальный роман

виртуализуйте оборудование и удивите друзей своим мастерством. Пол Хадсон покажет, как справиться с установкой Xen.

Пускай у вас мощнейший компьютер – этакий Athlon FX-60, 4 ГБ ОЗУ, 1000 ГБ жесткого диска и Linux-система, и все таки единственная ошибка при обновлении операционной системы может вывести его из строя. Произошло повреждение файла настроек, обнаружились ошибки в Glibc или пропажа модуля ядра – и ваша ОС рухнула придется восстанавливать систему используя резервную копию.

Но на грабли наступать вовсе не обязательно: клонируйте установленную ОС, запустите ее на виртуальной машине и выполните пробное обновление виртуально. если не обошлось без ошибок, то обновление можно отменить, виртуальную машину отключить, а ваша система останется невредимой.

Это только один из способов применения виртуализации, на самом деле их гораздо больше. виртуализация произвела революцию на рынке серверов, так как позволяет снизить объем неиспользованных ресурсов. к примеру, два сервера, допустим, с Apache и MySQL, загруженных на 25%, можно разместить на одном физическом сервере, организовав на нем две виртуальные машины – затраты на оборудование и обслуживание уменьшатся вдвое. Другой популярный пример использования виртуализации в бизнесе –создание кластеров и их использование для обеспечения дополнительной надежности, а также для отработки сложных сценариев на простых Пк.

Энтузиасты заинтересуются и просто шансом поиграть с новой технологией. владельцам домашних компьютеров виртуализация предоставляет возможность одновременно запустить несколько ОС, например, Fedora Core 4 и Fedora Core 5 Test 2, а также SUSe 10.0, NetBSD и в некоторых случаях Windows. Круто!

С чего начать

Самое свежее решение по виртуализации – программа Xen – явилось из мира Open Source. Мы рассказывали о Xen в LXF 67 и предположили, что за ней будущее виртуализации. так вот, это будущее настало!

Что особенного в данной технологии? Подход Xen сильно отличается от так называемой аппаратной виртуализации, применяемой в VMware и других укоренившихся продуктах. В VMware гостевая ОС остается в неведении о своем виртуальном статусе, а в Xen исходный код гостевой ОС должен быть немного подправлен, чтобы она понимала: ее место – под Xen. Это похоже на отношение симбиоза в природе: гостевая ОС знает о существовании Xen и реагирует на команды, а базовая ОС знает о своих гостях и получает от них информацию.

Новый подход окрестили «паравиртуализацией». На практике, паравиртуализация означает, что работа виртуальной машины (Virtual Machine, VM) не требует трудоемких операций, так как она осознает свой виртуальный статус и поэтому разделяет доступ ко всем ресурсам с остальными машинами без вмешательства Xen.

В результате скорость работы Xen VM всего лишь на 3–8% меньше, чем запуск системы на настоящем оборудовании, поэтому «почувствовать разницу» не удастся.

Принцип работы Xen

С тех пор, как мы рассказывали о Xen с десяток выпусков назад, она вошла в состав многих популярных дистрибутивов. SUSE, Fedora, Ubuntu, Gentoo и другие включили поддержку Xen, хотя качество поддержки зависит от дистрибутива. Xen негласно является одной из архитектур, под которые создается ядро Linux, наряду с x86, x86-64 и PowerPC.

АППАРАТНАЯ ВИРТУАЛИЗАЦИЯ

Паравиртуализация устраняет падение производительности, хотя придется подправить исходный код гостевой ОС. но это относится не ко всем архитектурам CPU. Архитектура Intel (x86–386, Pentium 4) а также клоны AMD и многие другие процессоры полагаются на иерархическую систему колец для назначения привилегий. Внутри процессора каждая программа (включая ОС) работает в кольце 0, 1, 2 или 3. в кольце 0 программы имеют полный контроль над машиной, а программы кольца 3 наиболее ограничены. на большинстве компьютеров ОС работает в кольце 0, а пользовательские программы в кольце 3, то есть даже самые агрессивные пользователи физически не могут отпихнуть ОС от ресурсов.

Проблема, связанная с кольцевой архитектурой, заключается в следующем: операционная система воображает, что будет работать в кольце 0. но виртуальную ОС в кольце 0 запустить нельзя: это угрожает безопасности базовой ОС. Поэтому виртуальная ОС запускается в кольце с меньшим уровнем привилегий. когда ОС проверяет, в каком кольце она работает, и получает ответ – не 0, ее работа аварийно завершается. Данная проблема обычно решается т.н. двоичной корректировкой: VM отслеживает запросы гостевой ОС на номер кольца и подменяет ответ. Двоичная корректировка – довольно трудоемкий процесс, поэтому традиционные техники виртуализации требуют мощного оборудования.

Паравиртуализация снимает проблему: ОС больше не претендует на работу в кольце 0, значит, никакая двоичная корректировка не нужна. Но что делать, если ОС невозможно подправить? Intel решила задачу с помощью технологии Vanderpool (сейчас просто VT), а AMD использует технологию Pacifica, которая заодно виртуализует контроллер памяти, тоже встроенный в чипы AMD64. новые чипы работают с двумя наборами привилегированных колец: VMX root и VMX Nonroot. Оба набора имеют кольца с 0 по 3, но только в наборе VMX root кольцо 0 имеет полный контроль над компьютером. набор VMX Nonroot виртуализуется чипом: когда немодифицирован-ная ОС проверяет, в каком кольце она работает, то получает ответ `0`, но не может угадать, какому из двух наборов это кольцо принадлежит.

VT и Pacifica все равно требуют программного обеспечения для поддержки виртуализации гостевых ОС и взаимодействия с пользователями. Xen поддерживает обе технологии, поэтому, если у вас имеется подходящее оборудование, вы можете запускать немодифицированные ОС (в том числе Windows XP) без потерь производительности.

Формально, когда вы устанавливаете Xen на компьютер, она становится главной операционной системой. Загрузка компьютера сопровождается загрузкой Xen OS, которая создает первоначальную виртуальную машину (известную как домен 0 или просто dom0), т.е. вашу базовую ОС. Все выглядит так, словно вы загружаете тот же Linux и затем X, как и до этого, но на самом деле вы используете виртуальную машину. Гостевая ОС dom0 является самой привилегированной, и поэтому имеет более высокий приоритет при доступе к оборудованию и вычислениях, чем другие гости. Этим гостям – обычно их называют непривилегированными доменами (domU) – требуется собственная порция оперативной памяти, а также постоянное место на диске для хранения своих данных.

Установка ядра

Хотя большинство дистрибутивов имеют поддержку Xen, мы потренируемся в сборке из исходных текстов, для гарантии, что вы сможете повторить процедуру установки с любым дистрибутивом. В данном руководстве мы будем использовать дистрибутив Fedora Core 4.

Прежде, чем мы начнем, необходимо сделать замечание: Xen должна работать с реальным оборудованием. Вы не сможете установить ее внутри Vmware или с использованием других средств виртуализации.

Как установить XEN

Хватит болтать – установим-ка Xen и запустим нашу основную ОС как виртуальную машину.

1. Устранение зависимостей

У Xen достаточно много зависимостей, и если вы хотите насладиться виртуализацией по максимуму, то их необходимо устранить. Вам потребуются полный набор для компиляции программ (GCC, make и др.), VNC (серверная и клиентская части), libvncserver, библиотека python-twisted, а также программа brctl, Curl (включая библиотеки разработки) и SDL (также включая библиотеки разработки).

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию