О возможностях нынешних программ-ных и аппаратных средств виртуализации мы уже неоднократно писали. Наиболее полный обзор подобных решений приведен в «Мире ПК», № 6/06.на сей раз обсудим не абстрактные возможности этой перспективной технологии, а вполне конкретные задачи и методы их решения средствами виртуализации.

Сначала определим область применения. Поскольку потребность в запуске нескольких ОС на одном ПК одновременно нелегко отнести к повседневным задачам рядового пользователя, то смодулируем несколько ситуаций.

Сервер

К наиболее вероятным и типичным ситуациям стоит отнести вариант с необходимостью запускать окружение второй ОС на одном физическом сервере. В нашем случае проблема будет выглядеть следующим образом: в качестве основной системы на сервере предприятия используется ОС Linux. Роли системы: маршрутизатор, брандмауэр, почтовый сервер, файл-сервер для хранения файлов баз данных, обрабатываемых клиентскими машинами. Конфигурация сервера: AMD 64 3800+, 2-Гбайт ОЗУ, дисковый массив (Raid) емкостью 1 Тбайт. Задача заключается в разворачивании новой СУБД, серверная часть которой построена на основе Microsoft SQL Server и, следовательно, может выполняться исключительно в среде Windows 2000 и старше. Естественно, что приобретать лишний сервер для решения новой задачи нецелесообразно, еще менее рационально вносить изменения в работающую и отлаженную систему на базе ОС Linux. Таким образом, если учитывать наличие достаточных аппаратных ресурсов сервера, наиболее практичной оказывается организация виртуальной машины с исполняемой в ней ОС Windows и комплектом необходимого ПО.

В качестве среды виртуализации была избрана Open Source — версия системы VirtualBox компании Innotek, высоко-производительной коммерческой среды виртуализации, исходные тексты которой были обнародованы весной этого года. При выборе между данным решением и столь же бесплатным VMWare Server предпочтение было отдано VirtualBox именно по причине открытых исходных текстов, дающих возможность скомпилировать систему под конкретную целевую аппаратуру и ПО. В результате были получены дополнительные стабильность и производительность. В качестве гостевой версии Windows использовалась 2000 Server как наименее требовательная к ресурсам. Для установки системы был создан виртуальный дисковый раздел объемом в 20 Гбайт. Виртуальный сервер получил для работы 512-Мбайт ОЗУ. Чтобы обеспечить доступ клиентских ПК к новому Windows-серверу, виртуальная машина была подключена к локальной сети через NAT, получив тем самым IP-адрес и имя NetBios. Поскольку все управление Linux-сервером осуществлялось удаленно, через интерфейс командной строки по протоколу ssh, то монитор, клавиатура и мышь к серверу подключены не были, управление виртуальным сервером Windows также пришлось настраивать удаленно. Для этого была использована программа Radmin (Remote Administrator), наиболее быстрый и гибкий инструмент для удаленного управления компьютерами, работающими в среде Windows (рис. 1).

Рис. 1.  Доступ к виртуальному серверу по протоколу удаленного Рабочего стола RDP 

Благодаря тому что на виртуальном Windows-сервере предполагалось выполнять лишь один ресурсоемкий процесс, выделение гостевой среде всего 512-Мбайт ОЗУ стало весьма удачным решением. Производительность «хостового» сервера ничуть не пострадала от «урезания» памяти, а для работы требуемой СУБД такой объем ОЗУ оказался более чем достаточным. В целом производительность оставила самые приятные впечатления: скорость работы гостевой ОС Windows вместе с Microsoft SQL Server в режиме виртуализации на мощном процессоре стала значительно выше, чем на рассматриваемом в качестве альтернативного варианта устаревшем ПК с процессором Celeron-1700. Из прочих плюсов стоит упомянуть удобство обслуживания одного сервера вместо двух, легкость восстановления программной «начинки» виртуальной машины в случае сбоев и дальнейшую независимость конкретной инсталляции Windows от «железа» на сервере. Случись что-нибудь плохое с «хостовым» сервером, запуск виртуальной машины на резервном займет считанные минуты, причем без внесения каких-либо изменений в конфигурацию и настройки гостевой ОС. На рис. 2 представлена панель настроек Virtual Box и свойств виртуальной машины.

Рис. 2. Панель настроек Virtual Box 

Нужная программа…

