Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



31.08.2020

Konferencja PIKE 2020 „Nowy...

Polska Izba Komunikacji Elektronicznej wraz z Polską Fundacją Wspierania Rozwoju...
31.08.2020

Sprawna migracja

Oracle Cloud VMware Solution
31.08.2020

Aktywne cybergangi

Grupa Lazarus
31.08.2020

Coraz groźniej

Ransomware
31.08.2020

Analityka w chmurze

SAS Viya 4
31.08.2020

Fujitsu

Fujitsu zaprezentowało odświeżone portfolio biurowych komputerów stacjonarnych Esprimo...
31.08.2020

Monitory dla biura

EIZO FlexScan
27.08.2020

ABBYY FineReader Server –...

Obecna sytuacja na świecie spowodowała, że musieliśmy się odnaleźć w nowych realiach...
27.08.2020

E-commerce ratuje gospodarkę

W tym roku rodzimy handel elektroniczny odnotowuje najwyższy – od kilkunastu lat –...

Instalacja systemów w plikach VHD/vhdx

Data publikacji: 02-12-2013 Autor: Robert Stuczyński
Tworzenie i dołączanie...
Działanie narzędzia DiskPart.
Tworzenie i inicjowanie...
Tworzenie i inicjowanie...
Tworzenie i inicjowanie...

O możliwości zastąpienia fizycznego dysku wirtualnym wie wielu użytkowników, jednak nadal niewiele osób z tej opcji korzysta. Silniejsze jest przyzwyczajenie do starych metod. W artykule przedstawiamy zalety rozwiązania, jakim jest uruchamianie systemów operacyjnych z wirtualnych dysków VHD.

Użytkownicy tak bardzo przyzwyczajają się do pewnych rozwiązań, że trudno jest im czasami sięgnąć po nowe, często lepsze technologie. Przykładem jest choćby fizyczny dysk twardy, który najczęściej jako rozwiązanie w technologii Direct Attached Storage (DAS) umieszczony w środku fizycznego komputera staje się nośnikiem partycji i z niego uruchamiany jest system operacyjny.

Virtual Hard Drive jest formatem pliku wirtualnego dysku twardego o rozszerzeniu VHD lub VHDX. Pierwotnie został stworzony przez firmę Connectix, która została przejęta przez Microsoft. Na przestrzeni lat VHD był implementowany w wielu produktach firmy Microsoft – począwszy od Virtual PC, przez Virtual Server 2005, a kończąc na usłudze Hyper-V. Specyfikacja plików VHD została udostępniona firmom trzecim na licencji Microsoft Open Specification Promise.

DO CZEGO UŻYĆ DYSKÓW VHD/VHDX

Wirtualny dysk twardy umieszczany jest jak każdy inny plik na partycji dysku fizycznego. Należy traktować go jako kontener, który może zawierać dokładnie te same dane co dysk fizyczny, czyli partycje, foldery, pliki itp. Najczęściej używany jest jako nośnik dla wirtualnych maszyn, co pozwala na równoczes­ne uruchamianie wielu wirtualnych systemów na jednej maszynie fizycznej pełniącej rolę hosta.

Począwszy od systemów Windows 7 oraz Server 2008 R2, dyski VHD są natywnie obsługiwane przez system operacyjny. Oznacza to możliwość tworzenia, dołączania oraz obsługi takich plików za pomocą narzędzi systemowych, bez konieczności stosowania oprogramowania firm trzecich. Z poziomu interfejsu graficznego do tego celu można użyć funkcji Zarządzanie dyskami/Disk Management (Diskmgmt.msc). Stosując interpreter poleceń Windows, wykorzystać należy narzędzie DiskPart.exe. Z kolei PowerShell w Windows 8 i Server 2012 R2 dostarcza odpowiednie cmdlety. W niniejszym artykule skupimy się na narzędziu graficznym i poleceniu DiskPart, dostępnych dla użytkowników obu wspomnianych systemów operacyjnych, wraz z którymi wprowadzono nowy format wirtualnego dysku twardego VHDX.

