Instruktor: Kiedy przychodzi
czas na instalację i konfigurację maszyn wirtualnych
podczas korzystania z wirtualizacji, ważne
jest, aby zrozumieć różne wymagania
dotyczące zasobów, które istnieją.
Jeśli chodzi o wymagania dotyczące
zasobów, skupiamy się na czterech głównych obszarach.
Procesor i jego rozszerzenia wirtualizacyjne,
pamięć systemowa, pamięć masowa i sieć.
Przyjrzyjmy się każdemu z nich.
Po pierwsze, mamy procesor i jego rozszerzenia wirtualizacyjne.
Teraz, gdy mówimy o procesorach,
każdy producent, taki jak Intel i AMD, wykorzystuje
inną technologię do wirtualizacji.
Jeśli korzystasz z chipów opartych
na procesorach Intel, będziesz szukał VT-x, czyli
technologii wirtualizacji, która
jest skrótem od VT.
Jeśli korzystasz z procesora
AMD, ich rozszerzenie wirtualizacji nazywa się
AMD-V dla wirtualizacji AMD.
Niezależnie od tego, czy korzystasz z hostowanego
hiperwizora, czy hiperwizora bare
metal, oba z nich uzyskają znaczny wzrost wydajności, jeśli
masz procesor obsługujący wirtualizację.
Niektóre programy do wirtualizacji
nie wymagają, aby procesor
miał włączoną obsługę wirtualizacji.
Ale jeśli nie masz włączonej wirtualizacji
jako rozszerzenia procesora,
znacznie spowolni to twoją wydajność.
I będziesz mieć bardzo bezużyteczną maszynę wirtualną, jeśli
chodzi o wykonywanie prawdziwej pracy produkcyjnej.
Teraz, jeśli procesor obsługuje wirtualizację,
a większość nowoczesnych procesorów obsługuje,
będziesz musiał przejść do BIOS-u lub UEFI,
aby móc włączyć te rozszerzenia wirtualizacji.
Zwykle, jeśli spróbujesz zainstalować
maszynę wirtualną w czymś
takim jak VirtualBox lub VMware, a nie
wykryje ona, że wirtualizacja
jest włączona, wyświetli komunikat o błędzie informujący,
że musisz włączyć VT-x lub AMD-V.
Oprócz tych dwóch rozszerzeń
technologii wirtualizacji istnieje
jeszcze jedno o nazwie SLAT, która oznacza translację
adresów drugiego poziomu.
Jest to funkcja procesora w wielu
nowoczesnych procesorach, która
pomaga poprawić wydajność
pamięci wirtualnej podczas uruchamiania
wielu maszyn wirtualnych
na jednym hoście fizycznym.
Jeśli korzystasz z procesora
Intel, SLAT nazywany jest EPT, czyli rozszerzoną
tabelą stron.
Jeśli korzystasz z procesora
AMD, SLAT nazywany jest RVI, czyli szybkim
indeksowaniem wirtualizacji.
Tak czy inaczej, jeśli widzisz termin SLAT, EPT lub RVI, tak naprawdę mówisz o możliwości
dostępu do pamięci wirtualnej
w szybszy sposób i możliwości uzyskania lepszej
wydajności z procesora.
Aby móc korzystać z tych
rozszerzeń, procesor
musi je obsługiwać.
Teraz, oprócz omówienia
rozszerzeń wirtualizacji wewnątrz
naszych procesorów i procesorów, chcemy
również porozmawiać o samych procesorach.
Jeśli chcesz mieć bardzo wydajną maszynę,
gdy masz do czynienia z wirtualizacją,
będziesz chciał poszukać
procesora, który obsługuje wielordzeniowy hyper
threading lub wiele fizycznych procesorów w danym systemie.
Posiadanie dodatkowych rdzeni oznacza
dodatkowe możliwości przetwarzania.
Jeśli masz wiele procesorów, oznacza
to, że masz dwa lub więcej fizycznych procesorów zainstalowanych
na tej płycie głównej.
Teraz jest to dość rzadkie,
chyba że korzystasz z technologii serwerowej, ale
na komputerze stacjonarnym w domu lub laptopie
częściej znajdziesz wielordzeniowy
lub hiperwątkowy procesor, który zapewnia
wirtualne rdzenie.
W ten sposób można dodatkowo przypisać
procesory do poszczególnych maszyn wirtualnych z uruchomionymi systemami
operacyjnymi gościa, zapewniając im
bardziej dedykowane zasoby, które zwiększą
ich wydajność.
Jeszcze jedna uwaga, jeśli
chodzi o procesory, pamiętaj,
że procesory są naprawdę dostępne w trzech
różnych mechanizmach, które można
obecnie znaleźć na rynku.
Pierwszym z nich jest stara szkoła x86.
Mówiąc o procesorach opartych na architekturze
x86, mamy na myśli procesory 32-bitowe.
Oznacza to, że zdolność systemu do korzystania
z innych rzeczy będzie znacznie ograniczona.
Ponieważ w przypadku
32-bitowego systemu operacyjnego można
uzyskać dostęp tylko do czterech gigabajtów pamięci RAM,
co jest bardzo małą ilością,
gdy chce się hostować wiele
maszyn wirtualnych na jednym
serwerze fizycznym.
Zamiast tego lepiej jest uruchomić podstawowy procesor x64, który
zapewnia dostęp do maksymalnie 16 eksabajtów pamięci
RAM dla danego systemu, w zależności od tego,
czy podstawowy system operacyjny hosta
będzie to obsługiwał.
Te 16 eksabajtów w porównaniu
do czterech gigabajtów oznacza,
że mamy ponad 4 miliardy razy więcej dostępnej pamięci RAM,
jeśli korzystamy z procesora x64.
Teraz, jeśli używasz 64-bitowego procesora,
nadal możesz uruchamiać 32-bitowe programy
i 32-bitowe systemy operacyjne jako
systemy operacyjne gościa na tym fizycznym serwerze,
jeśli chcesz.
Prawdziwym ograniczeniem
jest jednak to, że jeśli masz 32-bitowy procesor,
nie możesz uruchamiać 64-bitowych aplikacji lub 64-bitowych
systemów operacyjnych jako maszyn wirtualnych
w systemie operacyjnym gościa.
Ponownie, lepiej więc wybrać
procesor oparty na architekturze x64.
Trzecim typem procesora, na który
można się natknąć, jest tak zwany ARM.
ARM to architektura komputerowa o zredukowanym
zestawie instrukcji dla procesora
komputera.
Gdzie w dzisiejszych czasach
można natknąć się na procesory ARM?
Cóż, jeśli korzystasz z dowolnego nowoczesnego komputera
Mac, wszystkie one wykorzystują procesory ARM.
Jest to ważne, ponieważ jeśli korzystasz
z jednego z nowoczesnych systemów, takich jak MacBook
Pro lub jeden z nowych
iMACów z jednym z procesorów M1 lub M2, wszystkie one są oparte na
architekturze ARM.
A ponieważ są one oparte na ARM,
nie mogą natywnie hostować systemów operacyjnych gościa,
które nie działają na ARM.
Ponieważ musi nastąpić tłumaczenie.
Na przykład, jeśli kupisz komputer Mac lub MacBook
Pro z procesorem M1 lub M1 Pro, będzie to procesor oparty
na architekturze ARM.
A jeśli spróbujesz zainstalować Windows
11 lub Windows 10 w systemie operacyjnym gościa,
a są to wersje systemu operacyjnego oparte na x86 lub x64, nie będą one działać
i pojawią się błędy.
Jeśli więc używasz procesora opartego na
architekturze ARM w swoim systemie
fizycznym, na którym będziesz
hostować różne maszyny wirtualne, znacznie
ograniczy to wybór systemów operacyjnych
gościa, ponieważ nie wszystkie systemy operacyjne mają wersję opartą na architekturze
ARM.
W momencie pisania tego filmu,
Windows 11 jest obecnie tworzony w wersji
dla procesorów opartych na architekturze ARM
i będą one działać na tych układach ARM.
Istnieją również wersje Linuksa
oparte na ARM, które można uruchomić
na MacBooku lub innym procesorze opartym na ARM.
Chciałem jednak zwrócić na
to uwagę, ponieważ jest to ograniczenie,
na które można się natknąć.
Drugim obszarem, który
musimy omówić pod względem zasobów,
jest pamięć systemowa.
Kiedy mówimy o pamięci systemowej,
tak naprawdę mówimy o ilości
pamięci fizycznej zainstalowanej w
fizycznym serwerze lub stacji roboczej, która
działa jako system operacyjny hosta.
Na przykład, jeśli mam osiem gigabajtów, 16 gigabajtów
lub 32 gigabajty, więcej jest zawsze lepsze, jeśli chodzi o hostowanie
maszyn wirtualnych, ponieważ
jeśli mam tylko osiem gigabajtów
pamięci RAM na moim laptopie, na przykład, i
chcę uruchomić cztery różne systemy operacyjne
gościa, cóż, jeśli każdy z nich zajmuje dwa gigabajty pamięci
RAM, to już wykorzystałem całą moją pamięć fizyczną, a to nie pozostawiło żadnego dla mojego bazowego systemu
operacyjnego hosta.
Aby spojrzeć na to z innej perspektywy,
jeśli używasz czegoś takiego jak Mac OS, zajmuje
to około ośmiu gigabajtów pamięci tylko po to, aby uruchomić
Maca i być w stanie zrobić
to, co musi.
Jeśli korzystasz z komputera z systemem
Windows, zazwyczaj potrzeba około czterech gigabajtów, aby móc
wystarczająco uruchomić system Windows jako system
operacyjny hosta.
Jeśli więc masz osiem gigabajtów i chcesz
uruchomić system Windows
11 jako gościa na hoście z systemem Windows 10, zajmie
to cztery plus cztery lub wszystkie
osiem gigabajtów pamięci.
Ponownie, mówiąc o zasobach, naprawdę chcesz
sprawdzić, ile pamięci
możesz przeznaczyć na te systemy operacyjne
gościa, a im więcej masz pamięci
fizycznej, tym więcej będziesz
w stanie zrobić.
Kolejną kwestią związaną z zasobami jest pamięć masowa.
I mówimy o tym, gdzie zamierzasz przechowywać wszystkie
te obrazy maszyn wirtualnych.
Należy pamiętać, że wszystkie maszyny wirtualne,
które tworzymy wraz z ich systemami operacyjnymi gościa,
będą zajmować przestrzeń dyskową na serwerze fizycznym.
Jeśli więc masz laptopa,
który ma tylko 256 gigabajtów miejsca i chcesz
zainstalować na nim system
operacyjny gościa Windows 10, prawdopodobnie
zajmie to około 50
gigabajtów miejsca.
Wykorzystałeś więc jedną piątą
całego dysku twardego na
ten jeden obraz maszyny wirtualnej.
Teraz, jeśli miałeś trzy lub cztery
różne kopie, zajmowałeś trzy
lub cztery razy 50, co teraz
wynosi od 150 do 200 gigabajtów, czyli
prawie cały dysk.
Pamięć masowa staje się więc czymś,
czego naprawdę trzeba być świadomym.
Zazwyczaj instalacja systemu Windows
zajmuje około 20 gigabajtów
miejsca, ale warto wykorzystać prawdopodobnie
40 lub 50, ponieważ potrzebne jest dodatkowe miejsce
do przechowywania plików, instalowania aplikacji i tym
podobnych rzeczy.
Jeśli używasz Linuksa, generalnie są
one znacznie lżejsze i możesz znaleźć
większość dystrybucji, które zainstalują
się na około czterech do ośmiu gigabajtów miejsca, co
jest znacznie mniej niż Windows.
Jeśli masz do czynienia ze środowiskiem
Mac jako systemem operacyjnym
gościa, zajmuje to zwykle około
20 do 40 gigabajtów miejsca.
Warto więc mieć to na
uwadze, a jeśli ilość miejsca
na dysku urządzenia fizycznego jest
bardzo ograniczona,
warto ją zwiększyć.
W ten sposób można hostować więcej gościnnych systemów
operacyjnych na tym samym serwerze fizycznym.
Ostatnim obszarem, który musimy wziąć pod uwagę, jest networking.
Wynika to z faktu, że hiperwizor działający
w systemie operacyjnym hosta będzie tworzył wirtualne
środowisko sieciowe dla wszystkich innych maszyn
wirtualnych, które są hostowane
w tym systemie w celu komunikacji.
Ale jeśli wszystkie chcą połączyć się z Internetem
lub siecią lokalną w celu pobrania plików, wszystkie robią
to za pośrednictwem
tej samej karty interfejsu sieciowego na urządzeniu
fizycznym.
Jeśli więc korzystasz ze starszej karty sieciowej,
która działa tylko z prędkością stu megabitów na sekundę
i uruchamiasz na tym serwerze pięć maszyn wirtualnych, każda
z nich efektywnie otrzymuje tylko
20 megabitów na sekundę.
W takim przypadku zdecydowanie
warto zaktualizować kartę sieciową na
serwerze fizycznym,
który hostuje tych gości
i zainstalować gigabitową kartę sieciową
lub nawet 10-gigabitową kartę sieciową, jeśli hostujesz
wiele maszyn wirtualnych.
Pozwoli to uzyskać dodatkową przepustowość
i przepustowość, aby móc hostować
wszystkie te maszyny wirtualne
bez spowalniania sieci.
Oprócz tego, jak dowiesz się później
podczas studiów sieciowych, możesz
także umieścić wiele kart interfejsów sieciowych
i umieścić je w tak zwanej
konfiguracji zespołowej.
Pozwala to na współpracę wielu kart w tandemie,
aby zapewnić wyższe prędkości.
Jeśli więc masz dwie karty sieciowe o przepustowości jednego
gigabita i pracują one w zespole,
masz teraz dwa gigabity przepustowości,
których możesz użyć do połączenia
z siecią.
Często, jeśli pracujesz na serwerze,
który obsługuje wiele maszyn wirtualnych w
środowisku korporacyjnym lub korporacyjnym, zobaczysz,
że będą one miały do czterech
kart interfejsu sieciowego, wszystkie pracujące w zespole, dzięki czemu
mogą uzyskać do czterech gigabitów na sekundę lub nawet do
40 gigabitów na sekundę.
Jeśli na danym serwerze używane są karty sieciowe
o przepustowości 10 gigabitów na sekundę.
Pamiętaj więc, że jeśli chodzi o wymagania dotyczące
zasobów, ważne jest, aby wziąć pod uwagę procesor
i jego możliwości, a także ilość posiadanej pamięci,
ilość pamięci masowej i ilość sieci.
Wszystkie te cztery obszary należy wziąć pod uwagę.
Podczas podejmowania decyzji o liczbie maszyn
wirtualnych, które można hostować na danym serwerze lub stacji roboczej,
a także o tym, jak można zwiększyć wydajność
tych systemów operacyjnych gościa, które są uruchamiane wewnątrz
maszyn wirtualnych na tym konkretnym hiperwizorze.