Windows 7: VHD boot a rychlost VHD

V návaznosti na Technet konferenci bych vám rád předal několik vcelku zajímavých informací, které se týkají formátu VHD, který Microsoft hojně využívá nejenom v rámci virtualizace hardware. VHD formát můžete například také najít, pokud provedete kompletní zálohu Windows Vista / Server 2008. Nicméně v poslední době začíná být velmi aktuální téma a tím je instalace fyzického operačního systému do VHD. Osobně si myslím, že jde o vcelku převratnou možnost instalace, distribuce a správy aktualizací operačních systémů, které jsou fyzicky instalované na počítače – a nezáleží na tom, zdali jde o notebook, klasický počítač či server.

Jak tedy na instalaci operačního systému do souboru VHD. Tím nejjednodušším postupem je pravděpodobně vytvoření VHD, následné připojení a instalace. Pojďme se na tento postup podívat:

  1. Zapneme počítač a zvolíme boot z instalačního média (DVD, USB,…) – věřím, že tento krok je uvedený jako „formalita“ :)
  2. Zvolíme jazyk, který chceme instalovat a další jazykové nastavení a pokračujeme v instalaci, dle instrukcí průvodce až do chvíle, kdy volíme na jaké diskové jednotky instalovat.
    clip_image002
  3. V tuto chvíli stiskneme kombinaci kláves SHIFT+F10 a otevře se příkazová řádka, kde následně spustíme příkaz DISKPART
  4. Pokud budete vytvářet VHD soubor na již existující partition, přejděte na bod 6
  5. Pokud vytváříme vhd soubor na partition, která je prázdná, je nutné před vytvořením souboru partition naformátovat,…
    1. zadáme příkaz „list disk“, díky kterému se zobrazí připojené fyzické disky – informace „Disk ###“
    2. Zvolíme disk, který chceme naformátovat, a kde chceme vytvořit vhd soubor – „select disk 0
    3. Vzhledem k tomu, že disk prozatím není naformátován, je nutné vytvořit partition – „create partition primary
    4. Následně provést formát – „format fs=ntfs quick
    5. Nastavení nové partition jako aktivní a přiřazení písmenka
      1. active
      2. assign
        clip_image004
  6. V tuto chvíli máme připravený disk a můžeme vytvořit VHD soubor
    1. Příkazem „create vdisk file=c:\filename.vhd maximum=30000“ vytvoříme vhd soubor v kořenovém adresáři disku C:, který se bude jmenovat „filename.vhd“ a jeho velikost bude 30GB. Oba tyto parametry, tedy file a maximum jsou povinné.
    2. Příkazem „select vdisk file=c:\filename.vhd“ vybereme vhd soubor, se kterým budeme pracovat
    3. A nakonec je nutné vhd soubor připojit pomocí příkazu „attach vdisk
      clip_image006
  7. Nyní se můžeme vrátit do průvodce instalací, provést aktualizaci informací o pevných discích. Zobrazí se připojený virtuální disk, který je prázdný. Tento disk zvolíme pro instalaci a pokračujeme v běžné instalaci tlačítkem „Další“
    clip_image008

Důležité je podotknout, že v dnešní době mohou být do vhd souboru instalovány operační systémy Windows 7 a Windows Server 2008 R2. S podporou Windows Server 2008 RTM a Windows Vista se počítá v následujících SP.

Jak je to z výkonností VHD souboru

Tyto otázky slýchám velice často, nedalo, provedl jsem několik výkonnostních testů za použití nástroje iometer (iometer.org). Testování probíhalo na notebooku Lenovo X300, 2GB RAM, 60GB SATA disk, Intel Centrino Core2 duo a desktopu Dell Precision 390, 8GB RAM, 250GB SATAII (vytvořena 60GB partition), Intel Core2 Quad. Testovány byly 2 scénáře:

  • Instalace Windows 7 64bit na čistě formátovaný disk, instalace OS bez modifikací
  • Instalace Windows 7 64bit na čistě formátovaný disk, následně vytvořen vhd soubor o pevné velikosti 60GB, instalace OS bez modifikací

Nutno podotknout, že nástroj iometer pro svůj test zaplní veškerý volný prostor jediným souborem, ve kterém jsou prováděny testy – z tohoto důvodu nebyl testovaný „expandable vhd“. Po instalaci OS byl spuštěn iometer s následující kombinací parametrů (celkem 18 testů):

Kombinace velikostí bloků, které byly testovány

  • 4K, 64K, 1M bloky

Kombinace poměru čtení a zápisu

  • 67%read/33%write
  • 100%read/0%write
  • 0%read/100%write

Kombinace poměru sekvenčního a náhodného čtení

  • 0%random/100%sequential
  • 100%random/0%sequential

Při testu bylo použito identického nastavení u obou typů instalací a bylo použito Win32 API pro přístup na disk s vypnutou cache (cache off)

1. IO per second – počet IO operací vykonaných za vteřinu

image 

..u testů označených (*10), byla desetinná čárka posunuta vlevo pro možnost srovnání hodnot

2. MB per second – datová propustnost v MB za vteřinu

image 

3. % vytížení CPU

image 

5. Procentuální porovnání naměřených hodnot
image

Co závěrem. V některých případech se jeví VHD jako rychlejší ve srovnání s fyzickým diskem, což je způsobeno především pevnou alokací diskového prostoru jediným souborem, kde následně interní struktura VHD umožňuje dosáhnout lepších výsledků. Při srovnání naměřených hodnot lze konstatovat, že výkonnostní rozdíly mezi fyzickým diskem a VHD nejsou (cca 1,6% zpomalení oproti stejným operacím na fyzickém disku), nicméně tento vyrovnaný výkon je vykoupen jistou zátěží CPU (cca1,4% vyšší zátěž oproti stejným operacím na fyzickém disku).

- Ondřej Výšek (Microsoft)