Nowy format pozwala na tworzenie wirtualnych dysków twardych o pojemności do 64 TB, w przypadku których możliwe jest użycie sektorów o rozmiarze do 4 KB i bloków do 256 MB (maksymalna pojemność dysku starszego typu VHD wynosi 2 TB). Dzięki lepszemu dopasowaniu wielkości bloków i sektorów do charakteru obciążenia VHDX ma większą wydajność i jest bardziej odporny na uszkodzenia danych, gdyż w razie awarii zasilania wykorzystywany jest log zawierający metadane struktur pliku VHDX.

Systemy Windows 8.1 i Server 2012 R2, a dokładnie zaimplementowany w nich PowerShell 4.0, udostępniają kilka cmdletów upraszczających pracę z plikami VHD i VHDX:

 

  • New-VHD – tworzy jeden lub wiele wirtualnych dysków twardych;
  • Convert-VHD – konwertuje format, typ wersji lub rozmiar bloków wirtualnego dysku twardego;
  • Test-VHD – testuje wirtualny dysk twardy w kontekście potencjalnych problemów;
  • Set-VHD – pozwala ustawić właściwości wirtualnego dysku twardego;
  • Resize-VHD – zmienia wielkość wirtualnego dysku twardego;
  • Optimize-VHD – optymalizuje alokacje miejsca zajmowanego przez plik wirtualnego dysku twardego;
  • Mount-VHD – montuje jeden lub więcej wirtualnych dysków twardych;
  • Dismount-VHD – odmontowuje jeden lub więcej wirtualnych dysków twardych;
  • Merge-VHD – łączy wirtualne dyski twarde;
  • Get-VHD – pobiera informacje na temat wirtualnego dysku twardego.

STAŁY CZY DYNAMICZNY?

W trakcie tworzenia plików VHD i VHDX należy wskazać jeden z typów wirtualnych dysków twardych. Użytkownik ma do wyboru trzy opcje:

 

  • Fixed size (o stałym rozmiarze) – na dysku fizycznym tworzony jest plik o wielkości równej pojemności zadeklarowanej w czasie tworzenia wirtualnego dysku twardego;
  • Dynamically expanding (dynamicznie powiększający się) – ten typ pliku wirtualnego dysku twardego charakteryzuje się tym, że początkowo niewielka pojemność rozszerza się wraz z zapisywaniem   kolejnych danych do maksymalnie zadeklarowanej wielkości. Rozmiar dysku może być wyłącznie zwiększany, po usunięciu danych wielkość pliku/pojemność dysku nie zmniejszają się;
  • Differencing (różnicowy) – dysk jest powiązany relacją typu podrzędny-nadrzędny z innym wirtualnym dyskiem twardym. Dyski podrzędny i nadrzędny tworzą tak zwany łańcuch. Zmiany mogą być zapisywane wyłącznie na podrzędnym dysku, a nadrzędny musi pozostać nienaruszony. Format wszystkich dysków tworzących łańcuch musi być taki sam – VHD lub VHDX.


Dysk o stałym rozmiarze, w porównaniu z dynamicznie zwiększającym pojemność, zapewnia niewiele większą, kilkuprocentową wydajność (w szczególności dotyczy to operacji zapisu). Może to mieć znaczenie w przypadku użycia opisywanego rozwiązania w środowisku serwerowym lub tam, gdzie działają aplikacje intensywnie korzystające z dysków.


EDYCJA BOOT MANAGERA

 

Po instalacji więcej niż jednego systemu operacyjnego na dysku przychodzi moment, że w Windows Boot Managerze zaczyna robić się bałagan. Może np. powstać dwa lub więcej identycznych wpisów, co spowoduje trudność w wybraniu właściwego systemu do uruchomienia. Do edycji Windows Boot Manager służy narzędzie systemowe bcdedit.exe. Program uruchamiany jest zawsze z prawami administratora (w innym przypadku użytkownik zobaczy komunikat The boot configuration data store could not be opened. Odmowa dostępu).

