Виртуализацията в домашна среда
Преглед на VMware Workstation и още няколко достъпни програми за виртуализация. Светлин Светлинов
VMWare Workstation 6
Няма идеални неща на този свят, но определено VMware Workstation e най-доброто комерсиално решение за виртуализация, предназначено за настолни компютри и крайни клиенти. Подготвен съм да поема всички упреци, с които сте готови да ме засипете, но ако имате опит с друг виртуализиращ софтуер и пипнете VMware ще усетите разликата мигновено. Просто традициите и опитът си казват думата – години наред (а и сега) VMware, e удовлетворявала претенциите на корпоративния сектор и когато вече продуктите й са достъпни и за обикновения потребител, класата й си личи. Въпреки че VMware 3 и 4 бяха изпитание за търпението (поне за хората, които познавам, и ги ползваха основно програмисти), шестицата е стабилна, бърза и качествена.
Стабилността е феноменална. Много е важно, наблягам върху нея. Тествах VMware Workstation под Windows XP, като стартирах виртуални машини с различни операционни системи – Windows XP, Windows Vista, Open BSD плюс две Linux дистрибуции – Fedora и малко популярния „клонинг“ на Ubuntu, наречен Kiwi. Никакви проблеми – всички ОС се инсталираха и „почувстваха удобно“, въпреки че на практика са лъгани, че се качват на истински компютър. След това реших да ги подкарам едновремено в двойки, но това не сe отрази на стабилността. Последният тест представляваше последователен старт и едновременна работа и на петте виртуални машини, но VMware отново запази хладнокръвие и успя да разпредели доста удачно ресурсите на двете ядра и операционната памет, която им бях предоставил, така че нито да забият, нито да дадат съобщение за грешка. Естествено имаше забавяне, но да не забравяме че това са пет ОС на обикновен компютър!
VMware е учудващо дружелюбна дори и към абсолютния новак. Честна дума, не е нужно да четете дълги страници теория и практика на виртуализазцията, за да можете да работите с VMWare. Тя просто има „вълшебници“, които ви хващат за ръчичка и най-учтиво ви показват и подсказват как се дефинира, настройва и стартира виртуална машина.
VMWare може да създава виртуални машини, „подготвени“ за популярни операционни системи, като на практика са включени всички версии на Windows, OS/2, най-известните Linux и Open BSD дистрибуции. В случай че инсталирате Linux дистро, което не присъства в списъка на VMWare, трябва само да укажете на програмата версията на ядрото му (при- мерно 2.6.х). Но и това не е задължително сто процента.
Желателно е, поне по мое мнение, да заделите обособена част от реалния харддиск за диска за виртуалната машина (примерно да бъде твърдо 12GB вместо някаква динамично променяна стойност). Аз обикновено изключвам достъпа до USB контролера, тъй като понякога създава проблеми по съвместимостта с драйверите и за него се „карат“ с реалната операционна система). Хубавото е, че VMware може да използва както реален CD-ROM/DVD-ROM, така и обикновено .ISO за зареждане и инсталиране на операционната система.
Колко RAM ще заделите, вече вие си решавате според типа и предназначението на виртуалната машина, но едно добро число е 1024MB. Все пак плъзгачът, където се задава тя, е практично разграфен с подсказки за оптимална, минимална и максимална стойност на оперативната памет.
Иначе самата виртуална машина се стартира като в отделен прозорец и се държи като истинска – има си начален екран (или splash screen, на който вместо модела на дънната платка излиза логото на VMware), има си собствен BIOS, клавиши за настройка и т.н.
Инсталацията на гостуваща операционна система на виртуалната машина става много лесно, тъй като VMware имитира стандартни контролери за повечето хардуерни компоненти. При това са използвани минимални настройки – примерно VGA резолюция за видеоадаптера.
За да използвате виртуалната машина и инсталираната на нея ОС в максимална степен, трябва да добавите и така наречените VMware Tools. Това става директно от менюто на програмата, като в зависимост от гостуващата ОС се налага да стартирате обикновен дистрибутивен изпълним файл под Windows XP или стандартен .tar.gz архив (или RPM пакет) при Linux.
Не пропускайте VMware Tools. Операционната система може да функционира и без тях, но няма да имате възможността да работите във високи резолюции, да преминавате свободно с курсора от виртуалната машина към реалната операционна система (всеки път ще се налага да натискате Ctrl+Alt), също така няма да е активен директният Copy/Paste и drag’n’drop между реална и виртуална машина.
Под Windows XP споменатите VMware Tools работят безупречно (ще ги познаете по малката синя иконка в трея), под Кiwi също, но под Fedora нямаха никакъв ефект, което мен ме учуди. Въпреки усилията ми не успях да ги „подкарам“.
Инсталирането на външни програми под вируталната машина не е проблем, те си я разпознават и използват като реална операционна система. НО! Когато качвате приложения, които имат нужда от разширените възможности на графичния контролер (като например допълнителни геометрични изчисления и OpenGL/DirectX ускорение), може да се натъкнете на проблем. Просто виртуализацията, която осигурява VMware, няма как (поне на този етап) да включи и 3D. Затова забравете за по-специални игри и т.н. под виртуалната машина. Дори разни ефекти по интерфейса на операционната система също леко насичат, тъй като нямат достъп до реалното графично ядро на видеоконтролера.
Що се касае до резолюциите, може да работите с каквито позволява мониторът ви, като универсалното решение е функцията AutoStrech – екранът на виртуалната машина се „разпъва“ до максимимално възможната.
В този случай виртуалната машина напълно закрива реалната, като единствено една лента с инструменти в горния край на екрана ви подсказва, че не работите с истинската ОС. Всъщност може да преминете накарате реалната машина да изчезне тотално. За да излезете, е необходимо просто да натиснете Ctrl+Alt отново. Не правете като някои мои приятели, които в паника бързат да натискат Reset на компютъра :)
За сметка на това работата в мрежа е безупречна и не вярвам да имате проблеми. В класическия случай се активира директно (bridged) свързване между реалния и виртуалния мрежови контролер и ако ползвате DHCP (примерно домашен рутер), може да се гмурнете в интернет моментално, без никакви настройки. Поне при мен беше така. Естествено, ако конфигурирате мрежата ръчно, трябва да зададате различен IP адрес от този на реалния компютър. Съществува опция и за NAT конфигуриране със споделен IP адрес.
Връзката с околния свят може да се осъществява на паравиртуално ниво, като се използват споменатият мрежови контролер (при правилна настройка виртуалната машина може да има достъп до споделени папки, принтери и други ресурси на локалната мрежа), както и директен достъп до определени директории върху реалния твърд диск. Все пак бъдете предпазливи. Оставените пролуки могат да се използват за проникване на вируси и други зарази. Все пак едно от основните предимства на виртуалните машини е че могат да бъдат напълно капсуловани.
Допълнителните функции на VMware са много силни. Те не само придават на програмата цялостен вид, но и разширяват значително неговата сфера на приложение.
На първо място за мене са така наречените Snapshots. Наречете го „снимки“, „снапшотове“ и т.н.. Всъщност това са „моментни“ състояния на операционната система, които могат да се съхранят и към които може да се върнете назад, когато е необходимо. Снапшотовете могат да са колкото си искате (стига да имате място на харда), като могат да бъдат структурирани последователно или дървовидно. Съответно може да им дадете имена за по-бързо разпознаване. Примерно „Чист Windows“ или „SuSE с настроен mail сървър“. Удобството е огромно. Винаги, когато нещо се прецака, обърка (неуспешно инсталиран драйвер, проблемна програма и т.н.) или просто не ви хареса като резултат, може да върнете лентата назад, като заредите някоя от запазените „снимки“.
Да, като цяло снапшотовете са аналогични (като идея и изпълнение) на възстанояването на image от твърди дискове и дялове, само че тук всичко е много по лесно и бързо (в рамките на минути) и най-вече – реалната операционна система е непокътната и здрава.
Развитие на идеята със снапшотовете е функцията за клониране. Една и съща виртуална машина може да бъде размножена в толкова бройки, колкото вие желаете. За какво са ви толкова „близнаци“? Основно за тестове – примерно искате няколко версии на една и съща програма, как се държат в еднаква среда.
VMware ви позволява също така да „спрете времето“ (да, съвсем точно, има бутон „пауза“, който функционира като хибернация и дава възможност да преустановите работа, когато поискате и след това да продължите точно оттам, където сте спрели). Нещо повече – виртуалната машина може да бъде копирана, месетена, взета и носена (на Flash, твърд диск и т.н) където си пожелаете и стартирана от произволен компютър.
За целта e предвиден VMware Player. Това е отделна програма, при това напълно безплатна (подчертавам това), може да се инсталира съвсем свободно, като е в състояние да отваря и стартира всякакви виртуални машини, създадени с комерсиалния VMWare Workstation 6. Звучи фантастично наистина, но може да си носите Windows XP (или която и да е друга операционна система) в... джоба. Не е задължително да купувате преносим твърд диск или нещо от сорта – за сведение съвременните обик- новени flash памети се предлагат масово с капацитет от 8 GB (и повече) срещу доста приемливи цени, а 8GB са напълно достатъчни за Windows XP или Linux, или друга за нормална работа. (Vista също заема долу-горе толкова, но за инсталация изисква около 16GB минимум.)
Наистина звучи фантастично, но е съвсем реално и изтествано и изпробвано (поне от моята скромна милост). Доколко е практично, зависи от вашата гледна точка и от лицензните права на операционната система.
Всъщност сега е моментът да спомена точно за лицензите и активацията на Windows XP под VMware. Ако държите да сте изрядни пред закона, на практика имате 30-дневен срок, в който може да работите с оригиналното си копие на Windows XP/Vista, освен ако не си купите още един лицензиран диск, разбира се.
Ако се разровите, ще откриете, че настолната версия на VMware може и да послужи и за други цели. Изцяло... кинематографски. Шегувам се, разбира се, но програмата позволява да „заснемете“ всичко, което се случва по време на работа с виртуалната машина, и да го запишете като обикновен видеофайл в стандартни формати като .mpg или .avi. Това може да послужи за всякакви цели, но основно за съставяне на обучаващи уроци, както и за подготовка на софтуерни статии (хе- хе), особено при тестове на операционни системи. Ако се питате как в списанията се подготвят скрийншоти за инсталацията на Windows или Linux примерно – ето ви тайната. Става чрез виртуални машини.
VirtualBox
Ако търсите скрит жокер в настоящата статия, това е точно VirtualBox. Цял срам е, че толкова хубава програмка остава скрита от масовата аудитория, още повече че е много „лека“, надеждна, върши работа и най-важното – напълно безплатна е. За лични и некомерсиални нужди разбира се, но така или иначе няма да ви занимава с активация, регистрационни кодове и т.н.
Лично на мен VirtualBox ми стана особено симпатична, тъй като осигурява на обикновения потребител изключително лесен и безплатен (повтарям това) начин да се докосне до виртуализацията, като разглежда и тества различни операционни системи, без да е необходимо да преинсталира, да се занимава с boot мениджъри и т.н.
Поддържат се почти всички популярни операционни системи, най-новите версии на Windows (без Windows Server 2008), различни ключови дистрибуции (SuSE, Fedora, Ubuntu, Debian), като дори е предвиден съпорт за независими продукти от ранга Xandros Desktop примерно. Явно създателите на VirtualBox са мислили в перспектива и с професионален поглед върху нещата.
Създаването и настройката на виртуална машина става, подобно на VMware, с помощта на вълшебник, който ви задава същите въпроси – размер на виртуалния твърд диск, типът на операционната система и т.н. Всичко това отнема наистина не повече от няколко минути.
След това, стига да ви се занимава, може да се поровите в настройките и да определите до кои реални ресурси може да има достъп виртуалната машина. Може да забраните досега й с USB или флопито примерно, да заделите точно определено количество RAM и дори да настроите обема на видеопаметта, която да се вземе назаем от графичния контролер. Всичко това зависи от възможностите на компютъра, с който разполагате, и разбира се – от предназначението на виртуалната машина. Колкото по тежки задачи й възлагате, толкова повече ресурси трябва да й заделите.
Подобно на VMware и VirtualBox може да добави свои разширения към виртуалната машина (тоест по-скоро към операционната система, инсталирана на нея), които имат за цел да подобрят производителността и взамодействието й с обкръжаващия свят. Аз не срещнах никакви проблеми при настройка на мрежа, посочване на общи папки, а много добро впечатление ми направи възможността за запазване на снапшоти (или „снимки“) на виртуалната машина в дадено състояние, към което може да се върнете за минути в случай на срив или друг проблем.
Приликите с VMware са явни на доста места, но в края на краищата нямаме право да упрекваме създателите на VirtualBox – те в никакъв случай НЕ са копирали 1:1, просто са проявили сериозна амбиция в достигане качеството на VMware Workstation. За да ви докажа, че във VirtualBox има и оригинални идеи, ще ви спомена за т.нар. host key, или това е клавишът, с който „отлепвате“ ръце от виртуалната машина и може отново да боравите с реалната ОС. При VMware Workstation това е Ctrl+Alt, докато тук, при VirtualBox, е използван десният Ctrl. Идеята – ами този клавиш се използва сравнително рядко и съответно няма как да го натиснете случайно.
Впечатленията ми от VirutalBox са като цяло положителни, още повече че тази програмка е най-малка от всички в този обзор (инсталационният й архив е едва 17MB, което е смешно на фона на останалите приложения). Справя се добре с поддръжката на Windows XP и демонстрира добра стабилност при виртуализация на машина с инсталирана Linux дистрибуция, като уж използва и механизмите за хардуерно ускорение на виртуализация, заложени в най-новите процесори на Intel и AMD. Естествено има какво още да се желае по отношение на надеждността, на моменти (и то не рядко) VirtualBox си увисва най-неочаквано, но като цяло програмата е добра и (потретвам) напълно безплатна.
Microsoft Virtual PC 2007
Ето че стана въпрос и за Microsoft, та се сетих, наскоро мина 27 юни. Денят, в който... Бил Гейтс се пенсионира и след тази дата вече няма да ходи на работа. Официално Уилиям Хенри Гейтс III се оттегли от всякакви ръководни и изпълнителни постове в Microsoft, за да се радва на заслужена почивка и да се посвети на благотворителност. Ще си раздава милиардите човекът. Толкова години работа... Да му пожелаем късмет и наслука. Но така или иначе компанията продължава да съществува, както продължават да същестуват и ключовите й разработки за виртуализация. Едната я знаете – Hyper-X, почти завършена, но е предназначена за корпоративния сектор и съответно е вградена в Windows Server 2008. А другата, далеч по-земна е достъпна, се нарича Microsoft Virtual PC 2007. Евтина (50 USD), мъничка (инсталационен архив от 40MB), понятна, лесна. Забавна и интригуваща, тази програмка е достатъчно дружелюбна за всеки любознателен потребител.
Що се касае до виртуализацията, MS Virtual PC 2007 е концентрирана основно върху собствените операционни системи на Microsoft. Логично. Позволява ви да стартирате всякакви комбинации – Windows XP под Vista, Windows 3.1 под Windows 2000 или както там се налага във вашия конкретен случай. Интересното е, че в списъка с поддържани операционни системи фигурира и отдавна забравената OS/2 3.0 Warp на IBM, но пък липсва съвместимост с Linux. Което би могло да се посочи като недостатък.
Приложението генерира виртуална машина със стандартни хардуерни компоненти, които се разпознават безпогрешно, но са малко демоде (кой от вас помни графичните контролери на Trident примерно?). Важното е да се запази обратната съвместимост, което е постигнато. Може спокойно да се работи с конвенционални офис и счетоводни приложения, графични редактори, сърфиране из интернет, слушане на музика и т.н, но избягвайте да извършвате видеообработка, тримерно моделиране, CAD/CAE или други тежки дейности под виртуалните машини, генерирани с MS Virtual PC 2007.
По мое мнение идеята на тази програма е да ви даде възможност да стартирате стари, но важни приложения, които под Windows XP/Vista не могат да работят или създават досадни проблеми. Естествено, както всяка друга програма за виртуализация, така и MS Virtual PC е добро решение, в случай че търсите начин да се защитите срещу вируси и червеи, искате да си спестите досадната преинсталация или имате някакви проблеми с драйвери и т.н.
Всъщност основната задача на MS Virtual PC беше... да осигурява поддръжка на Windows XP под Mac OS. Не се шегувам, настоящото приложение имаше вариант, предназначен за компютри Macintosh и съответно позволяваше да стартирате популярни приложения за Windows под Mac OS. Защо говоря в минало време? Ами защото Apple и Microsoft дружески си стиснаха ръцете и направиха взаимен компромис – както знаете, новият Mac OS 10.5 Leopard предлага възможност за dual boot към Windows XP SP2 (става въпрос за т.нар. BootCamp), така че виртуализационните възможности на MS Virtual PC вече са излишни и поддръжката му за Mac OS е спряна официално.
XEN
Не може да пропуснем Xen – това е една от най добрите (от мнозина сочена и за най-добрата) технология за паравиртуализация, която работи успешно на различни хардуерни платформи (основно x86, x86_64, PowerPC, IA64) и е в състояние да виртуализира почти всички операционни системи – Windows, Linux, BSD и Solaris.
С кое е особено важна XEN?
На първо място с факта, че е разработка с изцяло отворен код. Въпреки че има редица комерсиални варианти на Xen (предназначени за корпоративни клиенти), тя ще остане завинаги плод на свободния дух на програмистите.
Второ, Xen се радва на учудващо сериозна подкрепа от страна на големите хардуерни производители начело с AMD, Intel. Новите модели процесори и на двете компании притежават разширен набор от специални инструкции, предназначени специално да ускорят и подобрят паравиртуализацията, и Xen се възползва максимално от тях.
Трето, Xen беше първата виртуализираща среда, която осигурява пълноценна поддръжка на (тогава още неизлязлата) Windows Server 2008. Нещо повече, Xen и Microsoft работят в тясно сътрудничество за осигуряване на пълна съвместимост и безпроблемна работа на Windows Server 2008 под Xen. Това не е шега, а факт.
И най-накрая (но не на последно място), Xen е изключително „лека“, като ядрото й се състои едва от 50 000 реда сорс код. Това дава възможност (в комбинация с новите процесорни инструкции) Xen да черпи минимум ресурси, като в същото време успява да гарантира висока производителност на виртуалните машини под различни хардуерни конфигурации.
За жалост (или за радост?) Xen поне на този етап е доста далече от масовия потребител и макар че от години присъства като опционален пакет в популярни дистрибуции (като Debian, SuSE, Mandriva), Xen си остава запазена територия на истинските компютърни фенове, запалени по Linux и отворения код. И въоръжени с тонове търпение и свободно време, разбира се.
За да не ви хвърлям в сложни технически подробности, ще спомена, че Xen използва механизъм за паравиртуализация, който е доста по-бърз от виртуализацията, която осигуряват класически приложения като VMWare примерно. При паравиртуализацията обаче, се осигурява директен, почти пълен достъп до реалните хардуерни ресурси, но пък за целта е необходима модификация на ядрото на операционната система. А това, както знаете, може да се извърши само върху такава с отворен код. Така че пълноценна паравиртуализация на Windows под Linux чрез XEN не е възможна, като изключим, разбира се, споменатия Windows Server 2008, където участва и Microsoft.
Хубавато в крайна сметка е, чe може да изтеглите, тествате и да се позанимавате с Xen напълно свободно и спокойно. Както споменах, някои дистрибуции включват Xen, а ако искате, може да си свалите дистрибутивното CD за безплатно ползване от www.xen.org. Освен безплатната има и още две версии на Xen – сървърна (Xen Server) и корпоративна (Xen Enterprise), които обаче са комерсиални и се „отключват“ със специален сериен номер.
Какъв хардуер е нужен за качествена виртуализация?
Преди години виртуализацията бе достъпна основно за програмистите, които можеха да си позволят удоволствието от тройно, четворно повече RAM и дъно с два процесора. Сега обаче, когато двуядрените CPU са нещо обичайно, а четириядрените навлизат с пълна сила, проблемът с хардуерните ресурси не съществува. Оперативната памет е достатъчно евтина (дори масовите лаптопи се продават с минимум 2GB оперативна памет), за твърдите дискове да не говорим.
Приложения като VMware Workstation или MS Virtual PC могат успешно да работят на всеки съвременен компютър на цена около 500-600 USD (с двуядрен процесор и 2GB RAM), без абсолютно никакво забавяне или проблеми с производителността.
Предимства от виртуализацията?
За обикновения потребител виртуализацията e ценна поради няколко причини:
1. Работите в обезопасена среда, която може да се изолира напълно от външния свят и е идеално решение срещу проникване на вируси, троянски коне, рууткитове. Ако попадне зараза, просто изтривате виртуалната машина. Реалната остава чиста.
2. Позволява ви да разглеждате „безопасно” различни операционни системи, без да се налага реално разделяне на дискове, главоболия при зареждане с bootmanager-и и куп други премеждия.
3. Оставя ви възможност да работите с ценни за вас програми, които обаче вече са остарели и/или не се поддържат от текущата операционна система – примерно приложения за MS-DOS, Windows 3.1 или пък приложения за WinXP под MacOS.