Wirtualizacja - wprowadzenie

Wirtualizacja - wprowadzenie

Autor: Dawid Długosz

Opublikowano: 9/7/2007, 12:00 AM

Liczba odsłon: 25739

Czym jest pojęcie Wirtualizacji w komputerach? Niektórzy z Was powiedzą zapewne, iż wiąże się to z emulacją, inni, że jest to zjawisko abstrakcji, ktoś kolejny natomiast stwierdzi, iż jest to sposób na pomnażanie systemów operacyjnych...

Zapraszamy serdecznie do cyklu artykułów poświęconych Wirtualizacji, w których odpowiemy na najczęściej zadawane pytania oraz rozwiejemy wszystkie wątpliwości, które nasuwają się na myśl o tym zagadnieniu. Poznajmy programy, które umożliwiają pracę z wirtualnymi systemami operacyjnymi. Dowiedzmy się jak poprawnie utworzyć i skonfigurować maszynę wirtualną, a następnie jak ją wykorzystać. Nauczymy się uruchamiać środowisko Linux bezpośrednio w systemie operacyjnym Windows. Na końcu przedstawimy także wirtualne produkty Microsoftu, które zostały udostępnione do pobrania, całkowicie za darmo, przez giganta z Redmond dla wszystkich.

Czym więc jest Wirtualizacja?

Wirtualizacja jest pojęciem określającym abstrakcje różnych zasobów w komputerach. Jest połączeniem emulacji API (programowej) oraz emulacji pełnej (sprzętowej). Głównym aspektem przemawiającym za wykorzystaniem Wirtualizacji jest możliwość uruchamiania wielu systemów operacyjnych jednocześnie na danym komputerze pod kontrolą macierzystego OS'u, który pełni rolę gospodarza, ale nie jest to jedyna sposobność wykorzystania tej technologii. Poniżej przedstawiamy najpopularniejsze przykłady stanowiące podmioty, w których stosować możemy Wirtualizację, a są to:

  • Wirtualne sieci - umożliwia lepsze lokalizowanie i dostęp do rozproszonych zasobów bez konieczności wykorzystywania fizycznego serwera. Pozwala także testować rozwiązania sieciowe przed ich wdrożeniem podczas, gdy nie dysponujemy wieloma komputerami.
  • Wirtualna pamięć masowa - dzięki temu możemy, wykorzystując dyski .vhd, magazynować dane. Przez to mamy sposobność prostego i wygodnego tworzenia kopii zapasowych i udostępniania zasobów oraz informacji użytkownikom pracującym w wirtualnym środowisku. Zrobienie backupu wirtualnego środowiska sprowadza się jedynie do operacji skopiowania dysku, nie potrzebujemy żadnego dodatkowego oprogramowania.
  • Wirtualizacja aplikacji - stanowi prawdziwy przełom. Zamiast standardowej instalacji oprogramowania użytkownik ma sposobność wykorzystania aplikacji zdalnie. Rozwiązanie to sprawia, iż nie zaśmiecamy komputera zbędnymi programami, a te, których potrzebujemy, mamy w zasięgu ręki w dowolnym momencie.
  • Wirtualizacja prezentowania danych - umożliwia oddzielenie prezentacji od procesu jej prezentowania, co oznacza, że możemy kontrolować ją zdalnie z innego komputera, aniżeli tego, na którym jest uruchomiona.

Zalety i wady Wirtualizacji

Zalety

  • Możliwość uruchamiania wielu systemów operacyjnych jednocześnie
  • Sposobność testowania aplikacji bez ingerencji w macierzysty OS
  • Możliwość tworzenia topologii sieci komputerowych, gdy nie dysponujemy innym komputerem
  • Sposób na bezpieczne użytkowanie Internetu
  • Możliwość szybkiego przełączania się pomiędzy środowiskami pracy
  • Prosta obsługa wirtualnych środowisk
  • Ulepszone dostarczanie danych
  • Praca z niekompatybilnym oprogramowaniem
  • Bezawaryjność środowiska pracy
  • Konsolidacja usług serwerowych

Wady

  • Słaba wydajność wirtualnych maszyn
  • Wykorzystanie zasobów komputera będącego gospodarzem powoduje spadek wydajności
  • Duże wymagania stawiane komputerom

Słów kilka o aspektach przemawiających za Wirtualizacją...

Możliwość uruchamiania wielu systemów operacyjnych jednocześnie

Najważniejszy aspekt wirtualizacji. Możemy uruchamiać wiele systemów operacyjnych na OS'ie będącym gospodarzem. W ten sposób mamy sposobność przetestowania różnych rozwiązań bez ingerencji w układ partycji na dysku twardym. Także usunięcie systemu operacyjnego, który umieściliśmy w wirtualnej maszynie nie powoduje żadnych zmian w komputerze. Możemy oczywiście uruchamiać inne systemy, aniżeli Windows, np. Linux'a.

