Есть предложение сообща заняться освоением виртуализации

Аватар пользователя Andre

Есть предложение желающим сообща заняться освоением виртуализации - освоить, оценить на практике и написать полезное исчерпывающее Howto.

Кратко - что это такое и зачем она нужна нам, эта виртуализация?

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

В отличие от нее, паравиртуализация эмулирует лишь базовую операционную систему, что требует некоторой коррекции ее ядра. И хотя такой подход позволяет большей частью успешно эмулировать операционные системы, лишь родственные базовой (хотя это не догма), зато скорость их работы получается фантастической - практически сравнимой со скоростью исходной операционной системы.

И тут в самый раз уместно задать вопрос, часто задаваемый в одном славном городе: "А шо мы будем с этого иметь?"
А вот что:

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

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

Насколько надежна виртуализация, можно судить, например, по тому, как широко ее используют в своей деятельности хостеры, которые предоставляют своим клиентам VPS (Virtual Private Server) - приватные сервера, располагающиеся на одном физическом сервере, предоставляющие множеству клиентам полный доступ к возможностям сервера и операционной системы.

Из всего многообразия технологий виртуализации - Virtuozzo, KVM, OpenVZ и других мое наибольшее внимание привлек Xen - паравиртуализирующий монитор виртуальной машины, технология, которая с каждым днем поддерживает все больше и больше платформ, поддерживаемая Redhat и интегрированная в ее сервера RHEL и даже присутствующая некоторым образом в нашем ASPLinux 11.2 (пакет xen-3.0.2-3.FC5.i386.rpm):

Архитектуру Xen можно кратким образом проиллюстрировать этим рисунке:

а с многочисленными описаниями в Инете ознакомиться по этим ссылкам

Для облегчения управления виртуальными машинами Xen разработаны менеджеры, например,

Web-менеджер Enomalism

и графический XenMan

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

Аватар пользователя Andre

Есть предложение сообща заняться освоением виртуализации

Никто не клюнул Грустный Наверное, я плохо разрекламировал эту суперфишку?

Аватар пользователя BigAndy

Есть предложение сообща заняться освоением виртуализации

"Стесняюсь спросить".... А вчем преимущество паравиртуальизации от банального chroot.?
Собсно этот вопрос задавал здесь http://community.asplinux.ru:81/forum/1/76995/
В чем преимущество?
Недостатком пока вижу, гораздо более высокую утилизацию системы. Да и о безопасности беспокоюсь. Чтур все же испытан.

Аватар пользователя Andre

Re: Есть предложение сообща заняться освоением виртуализации

Цитата:
А вчем преимущество паравиртуальизации от банального chroot.?

Чесно? Я и сам не знаю :oops: Но в то же время наблюдаю, что эта пара- и другая подобная виртализация прёт изо всех щелей, какие только компании ею сейчас не занимаюся, растрачивая свои усилия, всяк выдумывает что-то свое, в том числе и MS, у которой получилась весьма хорошая виртуальная машинка на Ксене. Федора - и вовсе понятно, сервер давно выпускается в обнимку с Ксеном.

Значит, за этим что-то кроется? Иначе зачем?

Аватар пользователя debug

Re: Есть предложение сообща заняться освоением виртуализации

А при чём здесь chroot??? Это же разные вещи. Ведь это делает систему гораздо более гибкой - когда на машине к примеру крутится вендовз-сервер (для того же 1С к примеру) и допустим хост-прокси с почтой и т.д. под никсами. Каждая система работает в своём адресном пространстве и выполняет свои задачи.
В данный момент такие вещи уже успешно продаются - как корпоративное решение. Так что тема вполне актуальная. Большое спасибо за дополнительные ссылки на статьи - в данный момент специально под это дело покупаю железо домой и в кантору. Вот только будующее неизвестно у этого Xen-а, хотя цитрикс клялись и божились - что не закроют проект - всё таки есть вероятность - что этот проект будет выведен из под GPL

Аватар пользователя BigAndy

Есть предложение сообща заняться освоением виртуализации

debug писал(а):
А при чём здесь chroot

при том же. если вы заметили, речь шла о паравиртуализаци, то есть о запуске экземпляров ТОЙ ЖЕ ос.

Аватар пользователя debug

Re: Есть предложение сообща заняться освоением виртуализации

Я не пользовался chroot - поэтому попоршу, разъясните мне пожалуйста, что может ещё chroot кроме изменения корня для текущего процесса? Вы хотите сказать - что он позволит одновременно запустить два процесса init или две ос ? Я тут не совсем понимаю принцип этого - процесс я запускал не раз в другом корне, т.е. видимо можно запускать и два ядра ( со своими дочерними процессами) паралельно с помощью chroot? Я предполагал ранее, что паравиртуализация - это возможность запускать другие ос в основной (domain 0) за счёт модификации кода ядра. Но системы то различные можно запускать под ней.

Аватар пользователя BigAndy

Есть предложение сообща заняться освоением виртуализации

debug писал(а):
разъясните мне пожалуйста, что может ещё chroot

