Да вроде и так неплохо написано. Но если можно поподробней, то почему бы и нет. Эта тема, имхо, не задумана под лёгкость, так что облегчать-то точно незачем :)
в принципе можно было еще как минимум описать команды для управления виртуальными машинами, но их описание можно прочитать в xm help, и я не стал из-за них раздувать статью. Но например про sudo su и sudo bash довольно простая вещь, и скорей всего её знает как минимум большинство, стоит ли описывать такие простые вещи?
Да, опишите пожалуйста. Купил сервер, а с софтом толком не разобрался еще. Сервер достаточно мощный — дуал Оптерон 2Ггц, оперативы пока правда гиг всего, но буду наращивать. Знакомые советуют ставить виртуализацию, но у меня пока в этом совсем нет опыта. Ваша статья оказалась кстати. Если опишите как настроить все на продакшене, буду премного благодарен.
Честно говоря, я пока в этом не особо разбираюсь. Основная задача — это веб-сервер. Возможно еще будет что-то под Яву, но пока это не точно.
К тому же я пока не особо понимаю разницу между Ксеном и остальными системами. Пока на первом месте стоит хорошее соотношение между удобством настройки, использования + быстродействие.
Имеются ввиду что у вас используется в качестве платформы Linux. К примеру сопровождать систему с большим количеством сервисов может быть затруднительно. Соответсвенно можно при помощи OpenVZ разделить эти сервисы по отдельным контейнерам и сопровождать их отдельно.
Я правильно понимаю, что при установки XEN, процессор должен поддержить аппаратрую виртуализацию, или это не обязательно? (например Athlon64 +3500 Venice)
У меня аппаратную виртуализацию не поддерживает например. Она нужна только для запуска ОС не заточенных под xen: windows, os/2, и т.д. Все заточенные под xen ОС работают прекрасно без технологий аппаратной виртуализации: Linux(практически все дистрибутивы), FreeBSD, NetBSD, OpenBSD, OpenSolaris, Plan 9 и т.д.
Я наслышан о том, что Xen позволяет гостевой ОСи использовать железо напрямую, например, видеокарту. Так ли это на самом деле? Возможно ли, например, под Xen на линуксе поставить винду и сделать так, чтобы DirectX использовал аппаратное ускорение видеокарты?
Только unix like системы( и то не все). Хотя где то проходила новосить, что ребята из Xen все же запустили винду, но там что то с лицензией винды фигово, и этого нельзя делать ) Или код они где то подправили, в общем не помню.
В Xen3.2 нельзя, т.к. винда не паравиртуализуется, а эмулируется в связи с тем, что её исходный код закрыт и внести правки необходимые для паравиртуализацие нельзя. Но буквально вчера вышел Xen3.3 в котором появилась возможность пробрасывать устройства в HVM домены (в них запускают венду), но нужна поддержка процессором технологий виртуализации и IOEMMU. Возможно кому-либо удастся использовать видеокарту таки образом. Но основная проблема в том, что все устройства кроме видеокарты (процессор, память, чипсет, и т.д.) будут эмулироватся, а соответсвенно будет большая потеря производительности.
Из практики:
1 При установке гостевой ос в файл будет падение производительности дисковой подсистемы в 5-10 раз.
2 Разницы между установкой на голый раздел и в уже размеченную ФС(LVM раздел) не заметно. Вариант с LVM естественно удобнее.
3 В вариантах из пункта 2 скорость записи падает незначительно. Скорость чтения падает на 10-30 процентов. Или наоборот, чтение остается на уровне, а запись падает. Забыл :), записей под рукой нет. В общем имейте ввиду. Тестировал на аппаратном raid-5 и на софтовом. На двух разных системах от разных производителей — scsi и sas.
4 Производительность процессора — разницы не заметил. Я тестировал в основоном случай одной гостевой системы и двух. Для большего количества гостей возможны серъезные потери.
5 Сеть работает отлично.
В общем самое слабое место — это дисковая подсистема. Я ставил на гостевую субд :) Вердикт: можно работать с бд, тем более с зеркалом. Если приложения не предъявляет особых требований к дисковой подсистеме, то сомневаться вообще не стоит.
Dom-0 ничем не отличается от «чистой» системы в плане производительности.
У меня установлена Ubuntu в файл фиксированого размера гостем под VirtualBox в Windows. При этом скорость чтения падает от силы в полтора раза (hdparm -t /dev/sda выдает около 77 МБайт/сек при максимуме для моего диска в 110-120 МБайт/сек). Так что у меня вызывают большие сомнения высказывания о десятикратной потере производительности дисковой подсистемы при установке ОС в файл.
Не думаю, что стоит полагаться на результаты hdparm. Эта утилита настройки, а не бенчмарк. Последовательное чтение вероятно и не будет сильно отличаться.
Посоветуйте нормальный бенчмарк для Ubuntu, результаты оглашу.
С другой стороны, я понимаю, что при использовании файла как харда гостя негативную роль отыграть может фрагментация. Но насколько серьезную — пока вопрос.
ошибку поправил. там имелся ввиду метод виртуализации HVM, основанный на аппаратных технологиях виртуализации. По поводу раутера можно долго спорить, но маршрутизатор довольно длинное и некрасивое слово, по этому предпочитаю использовать раутер, благо он довольно прочно вошел в обиход.
Впринципе, все линуксы одинаковы, и особого отличия нет. Для меня главным критерием является стабильность и качество сборки пакетов. К сожалению дебиан не стал заводится на моём чипсете, а засовывать своё ядро и поддерживать его не хотелось, по этому выбор пал на убунту. По сути тот же дебиан, только пакеты новее. Что порадовало в убунте — после установки в системе нет иксов и прочих вещей, которые не всегда нужны на сервере.
как минимум можно настроить копию production-сервера, чтобы тестировать на чистом сервере свои программы. Плюс тестировать программы на различных операционных системах — freebsd, netbsd, opensolaris и т.д. Также например, если захочется посмотреть какую-либо ОС, не обязательно ставить её на отдельный диск или запускать через не особо быструю технологию эмуляции. Да и просто создать инфраструктуру изолированных серверов, на одной машине с возможностью легкого включения/выключения.
OpenVZ мне кажется для этого больше подходит, по крайней мере для продакшн-серверов. Для зоопарка, да, ксен лучше, а для стабильности и производительности — только OpenVZ.
Я бы не сказал что OpenVZ верх стабильности, тот же Virtuozzo получше будет. Но во-первых везде одно ядро, во-вторых иногда бывают некоторые проблемы. Xen по производительности практически не отстает от openvz, где-то возможно даже превосходит.
Не будем забывать, что Virtuozzo платен, в отличие от OVZ. Я например, для себя никаких таких уж плюсов Virtuozzo перед OVZ для себя не нашел. С OVZ легче работать, чем с ксеном, по крайней мере для меня.
Дело привычки на самом деле. Большой плюс Xen, что он поддерживается в Amazon EC2. OpenVZ же поддерживается большинством VDS/VPS хостингов. Но, как мне кажется Xen больше похож на промышленный стандарт, благодаря поддержке различных систем.
У меня стоит джента, а последнее ядро xen только 2.6.21, в оверлее xen нет последних ядер. Пытался поставить его месяца 4 назад (в хендбуке хорошо все документировано), но потом узнал что у меня нет аппаратной виртуализации :)
У меня аппаратной виртуализации тоже нет. Но без неё прекрасно работают системы заточенные под Xen. а по поводу дженты — насколько я знаю Xen включен в последних ядрах, и нужно лишь перекомпилить ядро, плюс поставить нужный софт.
На сколько я понимаю, на Xen будет проблема со скоростью дисков при большом количестве VPS на нём.
С OpenVZ будет в этом плане лучше, но лучше использовать всё равно SAS.
«VirtualBOX/VMWare/Qemu и подобные системы эмуляции.»
Что в этом списке делают VMWare(наверное имелись ввиду продукты Workstation, Server и ESX сервер) и VirtualBox? Это платформы обеспечивающие full-virtualization основным механизмом которых является патч кода гостевой системы «на лету», что даёт минимальный проигрыш в производительности(по CPU ~ 97% от изначальной у VMWare). Как раз для домашних нужд подойдут более простые и бесплатные VMWare Server и VirtualBOX(который кстати является частью проекта SUN xVM). VMWare Tools так же решат проблему производительности систем ввода/вывода(если диск виртуальной машины представлен файлом, то потери всё равно будут колоссальными).
Настройка же Xen займёт достаточно времени. Xen в общем, для тех, кто понимает ;). Из своего опыта могу лишь сказать что Xen удобен тем, что являясь бесплатным позволяет использовать широкий спектр технологий(к примеру, iSCSI), в отличие от VMWare Server или VMWare Workstation.
Кстати VMWare iESX (бывший ESX 3i) так же поддерживает паравиртуализацию.
Ну и напоследок, для тех кто решил виртуализировать Windows на Xen существует проект проект GPLPV — набор паравиртуальных драйверов, которые позволят избавиться от медленной эмуляции IOEMU(сеть, диск и прочий I/O).
А можно ли получить доступ к гостевой системе не зная пароля к ней, а имея рутовый доступ к хост-системе? Интересует на сколько защищены мои данные на VPS/VDS хостинге (диск зашифрован TrueCrypt).
Все отлично, только у меня почему-то при трех domU с дебианом, dom0 yа убунте валится в оops при любой активности выше среднего, начиная от md5sum, и бактрекер убунтовский завален реквестами на баг типа этого.
Домашний сервер: виртуализация на основе Xen