V předchozím povídání o virtualizaci jsem vám představil program Virtual PC. To je dobré na interaktivní práci, ale nemůžete v něm provozovat "ostré" servery - a přitom právě jejich konsolidace je jedním z hnacích motorů virtualizace jako takové. Proto je tu "větší bratříček" jménem Virtual Server.

Servery, které neexistují

Když jsem na českém Internetu začínal, byly počítače dřevěné, šlapací a především drahé. Takže většina lidí - když už byli ochotni a schopni platit ty nehorázné poplatky za hosting - měla jenom jeden a ten dělal všechno: poštu, web, DNS, databázový server... Často ne právě s radostí: můj první server (poháněl ho Cyrixí klon Pentia o úžasné taktovací frekvenci 150 MHz a měl úžasných 64 MB RAM) skončil v plamenech.

Časem se situace obrítila a počítače začaly být až urážlivě laciné. Není problém vybudovat mohutnou serverovou farmu a jednotlivé služby a zákazníky od sebe izolovat. Poplatky za konektivitu sice klesly, ale při větším počtu se vám může snadno stát, že budete platit víc za fyzické umístění stádečka počítačů, než za konektivitu.

Rovněž výkon počítačů stoupá závratným tempem. Dnešní dvoujádrové 64-bitové procesory toho zvládnou opravdu hodně. Přesto je ale dobrý nápad mít různé funkce izolované na různých počítačích. Každý program má specifické nároky na paměť, na konfiguraci a tak dále.

Zde se opět ke slovu dostanou virtuální počítače, tentokráte tedy virtuální servery. Základní idea je stejná jako v případě Virtual PC a byla nastíněna již v prvním dílu tohoto seriálu: v rámci jednoho fyzického počítače existuje několik virtuálních.

Microsoft Virtual Server 2005 R2

Serverovým řešením pro virtualizaci je na platformě Microsoft program Virtual Server 2005 R2. S jistou mírou nepřesnosti můžeme říct, že má podobná "střeva" jako Virtual PC, pojednávané minule, ale má jiné rozhraní. Virtual PC předpokládá interaktivní práci, má standardní uživatelské rozhraní, běží v rámci uživatelovy session jako běžná GUI aplikace.

Virtual Server oproti tomu předpokládá, že bude běžet na serveru, bez přímé interakce. Funguje jako služba (Windows service) a jeho virtuální stroje se mohou spouštět automaticky po startu systému. Správa (tedy vytváření virtuálních počítačů, sítí, jejich úpravy a podobně) probíhá přes webové rozhraní.

Rozhraní Virtual Serveru 2005 R2

Pro připojení na konzoli počítače slouží speciální VMRC klient. Vzdáleně připomíná klienta pro připojení k terminálovým službám, ale opravdu jenom vzdáleně. Sice umí fungovat po síti, ale použitý protokol je jiný, stejně jako účel.

Připojení na virtuální server není zdaleka tak schopné a pohodlné, jako práce s rozhraním Virtual PC nebo přes terminál. Nefunguje sdílení schránky, přenozsy souborů, změna velikosti okna za běhu a tak dále. U serverů se předpokládá, že pro přístup k nim se bude především používat prostředků nainstalovaného operačního systému, tj. že si nainstalujete virtuální server a pro práci na něm se budete připojovat např. přes RDP (terminálové služby, vzdálená plocha).

Rozdíl mezi Virtual PC a Virtual Serverem

Programy Virtual PC a Virtual Server mají podobné jádro (byť nikoliv stejné), ale různé určení a proto se liší jejich schopnosti.

Virtual PC 2004 SP1:

Virtual Server 2005 R2:

Podrobnější popis rozdílů mezi těmito programy najdete na webu Microsoftu.

Kompatibilita

Oba dva programy používají stejný formát pro virtuální hard disky (VHD). Konfigurační soubory (VMC) jsou také kompatibilní, pokud přihlédnete ke shora uvedeným rozdílům, tj. např. před přenosem PC -> Server zakážete zvukovou kartu.

V zásadě kompatibilní jsou i Virtual Machine Additions, i když i tam jsou samozřejmě rozdíly vycházející z odlišností popsaných výše. Nicméně je možné například nainstalovat ve Virtual PC počítač, přenést jeho obraz na server a tam ho spustit, případně naopak.

Licence

Virtual Server 2005 R2 sám o sobě je k dispozici k downloadu zdarma. Z hlediska licencování dalších programů obecně nehraje roli, zda počítač, na kterém je SW nainstalován, je virtuální nebo fyzický, k běhu software ve virtuálním počítači tedy potřebujete stejnou licenci, jako pro fyzický PC.

V případě Windows Serveru 2003 Enterprise Edition nicméně platí, že kromě jedné fyzické můžete provozovat ještě čtyři další virtuální instance Windows. Tato podpora není vázána na konkrétní virtualizační technologii, vztahuje se na vás tedy i v případě, že používáte např. VMWare ESX Server (který je sám sobě operačním systémem).

Od 1. října 2006 bude též platit, že v případě Datacenter Edition můžete virtuálních serverů provozovat neomezený počet.

Podpora non-Windows OS

Jak již bylo řečeno dříve, virtualizace znamená kompletní reprezentaci počítače. Obecně tedy můžete do virtuálního počítače nainstalovat jakýkoliv operační systém pro x86 platofrmu. Nejsou tomu kladena žádná licenční ani úmyslná technologická omezení. V praxi nicméně některé (zejména starší) operační systémy do virtuálního počítače nainstalovat nejdou. Na adrese http://vpc.visualwin.com/ můžete najít seznam bezmála patnácti set operačních systémů, které byly testovány na kompatibilitu s Virtual PC (a z nich 273 neběží, nicméně o většině z nich jsem v životě neslyšel).

Oficiálně podporovaných operačních systémů je samozřejmě mnohem méně. Vyznačují se tím, že jsou pro ně k dispozici Virtual Machine Additions a technická podpora. K dispozici jsou i pro některé distribuce Linuxu.

Odkazy

Existuje též nástroj jménem Virtual Server 2005 Migration Toolkit, který by měl umožnit snadnou migraci fyzického serveru do virtuálního prostředí. Osobně s ním ale nemám žádnou zkušenost. Pokud vy ano, podělte se.

Speciální poznámka k VMWare

V komentářích se často objevuje jméno konkurenčního produktu, VMWare. Píšu o Virtual PC a Virtual Serveru, protože ho narozdíl od VMWare znám a používám. VMWare jsem naposledy viděl v nějaké verze 2.0 nebo tak nějak. Bohužel tedy nejsem schopen se k němu nijak vyjádřit. Pokud někdo napíše o tomto SW nějaké pojednání, rád na něj odkážu a nebo ho zde zveřejním.