Основная задача -организация вычислений в изолированной среде вплоть до изолированного объема памяти. Отделтный рут - это только часть того приза, который получаешь от пользования "Песочницей".
Естественно никаких других ОС запускать в чруте нельзя.
Но мой вопрос отосится к части паравиртуализации. Где функции чрут стаовятся близки к паравиртуализации. И только. Запускать вынь или соляру в ВМ я пока не собираюсь.
задачи стоящие перед нами обозначены в приведенной мной ссылке.

Аватар пользователя gvy

Re: Пара соображений

1) виртуализацией на линуксе IMHO практичней баловаться, чуточку поработав с этим самым линуксом. Желательно -- на сервере в достаточно агрессивной или разношёрстной среде (хотя бы -- или даже желательно -- подмастерьем).
2) VMware, Xen, Qemu -- очень хорошо годятся для тестирования. В продакшен -- для более узкого круга ситуаций, потому как сразу приходится много думать над распределением ресурсов. При этом всё равно широчайшим образом используются, просто народ регулярно ловит поводы для таких вот статей (PDF).
3) Virtuozzo, OpenVZ, VServer -- легче и позволяют больше упаковать в тот же тазик, но за счёт ограничений "linux only" и "одно ядро на всех".

Я лично предпочитаю OpenVZ для работы и Qemu для тестирования. Оба есть в ALT Linux 4.0 из коробки в лучшем виде (OpenVZ -- с утилитами администрирования, включая через веб; Qemu -- со штатно собираемым ядерным модулем kqemu для акселерации и qtemu GUI). Кажется, Лёня упоминал, что в ASP думали заняться подтягиванием этой части; было бы разумно, наверное.

PS: надеющимся на чрут -- не смешите, root в chroot официально ненадёжен и принципиально может из него выбраться.

Аватар пользователя debug

Re: Пара соображений

Согласен с коллегой ниже - чрут ненадёжен и предназначен совершенно для других задач - поэто сравнивать его к примеру с Xen нет никакого смысла.

Аватар пользователя BigAndy

Re: Есть предложение сообща заняться освоением виртуализации

Вот собственно и хочется узнать, чем ИМЕНОО чрут хуже паравиртуализации.
Вопрос не праздный в свете обозначенных проблемм.
Речь идет о выборе аппаратной сервеной платформы (кластера) для работы с удаленным x-server'ом, и (вторично), собственно, этого сервера или терминала.
Можно ли ссылочки на дырявость чрута? Или хотя бы не сплойты соответсвующие?

Аватар пользователя debug

Re: Есть предложение сообща заняться освоением виртуализации

http://av5.com/journals-magazines-online/1/15/673

http://slackware.tomsk.ru/docs/?p=chroot

Кажется по этим ссылкам я видел про уязвимости - это конечно не всё, более просто не помню.
А чем именно чрут может быть хуже - это вопрос относительный. Как я упоминал - это на мой взгляд вещи разные. Но думается мне - что чрут не поможет одновременно запустить на одном хосте фрюшу, хрюшу и linux Улыбка Чрут это ведь протсо средство изоляции и создания некой изолированной среды выполнения на том же самом ядре (разумеется) . Он эмулирует только среду. А Xen ничего не эмулирует. Он позволяет используя панель управления и основную ос (linux) запускать другие ОС либо с модифицированным ядром лябо на железе, поддерживающем паравиртуализацию. Так что я не вижу здесь вопроса, что лучше и что хуже.

Аватар пользователя Andre

Re: Есть предложение сообща заняться освоением виртуализации

Хочу рассказать об одном небольшом эксперименте с Xen.
Поскольку вручную управлять виртуальными машинами не слишком удобно, придуманы различные панели управления - обычно платные, которые превращают, например, OpenVZ в Vituozzo.

Но есть такая панелька HyperVM, которая занимает промежуточное положение по стоимости - бесплатная для пяти виртуалок и двух серверов.

Устанавливается HyperVM при помощи одного из этих двух скриптов (в чем их разница, не понял).
Запустил вариант скрипта hyperVM Master (Linux) c опцией xen:

./hypervm-install-master.sh --virtualization-type=xen

но он начал чего-то качать сотнями мегабайт часами, что я не дождался, и прервал процедуру, потому что не понял, чего это оно качает столько много. Лишь потом понял, что это готовые образы осей качаются. Хотя зачем они навязываются, непонятно, может, мне нужно свою ось использовать.

Когда продолжил установку, скрипт сначала закачал мне метров на 800 CentOS-4, потом на 70 метров CentOS-5, затем принялся качать Debian...

Тогда перезапустил с опцией NONE, но это нисколько не повлияло на закачиваемые образы.

В-общем, от привычной VMWare этот продукт сильно отличается.

Аватар пользователя Zadov

Re: Есть предложение сообща заняться освоением виртуализации

А насколько надежен этот chrooting в качестве защиты изолированных приложений, крутящихся на компьютере? И где бы посмотреть наглядные примеры его использования? Например, для защиты от взлома какой-нибудь сложной (в смысле многофайловой) программы, типа squid или postfix. А то с нормальной докой на chroot почему-то плохо.

RSS-материал