Poniżej podano kilka przykładów użycia bcdedit.exe. Można zastosować je do modyfikacji nazwy uruchamianego systemu operacyjnego, kolejności wpisów oraz czasu wyświetlania menu startowego.

Po wylistowaniu wpisów poleceniem Bcdedit/v należy odszukać interesującą nas pozycję i zanotować jej identyfikator potrzebny do wprowadzenia modyfikacji. Ma on postać ciągu zamkniętego nawiasami klamrowymi {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}:

 

  1. W przypadku, gdy konieczna jest zmiana opisu systemu, który wyświetlany jest przy rozruchu jako nazwa systemu operacyjnego, identyfikatora należy użyć jako argument przełącznika /set, a za pomocą description ustawić nowy ciąg znaków, np.: bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} description "Windows 8.1 VHD".
  2. Kolejność wyświetlania systemów można zmienić za pomocą przełącznika /displayorder. Kolejność wpisów określamy, podając informację, czy system ma być pierwszy na liście (/addfirst) czy ostatni (/addlast). Użycie przełącznika /delete usuwa pozycję z listy. Na przykład: bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addfirst.
  3. Przełącznik /default pozwala ustawić domyślnie uruchamiany przy starcie komputera system operacyjny: bcdedit /default {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.
  4. Ustawienie czasu, po którym zostanie uruchomiony domyślny system, można określić poprzez zmianę wartości w sekundach, za pomocą przełącznika /timeout: bcdedit /timeout 10.

KORZYŚCI Z INSTALACJI SYSTEMU W PLIKU VHD/VHDX

Standardowa instalacja systemu operacyjnego na fizycznie podłączonym do komputera dysku twardym wymaga od użytkownika podziału dysku na minimum tyle partycji, ile systemów operacyjnych będzie na nim działało. Takiego problemu nie będzie miał użytkownik, który zdecyduje się wykorzystać pliki VHD/VHDX. Na jednej partycji dysku fizycznego można przygotować wiele plików reprezentujących wirtualne dyski twarde, a w każdym z nich zainstalować system operacyjny. Kiedy system operacyjny działający w pliku VHD przestanie być nam potrzebny, wystarczy skasować plik wirtualnego dysku twardego oraz powiązany z nim wpis w Windows Boot Managerze. W ten sposób nie zostanie po nim żaden ślad. Jest to idealne rozwiązanie dla testerów, wdrożeniowców oraz osób przygotowujących scenariusze proof-of-concept.

Wykonanie kopii systemu, jak i jego późniejszy odzysk są bardzo proste. Niepotrzebne są systemy do klonowania dysków czy backupu. Aby skopiować plik w inne miejsce i w ten sposób otrzymać jego wierną kopię, wystarczy jedno polecenie copy od zawsze dostępne w systemie operacyjnym. Przywrócenie systemu to zwykła podmiana niechcianego pliku VHD/VHDX na wcześniej wykonaną kopię.

Jedną z najważniejszych zalet, zwłaszcza uwzględniając powszechne stosowanie opisywanego rozwiązania w wirtualizacji systemów, jest jego wydajność. Systemy działające na wirtualnych dyskach działają tak wydajnie, że ciężko zauważyć różnicę pomiędzy oprogramowaniem zainstalowanym tradycyjnie na fizycznym dysku a uruchomionym z VHD/VHDX. To dzięki temu, że system operacyjny działa bezpośrednio na sprzęcie, a nie odwołuje się do niego przez wirtualne sterowniki i system hosta. Działa dokładnie tak, jakby był zainstalowany na HDD. Wymaga też instalacji tradycyjnych sterowników urządzeń. Jest to ważne szczególnie dla tych użytkowników, dla których dostęp do zasobów sprzętowych jest sprawą kluczową. Użytkownicy, którzy chcą stworzyć środowisko pracy nawet dla bardzo wymagających zastosowań, mogą w ciemno instalować i używać system działający na wirtualnym dysku.

Niestety, jak to zwykle bywa, nie ma róży bez kolców. Największym minusem jest liczba wspieranych systemów, które mogą być uruchamiane z plików VHD/VHDX. Obecnie są to systemy Windows 7 Ultimate, Windows 7 Enter­prise, Windows 8 Pro, Windows 8 Enterprise, Windows 8.1 Pro, Windows 8.1 Enterprise oraz wszystkie wersje serwerowych systemów operacyjnych – Windows Server 2008 R2/2012/2012 R2 (cieszy fakt, że Microsoft zdecydował się udostępnić tę funkcjonalność w Windows 8 i Windows 8.1 w wersji Professional). Kolejne dość istotne ograniczenie polega na nieobsługiwaniu przez systemy uruchomiony z VHD/VHDX trybu hibernacji. System może być wyłącznie usypiany. Opisywane rozwiązanie ma też ograniczenia związane z bezpieczeństwem środowiska – funkcja BitLocker nie może być wykorzystana do szyfrowania partycji systemu hosta zawierającego pliki VHD używane do rozruchu. BitLocker nie może być też używany na partycjach, które są umieszczone wewnątrz VHD. Bootowalny wirtualny dysk twardy nie może być skonfigurowany jako dysk dynamiczny.

SCENARIUSZ PIERWSZY: Z SYSTEMEM NA DYSKU

Przeanalizujmy dwa najczęściej spotykane w rzeczywistości przypadki. Pierwszy scenariusz wdrożenia zakłada, że użytkownik ma standardowo zainstalowany system obsługujący natywnie VHD/VHDX (np. Windows 8). Zadaniem jest instalacja kolejnego systemu operacyjnego, ale tym razem w pliku VHD. Wymagania wstępne, jakie należy spełnić, są identyczne, z tymi jakie odnoszą się do instalacji systemu w sposób tradycyjny. Warto wspomnieć, że w założonym przypadku nie ma konieczności włączania wsparcia dla wirtualizacji, gdyż scenariusz nie wykorzystuje technologii tradycyjnej wirtualizacji.

Pierwszy krok wymaga utworzenia nowego pliku VHD lub VHDX. W tym przykładzie zostanie to wykonane w najprostszy możliwy sposób, za pomocą narzędzia z graficznym interfejsem użytkownika. Z narzędzi administracyjnych wybieramy opcję Zarządzanie komputerem | Magazyn i zarządzenie dyskami. Narzędzie w prosty sposób można też wywołać, wpisując komendę diskmgmt.msc. Aby utworzyć nowy dysk z górnego menu, w nowym oknie wybieramy Akcja (Action), a następnie Utwórz dysk VHD (Create VHD). W tym momencie zostanie uruchomiona formatka Tworzenie i dołączanie wirtualnego dysku twardego (Create and attach Virtual Hard Disk), w której wskazujemy lokalizację docelową pliku VHD. W zależności od wybranego systemu operacyjnego podajemy odpowiednią wielkość pliku, wybieramy format VHD/VHDX oraz typ wirtualnego dysku twardego (np. o stałym rozmiarze). Po zatwierdzeniu wprowadzonych danych we wskazanej lokalizacji zostanie utworzony wirtualny dysk.

Nowo utworzony napęd zostanie dodany do listy dysków widocznych w konsoli Zarządzanie dyskami. Aby można było go użyć, należy go jeszcze zainicjować. Wykonuje się to poprzez kliknięcie prawym przyciskiem myszy na dysku oraz wybranie opcji Zainicjuj dysk (Initialize Disk) i wybranie odpowiedniego typu partycji, w tym przypadku MBR (Główny rekord rozruchowy) (MBR (Master Boot Record)).

Następnie uruchamiamy komputer z płyty DVD lub pamięci USB z instalatorem Windows. Korzystając z kreatora instalacji, pozostawiamy domyślne ustawienia, aż do momentu pojawienia się pytania dotyczącego typu instalacji – Jaki typ instalacji chcesz wykonać? (Which type of installation do you want?). W tym miejscu koniecznie musimy użyć ustawień, z których wynika, że zamiast standardowego dysku chcemy wykorzystać wirtualny dysk twardy. Aby to zrobić, wybieramy na klawiaturze kombinację klawiszy Shift oraz F10 i po wywołaniu interpretera poleceń Windows uruchamiamy DiskPart.exe.

W narzędziu DiskPart podajemy ścieżkę dostępu do wcześniej utworzonego pliku VHD/VHDX za pomocą polecenia Select vDisk File=DYSK:vhdW8.1_VHD.vhd (w miejsce DYSK użytkownik wprowadza literę przypisaną do partycji, na której umieszczony jest plik VHD/VHDX). Po potwierdzeniu przez system wybrania odpowiedniego dysku wpisujemy komendę Attach vDisk podłączającą dysk wirtualny. Poprawnie przeprowadzona operacja zakończona zostanie komunikatem 100 percent completed. W tym momencie można zakończyć działanie interpretera poleceń Windows.

Po wykonaniu wyżej opisanych operacji wracamy do instalatora, klikamy Dalej (Next) i przechodzimy do wyboru dysku, na którym zostanie zainstalowany kolejny system operacyjny. Z listy wybieramy utworzony wcześniej wirtualny dysk twardy i ignorujemy komunikat Nie można zainstalować systemu Windows na tym dysku (Windows can't be installed on this drive).
Kliknięcie przycisku Dalej (Next) spowoduje przejście do właściwej instalacji, w trakcie której instalator automatycznie doda dodatkowy wpis do Windows Boot Managera, dzięki czemu po uruchomieniu komputera wyświetlany będzie ekran pozwalający na wybór systemu, który ma zostać załadowany (wpisy te można edytować – patrz ramka: Edycja Boot Managera).

SCENARIUSZ DRUGI: ZACZYNAMY OD ZERA

Drugi scenariusz zakłada, że użytkownik ma nowy, czysty dysk oraz płytę instalacyjną z Windows Server 2012. Jego zadaniem jest instalacja serwerowej wersji systemu operacyjnego Windows w pliku VHD. Ten scenariusz można dostosować i zaimplementować również w sytuacji, gdy mamy komputer z zainstalowanym już systemem operacyjnym, który nie obsługuje natywnie plików VHD, np. Windows XP. W takim przypadku należy pominąć kroki tworzenia partycji oraz ich formatowania.

Po umieszczeniu zupełnie nowego dysku w komputerze należy wykonać kilka czynności, które przygotują go do instalacji systemu operacyjnego. Można to zrobić na kilka sposobów, lecz w artykule skorzystamy z najprostszej metody. Uruchamiamy komputer za pomocą płyty instalacyjnej z Windows, przechodzimy przez kolejne, nie zmieniając domyślnych ustawień, wybieramy typ instalacji Użytkownika (Custom) i zatrzymujemy się na wyborze miejsca instalacji Gdzie chcesz zainstalować Windows? (Wher do you want to install Windows?). W tym miejscu wybieramy Opcje dysku (zaawansowane) (Drive options (advanced)), klikamy Nowy (New) | Formatuj (Format), tworzymy oraz formatujemy partycje o wymaganych przez nas pojemnościach. Następnie wywołujemy interpreter poleceń Windows wspomnianą już kombinacją klawiszy Shift i F10.

Dysk i partycja są przygotowane, więc czas na utworzenie wirtualnego dysku. Analogicznie jak w pierwszym scenariuszu wywołujemy DiskPart.exe i wybieramy partycję, na której zostanie zapisany plik VHD. Pierwszym dyskiem jest zawsze dysk o numerze 0, który wybiera się poleceniem Select Disk 0. Jeśli w komputerze zamontowano więcej dysków, to w razie konieczności ich listę wyświetlamy poleceniem List Disk. Po wskazaniu dysku konieczne jest wybranie odpowiedniej partycji. Jeśli czytelnik wykonywał kroki zgodnie z opisem w artykule, to utworzył partycję za pomocą kreatora i dlatego konieczne jest wywołanie polecenia Select Partition 2 (pierwsza partycja rezerwowana jest przez system dla BitLockera; partycje liczone są od liczby 1) oraz aktywowanie jej za pomocą komendy Active i przypisanie np. litery V poleceniem Assign Letter=V.

Przykładowa partycja jest gotowa, aby utworzyć na niej plik VHD o stałym zadeklarowanym rozmiarze 20 GB. Wykonujemy to za pomocą polecenia Create vDisk File=V:WS2012.vhd Type=Fixed Maximum=20000. Tworzenie pliku w katalogu głównym nie jest najbardziej eleganckim i praktycznym rozwiązaniem, ale zakładamy, że w przykładach podawane są najprostsze rozwiązania (aby założyć folder, należy otworzyć kolejny interpreter poleceń Windows i użyć polecenia MkDir). Procedurę zakańcza wybranie wirtualnego dysku twardego poleceniem Select vDisk File=V:WS2012.vhd oraz jego podłączenie za pomocą Attach vDisk. Po powrocie do kreatora instalacji odświeżamy okno klawiszem F5 lub opcją Refresh i po wybraniu z listy dysków napędu wirtualnego dokańczamy instalację systemu.

DYSKI DYNAMICZNE I BLUE SCREENY

W powyższych przykładach używane były wirtualne dyski o stałej wielkości (fixed). Są one wydajniejsze niż dyski dynamicznie powiększające się, lecz początkowo zajmują o wiele więcej miejsca na fizycznym dysku twardym. Jednak nie był to jedyny powód. Chodziło przede wszystkim o uniknięcie, przynajmniej na etapie poznawania nowej funkcjonalności przez czytelnika, błędów w konfiguracji.

Najczęściej spotykanym problemem jest nieodpowiednie użycie dysku zwiększającego rozmiar dynamicznie, czego wynikiem jest niebieski ekran BSOD (Blue Screen Of Death): VHD_BOOT_HOST_VOLUME_NOT_ENOUGH_SPACE. Błąd powodowany jest tym, że zadeklarowano zbyt dużą przestrzeń dla dysku dynamicznie powiększającego się, w porównaniu z ilością wolnego miejsca na fizycznym dysku go przechowującym. Dysk o zmiennej pojemności w czasie rozruchu potrzebuje maksymalnej przestrzeni, jaka została zadeklarowana podczas jego definiowania (nawet jeśli zapisane na nim dane zajmują o wiele mniej miejsca, wirtualny dysk i tak będzie próbował rozszerzyć swoją pojemność). Oczywiście korzystanie z wirtualnych dysków dynamicznie powiększających rozmiar jest jak najbardziej zasadne i możliwe. BSOD nie pojawi się, gdy pojemność dysku przechowującego pliki VHD/VHDX będzie wystarczająca.

PODSUMOWANIE

Mimo tego, że funkcjonalność wirtualnych dysków przechowywanych w plikach VHD/VHDX została udostępniona już cztery lata temu wraz z Windows 7, nadal nie jest często wykorzystywana. Mała popularność rozwiązania może wynikać z tego, że producent zaniedbał temat, nie umieszczając bezpośrednio w kreatorze instalacji opcji pozwalających na instalację systemu w VHD/VHDX. Przyczyną może być też bezzasadna obawa użytkowników przed pogorszoną wydajnością działania systemu. Z doświadczenia wynika, że im częściej dany użytkownik korzysta z wirtualnych dysków twardych, tym więcej widzi korzyści wynikających z tego rozwiązania. Naszym zdaniem opisana funkcjonalność jest jedną z najbardziej użytecznych cech związanych z systemem plików oraz samą instalacją Windows dostępną od czasu Windows 7.


Autor jest certyfikowanym trenerem, freelancerem, właścicielem technologicznego portalu, twórcą webcastów oraz artykułów umieszczonych m.in. na stronie Microsoft Technet. Uhonorowany tytułem Microsoft MVP.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"