Sposobność testowania aplikacji bez ingerencji w macierzysty OS

Jeśli chcemy przetestować nową aplikację, a nie jesteśmy pewni, czy nie spowoduje to awarii systemu operacyjnego, to najlepszym sposobem jest zainstalowanie jej na wirtualnej maszynie. W razie ewentualnych nieprawidłowości środowisko pracy pozostanie nienaruszone, a my upewnimy się, czy warto zainstalować program na komputerze.

Możliwość tworzenia topologii sieci komputerowych, gdy nie dysponujemy innym komputerem

Do testowania rozwiązań sieciowych wcale nie potrzebujemy wielu komputerów. Dzięki dobrodziejstwom Wirtualizacji możemy tworzyć niby-sieci wykorzystując odpowiednie programy, następnie w ten sposób zbudowaną topologię możemy wykorzystać do przeprowadzenia badań.

Sposób na bezpieczne użytkowanie Internetu

Możemy utworzyć wirtualne środowisko pracy, które następnie wykorzystamy do użytkowania globalnej sieci. Nie straszne nam będą wirusy i inne złośliwe oprogramowania oraz potencjalne ataki hakerów. Jeśli wirtualny komputer zostanie zainfekowany, to nie wpłynie to na stabilność systemu operacyjnego będącego gospodarzem, a my po prostu możemy usunąć wirtualną maszynę i utworzyć nową.

Możliwość szybkiego przełączania się pomiędzy środowiskami pracy

Pracując z wieloma systemami operacyjnymi jednocześnie mamy sposobność szybkiego przełączania się pomiędzy gościem i hostem bez potrzeby wylogowania się z któregokolwiek środowiska. Dzięki temu rozwiązaniu nie musimy także co chwilę zapisywać owoców pracy, tylko dlatego, iż musimy zmienić system operacyjny, gdzie zainstalowane mamy inne oprogramowanie, a z którego musimy nagle skorzystać.

Prosta obsługa wirtualnych środowisk

Programy do tworzenia i uruchamiania wirtualnych środowisk pracy są bardzo przyjazne dla użytkownika oraz proste w obsłudze i nie sprawią problemu nawet laikom. Wiele funkcji i opcji aplikacji przeznaczonych do pracy z wirtualnymi maszynami umożliwia swobodne działanie.

Ulepszone dostarczanie danych

Uniezależnienie procesu pozyskiwania danych i informacji od fizycznych możliwości rozbudowy sprzętu (np. zwiększania przestrzeni dyskowej). Pozwala szybciej i efektywniej wprowadzać nowe rozwiązania do struktury systemu operacyjnego na żądanie bez potrzeby wzbogacania go o dodatkowe komponenty.

Praca z niekompatybilnym oprogramowaniem

Wirtualizacja pozwala na pracę ze starszym oprogramowaniem, które nie jest już kompatybilne ze środowiskiem operacyjnym, którego używamy na co dzień. W ten sposób na przykład możemy uruchamiać aplikacje przeznaczone na MS-DOS w Windows Vista.

Bezawaryjność środowiska pracy

Dzięki tej technologii możemy maksymalnie ograniczyć awaryjność środowiska pracy. Maszyna wirtualna pracuje tylko z certyfikowanymi sterownikami oprogramowania, co uniemożliwia występowanie potencjalnych konfliktów pomiędzy warstwami - sprzętową, a systemu operacyjnego.

Konsolidacja usług serwerowych

Wiele korporacji wykorzystuje każdy z serwerów do obsługi innej usługi. Sprawia to, iż musimy inwestować w dodatkowy sprzęt i oprogramowanie. Konsolidacja serwerów sprawia, że na jednym urządzeniu możemy uruchomić kilka wirtualnych systemów operacyjnych, które dokładnie w ten sam sposób spełnią wyznaczone im zadanie, tak jakby były umieszczone na odrębnych fizycznych maszynach.

...oraz o wadach

Słaba wydajność wirtualnych maszyn

Niestety wirtualne środowiska pracy nie należą do najwydajniejszych. Spora część zasobów sprzętowych jest emulowana, a to niestety niesie ze sobą spadek wydajności. Uruchamiając dodatkowe systemy operacyjne zjawisko to przybiera na wielkości.

Wykorzystanie zasobów komputera będącego gospodarzem powoduje spadek wydajności

Wirtualna maszyna korzysta z mocy procesora oraz pamięci operacyjnej rzeczywistego komputera, więc "zabierając" te zasoby macierzystemu systemowi operacyjnego oczywiście wpływa to na spadek wydajności pracy z komputerem.

Duże wymagania stawiane komputerom

