СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС
SVISTAть всех наверх!
Сегодня на рынке виртуальных машин, позволяющих запускать на одном компьютере сразу несколько операционных систем, признанным лидером является VMWare. Это действительно мощный продукт, обладающий понятным интерфейсом, простой в настройке, разобраться с использованием которого под силу и новичку. Но есть и некоторые неудобства. Так как VMWare является коммерческим продуктом, то придется либо купить лицензионную версию, либо смириться с тем, что лицензия ограничивает пользователя по времени. Довольно часто, особенно во время выхода новых версий программы, сайт бывает так перегружен, что не сразу удается получить новый ключ. Продукт Microsoft Virtual PC, по моему мнению, еще не пользуется большой популярностью хотя бы потому, что не достиг того уровня функциональности, который позволит тягаться с VMWare. Свободные же версии виртуальных машин вроде Bochs, Qemu и пр. несмотря на свои возможности (в некоторых случаях даже превосходящие VMWare), пользуются популярностью в большей степени или в основном среди сторонников UNIX-систем, скорее всего из-за отсутствия понятного интерфейса. К тому же Bochs, при всех его достоинствах, еще и очень медленно работает, поскольку не использует динамическую трансляцию. Хотя в последнее время Qemu уже обзавелся вполне понятными оболочками, но боюсь, что настоящая популярность придет к нему позже. Между тем существует по крайней мере еще один коммерческий проект, предлагающий виртуальную машину, и самое интересное, что в его разработке участвуют программисты из России.
SerenityVirtual Station 2004 – SVISTA, именно так называется решение, предлагаемое Serenity Systems International – SSI (http://www.serenityvirtual.com/index.php), первый пресс-релиз с упоминанием о ней датируется 1 ноября 2004 года. Разработкой SVISTA занимается компания «Параллели – Программная Студия» (http://www.parallels.ru), образованная в феврале 2001 года в Москве.
Итак, что умеет SVISTA? В качестве основной операционной системы могут использоваться Linux, FreeBSD, Windows, IBM OS/2 и eСomStation. В качестве гостевых операционных систем могут применяться:
- OS/2 2.1, OS/2 Warp 3.0, 4.0, 4.5, eComStation 1.0, 1.1, 1.2
- MS-DOS, Windows 3.0, 3.1, 3.11
- Windows 95
- Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003
- Linux (kernel 2.2, 2.4 и 2.6)
- FreeBSD
Конкретные версии и дистрибутивы в официальной информации не названы, и скорее всего здесь особых ограничений нет. Я запускал виртуальную машину в ALT Linux 2.4 Master, ASPLinux v10, FreeBSD 5.3 и Windows XP SP1 и 2 – проблем не заметил. Системные требования также обычные для такого рода продуктов, и принцип один – чем больше, тем лучше. В SVISTA часть кода выполняется на реальном процессоре, минуя виртуальный, что увеличивает быстродействие системы. Доскональных испытаний я не проводил, но на компьютере 1.1 Celeron с 256 ОЗУ, SVISTA работает примерно с такой же скоростью, что и VMWare, но медленнее Qemu. Если в SVISTA и VMWare загрузка в гостевой ОС такого монстра как KDE, происходит минут за 15, то в Qemu на это уходит около 10 минут. SVISTA 2004 имеет набор инструментов для гостевой OС, например совместный буфер обмена, который позволяет сделать работу более удобной. Версия для Windows специально оптимизирована для работы с Citrix Metaframe. В качестве применения своему продукту разработчики видят в первую очередь различные варианты клиент-серверных архитектур (One technology – many environments), когда терминалы «тонких клиентов» загружают с сервера необходимую рабочую среду. Подробности смотрите в документации на сайте.
Пользователь, запустивший SVISTA, получает в свое распоряжение следующую виртуальную машину:
- CPU Pentium II или AMD Duron (в зависимости от марки процессора на компьютере);
- материнская плата, совместимая с Intel i815;
- до 512 Мб оперативной памяти (но не больше половины имеющейся на PC);
- VGA и SVGA-совместимая видеокарта с поддержкой VESA 3.0, что позволяет использовать любые режимы вплоть до 1280x1024x256;
- дисковод формата 3.5"" на 1.44 Мб (может быть представлен как реальным устройством, так и образом);
- виртуальный жесткий диск IDE объемом до 32 Гб, представленный как образ;
- виртуальный CD-ROM (может быть как реальным устройством, так и iso-образом);
- до 4 последовательных портов (COM);
- до 3 параллельных портов (LPT);
- виртуальная Ethernet-сетевая карта, совместимая (на выбор) с RTL8029, NE2000 или NE2000plus, версия для Windows дополнительно поддерживает виртуальную Token-Ring сетевую карту;
- AC97-совместимая звуковая карта;
- клавиатура с поддержкой расширенных 104 клавиш;
- мышь PS/2 с колесом.
Как видите, SVISTA несколько проигрывает VMWare, нет поддержки SCSI-, USB-устройств (планируется в следующей версии), да и сетевая карта всего одна (в VMWare – три). Однако разработчиками заявлено о поддержке нестандартного оборудования вплоть до картридеров.
Установка SVISTA
SVISTA очень проста в установке и настройке. Но для начала необходимо кроме самого дистрибутива, предназначенного для конкретной основной системы, получить лицензионный ключ. Под UNIX-системы приложение, т.е. оболочка, распространяется по лицензии GPL и доступно в исходных текстах, библиотеки и файлы ресурсов являются закрытыми. Сам продукт является коммерческим, поэтому у нас есть два варианта: купить полную лицензию за 99 у.е., либо запросить демонстрационный ключ, который позволит использовать программу без каких-либо ограничений в течение 30 дней, если вы не хотите, чтобы работе мешало сообщение об использовании нелицензионной версии. Правда, по истечении этого срока никто не запрещает повторить всю процедуру с самого начала. Здесь все как в VMWare, только с тем отличием, что в SVISTA необходимо для каждой основной системы получать ключ отдельно, но зато можно пользоваться одним и тем же почтовым ящиком. В VMWare в получении ключа на e-mail, который уже имеется в базе данных, будет отказано. При использовании в качестве основной системы Linux получаем архив svista-2004-lnx.zip размером 1.93 Мб.
После распаковки вы найдете ReadMe-файл и два пакета: SVISTA-2004.1056-Lin.i386.rpm и SVISTA-2004.1056-Lin.tgz. Первый предназначен для дистрибутивов, поддерживающих rpm-пакеты, второй – для всех остальных.
# rpm -i SVISTA-2004.1056-Lin.i386.rpm
Или для tgz:
# tar xzvf SVISTA-2004.1056-Lin.tgz
#./install.sh
После чего запускаем скрипт SVISTA-config:
# /usr/bin/SVISTA-config
Configuring SVISTA 2004 build 1056
You must read and accept license agreement to run SVISTA 2004
To list by pages use Spacebar key.
Press "ENTER" to continue...
|
Далее будет выведен текст лицензии:
Do you accept terms of license agreement ? (Y/N) y
Trying to configure SVISTA 2004 drivers...
configure: error: C compiler cannot create executables
Can"t configure ! Read "/usr/lib/SVISTA/Doc/INSTALL"
and follow instructions that written there
|
Смотрим в указанный файл. Выясняется, что для компиляции (под UNIX-системы часть SVISTA поставляется в исходных текстах) необходимо наличие исходных текстов ядра, библиотек QT 3.xx и конечно же, gcc с glibc. Если какого-либо из этих компонентов нет – установите. Теперь компиляция происходит нормально.
Trying to configure SVISTA 2004 drivers...
Trying to rebuild drivers...
Drivers rebuilt successfully.
Installing drivers...
Starting drivers...
Starting SVISTA 2004 main driver
Starting SVISTA 2004 network driver
Adding adapter eth0 to bridge 0... succeed.
Configuration completed successfully
|
Удалять также просто, вводим «rpm -e SVISTA» или запускаем скрипт uninstall.sh. Установка в Windows происходит обычным образом, т.е. запуском исполняемого файла. Дальнейшая работа версий для UNIX и Windows также не отличается, за исключением того, что в Windows интерфейс локализован и пользователю будет легче разобраться с непонятными терминами и настройками. Исходя из этого, все дальнейшее описание будет относиться к версии для Linux, но если будут различия, о них будет рассказано отдельно.
Запуск виртуальной машины
После установки работать от имени суперпользователя уже не обязательно.
Запускаем утилиту:
# SVISTA&
После чего появляется экран новой виртуальной машины.
Рисунок 1
Для дальнейшей работы необходимо ввести регистрационный номер, зайдя в пункт Help/Registration. Теперь приступаем к созданию новой виртуальной машины, выбрав меню New. Во вкладке Main (рис. 2) устанавливаются основные параметры виртуальной машины, тип гостевой системы, параметр Boot sequence позволяет выбрать один из трех типов загрузки:
- Floppy, Hard drive, CD-ROM.
- Hard drive, Floppy, CD-ROM.
- CD-ROM, Hard drive, Floppy.
Рисунок 2
Если при запуске не будет найдено загрузочное устройство или оно не правильно сконфигурировано, то вы получите предупреждение «No boot device available, press enter to continue». Параметр Memory определяет количество реальной оперативной памяти, которое будет выделено виртуальной машине, установите его в пределах от 4 до 512 Мб, но не более половины размера ОЗУ. Если конфигуратор Windows сразу устанавливает предел в половину имеющейся памяти (кроме случаев, когда часть ОЗУ отдана встроенной карте, см. рис. 3), то в Linux его придется контролировать самому. Если переусердствуете, то получите ошибку «System error E4003: Can"t map VM memory».
Рисунок 3
В Options определяются действия, выполняемые при старте виртуальной машины. Так, «Start immediately after opening configuration» позволяет запустить виртуальную машину сразу после выбора конфигурационного файла, без дополнительных действий со стороны пользователя.
Опция «Start virtual machine in full screen mode» запускает виртуальную машину в полноэкранном режиме (в него можно также перейти, нажав кнопку на панели, либо через соответствующий пункт меню).
Включив «Show full screen mode startup warning message», вы будете получать предупреждения о переходе в полноэкранный режим.
Опция «Enable acceleration» включена по умолчанию, но для некоторых гостевых систем (Windows NT и 2000), при работе которых возможны сбои, появляется возможность отключить ускорение.
И наконец, «Enable write-back disk cache» также включена по умолчанию и разрешает производить запись не сразу в образ, а в кеш. Вкладки Floppy drives и IDE drives похожи. В них указываются соответствующие устройства (дисковод, жесткий диск и CD-ROM), которые будут доступны на виртуальной машине. При этом могут быть указаны как реальные устройства, так и предварительно созданные образы. Для создания файл-образа используется кнопка «Create file», при этом задается размер файла (дисковод 1.44 Мб по умолчанию имеет расширение .fdd, жесткий диск от 20 до 32768 Мб, расширение hdd). В Windows файл создается автоматически, а в Linux его необходимо предварительно создать вручную:
# touch /home/sergej/vm/knoppix.hdd
Я не экспериментировал со всеми возможными образами, но отмечу, что для работы можно использовать образы, подготовленные для Qemu. Напомню, что в составе Qemu имеется утилита qemu-img, которая с параметром convert позволяет конвертировать образы в различные форматы.
Флажок «Compress free space» позволяет сэкономить дисковое пространство. Так, только что созданный 4-гигабайтовый контейнер занимает всего 100 Кб, но затем расширяется по мере заполнения.
Опции «Start floppy disk connected» и «Start CD-ROM disk connected» автоматически включают устройство при подаче питания на виртуальный компьютер.
В Windows для создания образов удобно использовать программу ImageTool.exe, идущую в комплекте.
Рисунок 4
Следующие две вкладки «Serial ports» и «Parallel ports» открывают доступ к соответствующим портам.
Во вкладке «Sound settings» доступны опции «PC speaker support enable» и «Sound support enable», активация которых позволяет использовать спикер и виртуальную AC’97-звуковую карту. При использовании в качестве основной системы Windows в каталоге, в который установлен SVISTA, имеется файл tools.fdd, содержащий драйвера AC’97 и сетевых устройств в основном для OS/2 и Windows NT.
И наконец, вкладка «Network settings» позволяет активировать сетевое устройство.
Рисунок 5
В зависимости от используемой гостевой системы будут доступны различные сетевые адаптеры.
Таблица.1 Список поддерживаемых сетевых адаптеров в зависимости от типа гостевой системы
Тип гостевой системы
|
Тип сетевого адаптера внутри гостевой ОС
|
|
NE2000 compatible
|
NE2000plus compatible
|
RTL8029 compatible
|
Guest OS Ethernet
|
Guest OS TokenRing (основная только Windows)
|
OS/2
|
+
|
+
|
+
|
+
|
+
|
EcomStation
|
+
|
+
|
+
|
+
|
+
|
MS–DOS
|
+
|
–
|
+
|
–
|
–
|
Windows 95
|
+
|
–
|
+
|
–
|
–
|
Windows NT
|
+
|
–
|
+
|
–
|
–
|
Windows 2000
|
+
|
–
|
+
|
–
|
–
|
Windows XP
|
+
|
–
|
+
|
–
|
–
|
Linux
|
+
|
–
|
+
|
–
|
–
|
FreeBSD
|
+
|
–
|
+
|
–
|
–
|
Остальные
|
+
|
+
|
+
|
+
|
+
|
И последним шагом настройки является установка port, IRQ и MAC-адреса. Параметр port устанавливается большей частью автоматически, для RTL8029 compatible система сама выбирает IRQ.
Для остальных типов адаптеров придется IRQ выставлять самому. После установки всех параметров будущей гостевой системы выходим из настроек и сохраняем конфигурацию (по умолчанию файл с расширением *.svs). Если в процессе использования гостевой системы возникла необходимость в редактировании параметров, воспользуйтесь пунктом Edit.
Теперь на виртуальную машину можно подавать питание. В дальнейшем работа происходит обычным образом.
Наличие всего одного сетевого адаптера не позволяет создавать такие разветвленные конфигурации, как в VMWare, но имеющихся возможностей SVISTA вполне достаточно для тестирования программного обеспечения и сетевых сервисов, работы или презентации возможностей тех или иных приложений, написанных под разные операционные системы.