Другим не менее распространенным случаем, в котором виртуализация может протянуть руку помощи, является ситуация с одним-единственным, но зато крайне необходимым приложением из ассортиментного переч-ня «чужеродной» среды. Естественно, что такие ситуации возникают, как правило, у пользователей ОС Linux и Mac OS X тогда, когда нужная программа существует только в версии для Windows. Кстати, помимо виртуализации, здесь способны помочь еще и эмуляторы API Win32, такие как свободная программа Wine или коммерческий пакет Cross Over Office компании Codeweavers. Однако далеко не факт, что нужная программа отыщется в «списке совместимости» таких решений и будет ко всему прочему работать быстро и стабильно. Запуск подобного приложения в «родной» виртуализированной среде способен куда надежнее гарантировать и стабильность, и производительность.

Итак, в качестве «той самой» программы рассмотрим связку из переводчика PROMT и системы ассоциативного перевода TRADOS, аналоги которых трудно отыскать для всех альтернативных ОС. На сей раз воспользуемся в качестве гостевой среды Windows XP Professional, а в роли гостеприимного хозяина выступит популярнейший дистрибутив Ubuntu Linux. Для нужд виртуализации прибегнем к услугам пакета Parallels Workstation 2.2 для Linux. Такой выбор обусловлен характеристиками данного продукта; основная из них заключается в том, что программа ориентирована на неопытных пользователей, которых весьма логично ожидать в случае с «настольным» ПК. Если в варианте с «сервером» простота применения инструментов виртуализации волновала в последнюю очередь, то здесь все совершенно наоборот — требуются максимальная интеграция гостевых программ в окружении рабочей среды и минимум упоминаний о том, что те выполняются посредством каких-либо ухищрений. И как сказали бы в Одессе, этого в избытке есть у продукта Parallels. Все инструменты настройки и конфигурирования виртуальных машин интуитивно понятны и логичны. Справиться с установкой ОС в виртуальную машину значительно проще, чем проделать ту же операцию с «голым» ПК. На рис. 3 показана консоль управления Parallels Workstation.

Рис. 3. Консоль управления Parallels Workstation 

Что же до интеграции, то с ней все и вовсе по высшему разряду — гостевые приложения делят буфер обмена с «родными» программами «хостовой» ОС. Для обмена данными предусмотрены «прозрачные» для пользователя папки обмена. Гостевая ОС может получить доступ к контроллеру USB, что немаловажно в случае, когда необходимо непо-средственно обращаться к внешним устройствам. Что же касается извечного вопроса о производительности, то и с этим у Parallels Workstation все в полном порядке. Поддерживаются аппаратные технологии виртуализации Intel VT-x и AMD SVM, что позволяет получить максимальный выигрыш от современных процессоров. Но и на более простом оборудовании производительность виртуальной машины не может не порадовать.

Все описанные манипуляции проводились на крайне незамысловатом по современным меркам компьютере с процессором Pentium 4-3200 и 1-Гбайт ОЗУ. Скорость «загрузки» Windows в «холодном» режиме оказалась едва ли не меньшей, чем в случае с физическим ПК, благодаря отсутствию потерь времени на самодиагностику. А подобная операция вряд ли потребуется часто, поскольку Parallels Workstation позволяет создавать так называемые «снимки» состояния ОС и запущенных программ, фактически являющиеся аналогом «спящего» режима ПК, когда содержимое ОЗУ записывается на диск, а при «пробуждении» компьютера загружается снова. Предложенный подход позволяет запустить сохраненный сеанс работы за считанные секунды.

Таким образом, установив требуемые программы в гостевой системе, мы получили следующий результат: доступ к файлам и содержимому буфера обмена осуществляется именно так, как если бы программы запускались непосредственно в среде основной ОС. В общем, даже если и есть потенциальные потери производительности, то на не очень старом оборудовании на глаз их не заметить. Запуск гостевой среды происходит практически мгновенно за счет использования «снимков» рабочих сеансов. И разумеется, традиционно в наличии все плюсы гостевой системы: все рабочее окружение легко перенести на другой ПК простым копированием каталога с виртуальной машиной на сменный носитель; не имеющая доступа к Интернету ОС Windows не подвержена атакам и неуязвима — не требуется устанавливать жадные до ресурсов антивирусные средства; создать дополнительную инсталляцию ОС для, скажем, тестовых нужд можно простым копированием нескольких файлов на жестком диске.

Куда дальше?

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