*.vhdx

Jedna z nowosci w Windows8/Windows Server 2012 jest VHDX – nowy format dysku wirtualnego. Czasem daje sie na niego natknac w systemowych narzedziach i wypadaloby w takiej sytuacji zastanowic sie co on daje. Warto siegnac po VHDX czy moze lepiej pozostac przy starym dobrym VHD? Odpowiedz nie jest jednoznaczna, dlatego spróbuje przestawic co nowego mozna z plików VHDX wyciagnac.

Po pierwsze i najwazniejsze – twarde, konkretne korzysci. Plik VHDX moze przechowac wirtualny dysk o pojemnosci do 64TB, w którym mozna uzyc sektorów o rozmiarze do 4KB i bloków do 256MB. Poza wiekszym rozmiarem, skorzystac mozna z wiekszej wydajnosci, która uzyskuje sie dzieki dostosowaniu parametrów bloków i sektorów do charakteru obciazenia.

Malo? Jest wiecej i to sa te aspekty, o których zwykle mówi sie "diabel tkwi w szczególach":

  • Zapis we wszystkich istotnych strukturach pliku VHDX wykorzystuje log. Dane zapisywane w istotnych strukturach pliku VHDX takich jak BAT czy metadane najpierw trafiaja do logu, potem dopiero we wlasciwe miejsce. Jezeli w trakcie tych operacji cos sie wydarzy (na przyklad awaria zasilania) – przy nastepnym otwarciu, parser VHDX (czyli ten, kto go faktycznie otwiera i interpretuje) najpierw zapisze zalegle dane z logu a dopiero potem zacznie udostepniac dane uzytkownikowi.
  • Ochrona spójnosci przez log nie dotyczy danych uzytkownika przechowywanych na dysku wirtualnym. Tutaj mamy mechanizmy logów wbudowane w system plików i ich dublowanie byloby w praktyce zbedne.
  • Format jest otwarty na dowolne rozszerzanie. Kazdy moze zapisac w metadanych swoje informacje dotyczace postepowania z plikiem. Wystarczy, ze doda do przewidzianych na to struktur informacje o nowych danych i gotowe. Jezeli plik z nietypowymi danymi trzeba otworzyc, to sa trzy mozliwosci:
  • Parser rozumie takie metadane, wiec po prostu je prawidlowo obsluguje
  • Parser nie rozumie metadanych, które oznaczone zostaly jako opcjonalne i wtedy po prostu ich nie dotyka
  • Parser nie rozumie metadanych, które oznaczone zostaly jako obowiazkowe i wtedy odmawia otwarcia pliku VHDX

Nie istnieja odrebne formaty dla dysków statycznych i dynamicznych. Kazdy dysk jest dynamiczny, przy czym mozna od razu zaalokowac wszystkie bloki, dzieki czemu dysk jest statyczny.

Istotne dane zapisywane sa na poczatku pliku a nie na jego koncu jak w formacie VHD. Pozwala to uniknac takich obejsc jak opisane kiedys na tym blogu.

Polozenie dysku-rodzica zapisywane jest poza sciezka wzgledna i bezwzgledna równiez jako sciezka dyskowa (\\?\Volume{26A21BDA-A627-11D7-9931-806E6F6E6963}\path2\sub3\parent.vhdx) Ten sposób zapisu pozwala na siegniecie do dysku-rodzica równiez w sytuacji, gdy dyski nie maja przypisanych liter.

Plik uwalnia sie od kilkunastoletnich rozwiazan i ograniczen, wpisanych w format VHD jeszcze przez firme Connectix.

Dla sprawiedliwosci, formatowi VHD nalezy przyznac jeden punkt, w którym VHDX nie moze sie równac: VHD pozwala na tworzenie jednego obrazu w wielu dyskach. Pytanie kiedy ostatni raz ktos tego na serio uzywal...

Próbujac podsumowac i zarekomendowac jedne format, stwierdzic mozna, ze VHDX jest nowszy, lepszy, bardziej przemyslany, elastyczny i pozwala na wieksze pojemnosci. VHD jest zgodny wstecz. Dlatego decyzje kazdy musi podjac sam.

Autor: Grzegorz Tworek [MVP]

PS Na samym poczatku pliku VHDX umieszczana jest sygnatura, zawierajaca miedzy innymi informacje o tym, kto utworzyl plik. Dla Windows 8 Consumer Preview jest to "Microsoft Windows 6.2.8250.0". To troche bardziej precyzyjna informacja niz cztery znaki w VHD, w których zapisac dalo sie jedynie Wi2k. Kolejny punkt dla VHDX.