Wirtualizacja niesie ze sobą niemałe wymagania odnośnie sprzętu. Tak naprawdę określenie jakiego komputera potrzebujemy, żeby skorzystać z dobrodziejstw tej technologii zależy od tego, ile oraz jakie systemy operacyjne chcemy uruchamiać jednocześnie.

Co powinniśmy wiedzieć przed utworzeniem środowiska wirtualnego?

Jeśli chcemy zbudować wirtualne środowisko pracy to powinniśmy pamiętać o kilku rzeczach:

Określenie możliwości komputera

W pierwszym kroku powinniśmy zdecydować, jakie systemy operacyjne chcemy uruchamiać jako wirtualne maszyny, następnie na tej podstawie określamy możliwości komputera, który posiadamy, gdyż może okazać się, iż dysponujemy zbyt słabym sprzętem, który uniemożliwi wykorzystanie dodatkowych środowisk pracy.

Przykład: Posiadamy jednostkę wyposażoną w dwurdzeniowy procesor, 1 GB RAM i zainstalowany system Windows Vista. Minimalne wymagania, jakie stawia wspomniany OS odnośnie pamięci operacyjnej wynosi 512 MB. Chcemy zainstalować Windows XP SP2. Jako, że wirtualna maszyna korzysta z fizycznej pamięci komputera to pamiętajmy, aby za wiele jej nie przydzielić na potrzeby systemu gościa, gdyż odbije sie to poważnie na wydajności macierzystego środowiska pracy. W tym wypadku 256 MB będzie odpowiednią wartością.

Obecnie sprzedawane procesory są wyposażone w sprzętowe wspomaganie Wirtualizacji. Implementacja tej technologii pozwala w wydajniejszy sposób wykorzystać przydział zasobów mocy jednostki centralnej pomiędzy system będący hostem, a maszyną wirtualną. W procesorach Intel wyposażonych w to rozwiązanie jest to technologia Virtualization Technology (VT), natomiast produkty AMD oznakowane są logiem AMD-V. Dopiero posiadanie tego typu procesora umożliwia skorzystanie z dobrodziejstw tzw. pełnej wirtualizacji.

Wybór oprogramowania do Wirtualizacji

Jeśli uważamy, iż nasz komputer jest zdolny do pracy z wieloma systemami operacyjnymi jednocześnie to kolejnym krokiem, który podejmujemy jest wybór aplikacji, która umożliwi tworzenie wirtualnych maszyn i pracę z nimi. Przyjrzyjmy się bliżej propozycjom Microsoftu:

  • Microsoft Virtual PC 2007 - jest prostą aplikacją umożliwiającą tworzenie oraz dobór parametrów wirtualnej maszyny. Program nie posiada zbyt wielu opcji, lecz dla typowego użytkownika będzie idealnym wyborem. Jest prosty w użytkowaniu i łatwy w konfigurowaniu. Opis aplikacji odnajdziemy tutaj.
  • Microsoft Virtual Server 2005 R2 - zaawansowane narzędzie służące do wirtualizacji systemów operacyjnych i zdalnego zarządzania nimi. Ma większą funkcjonalność, aniżeli Microsoft Virtual PC 2007, jednakże jest trudniejszy w konfiguracji. Nie ma typowego, graficznego interfejsu użytkownika. Pracujemy z programem poprzez moduł w przeglądarce internetowej. Posiada jednakże oficjalne wsparcie dla systemów spod znaku pingwina. Test programu odnajdziemy tutaj.

I co dalej?

Gdy już zdecydujemy się na utworzenie wirtualnego środowiska pracy i dobraliśmy odpowiednie oprogramowanie do własnych potrzeb pozostaje już tylko proces budowania "virtual'a" i instalacja oprogramowania, o tym jednakże opowiemy w kolejnym artykule poświęconym zagadnieniu Wirtualizacji...

Podsumowanie

Zalet Wirtualizacji nie sposób nie dostrzec. Możliwości jakie niesie ze sobą ta technologia są ogromne. Obecnie sprzedawane komputery są już dosyć dobrze przygotowane (implementacja sprzętowej wirtualizacji w procesorach) do pracy z wirtualnymi maszynami. Technika ta dostępna do niedawna tylko dla wybranych, dziś jest praktycznie w zasięgu ręki każdego. Dysponując odpowiednim sprzętem możemy uruchamiać jednocześnie wiele środowisk pracy, płynnie się między nimi przełączając, bez potrzeby wylogowania się z jednego systemu i włączania drugiego.


Zobacz również:
Przegląd wirtualnych produktów Microsoftu

Test Virtual PC 2007
Tworzenie i konfiguracja wirtualnego środowiska pracy
Praca w wirtualnym środowisku

Test Microsoft Virtual Server 2005 R2
Tworzenie i konfiguracja wirtualnego środowiska pracy
Instalacja Linuksa w systemie Windows
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia