Bevezetés
Az első találkozásom nagyon régen volt a VMware alkalmazással, magával a virtualizációval, amikor is különböző Linux disztribúciókat szerettem volna kipróbálni az éles rendszerem megváltoztatása nélkül.
Ezek az élmények nem voltak túl szépek, az akkor számomra elérhető konfigurációval meglehetősen lassan működött a dolog.
Adott volt a motiváció, mivel volt több olyan álláslehetőség is, ahol VMware Cluster-eket is kellett volna üzemeltetni, és nyilván olyan embereket kerestek, akik értenek hozzá, mert éles környezetben nincs idő teljesen megtanulni a nulláról.
Pár éve egyszer már nekifutottam az ESXi, VMware rendszerekkel való ismerkedésnek. Aztán jött a felismerés, hogy ez azért nem is olyan egyszerű, mivel a támogatott hardver elemek listája elég gyakran nincs összhangban az „otthoni pc-ben” lévő hardver elemekkel.
A mostani próbálkozások is érdekesen kezdődtek, mivel két különböző eszközön is ugyanazokba az alap problémákba ütköztem.
Hirdetés
Út a nested virtualizációhoz
Nagyon korlátozott a hardver elemek támogatása, nem egyszerű otthoni környezetben életre kelteni. Alapból a komolyabb szerverekkel, és bennük lévő hardver elemekkel kompatibilis.
Nagyon sok régebbi hardver elem támogatását dobták a 7-es verzióval. Nem csak LAN, hanem storage eszközök szintjén is. (Rengeteg AHCI, NVMe vezérlő esett ki)
Gond lehet még egyes újabb architektúrák miatt is, amibe én bele is futottam. A P/E CPU magok miatt egy ellenőrzés hibára fut, és el sem indul alapból. (itt nem BSOD, hanem PSOD van)
12th Gen Intel CPU esetén a megoldás:
Indításkor meg kell adni a cpuUniformityHardCheckPanic=FALSE
kernel opciót. (SHIFT + O)
Amikor pedig már fut a rendszer SSH-n:
esxcli system settings kernel set -s cpuUniformityHardCheckPanic -v FALSE
Az egyik alapvető legfontosabb dolog, ami szükséges a működéséhez az egy kompatibilis hálózati kártya. Leginkább Intel, és Broadcom chipset alapú LAN eszközök vannak a támogatási listán. (Persze a hétköznapi integrált eszközök nagy része valamilyen Realtek alapú eszköz, amit itt el is lehet felejteni.
Ezen a linken lehet pontosan keresni nem csak pontos szerver típusokra, hanem hardver elemekre is.
Amit tudok javasolni, ha valaki próbálkozna, teljes mértékben támogatott az Intel 82574L chipset. Ezek azért még emberi áron beszerezhetők, azért élőben megcsinálni dolgokat, vagy megnézni egy videón kicsit más.
Én ezt használtam: 10Gtek®-EXPI9301CT-Controller (82574L)
Otthoni teszt környezethez szerintem bőven jó.
A következő buktató a tárhely volt. Mivel kevés „hétköznapi, alap otthoni” chipset támogatott, ha nincs szerencséd, elindul a rendszer, de nem fog semmilyen tárhelyet látni, mivel nem fogja tudni kezelni az alaplapodon lévő AHCI / NVMe vezérlőt.
Erre több megoldás is van:
- Külső USB Drive / Pendrive
- iSCSI megosztás
- NFS megosztás
- vSAN storage
Nálam az iSCSI lett a befutó megoldás. Egy Windows Server 2019-et használtam a megvalósításhoz.
Itt már eljutottam arra a pontra, hogy tudtam egy alap ESXi-vel ismerkedni, viszont minden más komolyabb dolog kipróbálásához több ESXi hostra volt szükségem.
Itt jött a képbe a Nested virtualizáció, mint lehetséges opció.
Nested virtualizáció
A legegyszerűbb, és szerintem legjobb megoldás egy jól használható teszt környezet kialakításához megfelelően erős hardver komponensek esetén a Nested virtualizáció.
VMware Workstation-ben is lehet ESXi hostokat futtatni. Nested virtualizációs technikával élő környezetben ilyet nyilván nem csinálunk, de gyakorlatozni több, mint jó.
Itt már nem feltétlenül kell kompatibilis hálózati kártyával sem rendelkeznünk, mivel a VMware Workstation tudja többféle módon is kezelni a hivatalosan nem támogatott hálózati eszközeinket is, és ezt már képes kezelni az ESXi-is.
Többféle mód is rendelkezésre áll:
Egyszerűen megoldódik a tárhely probléma is, mivel a fizikailag nem támogatott AHCI/NVMe vezérlőn létrehozott virtuális tároló eszközöket már hiba nélkül felismeri a rendszer, és képes kezelni is.
Jelen esetben is rendelkezésünkre áll pl. a Snapshot kezelés lehetősége is, ami nagyban meg tudja könnyíteni a gyakorlatozást, hiszen pillanatok alatt visszatérhetünk egy alap telepítéshez.
Ez leginkább Cluster-es dolgok tesztelésénél fog nagyon jól jönni. Innentől kezdve pedig adott a lehetőség több ESXi host létrehozásához.
Virtutalizáció, VMware alapok
A virtualizáció legfőbb célja a rendelkezésre álló erőforrások kihasználásának maximalizálása, főleg a mai világban, amikor ugrásszerűen emelkednek az elérhető CPU magok, és azok teljesítménye.
Legfőbb előnyei:
- egyszerű migráció / flexibilis környezet
- erőforrások maximális kihasználása
- erőforrások egyszerű átcsoportosítása, módosítása (pl. CPU, RAM, Storage)
- terhelés elosztás
- biztonságos izoláció
- snapshot kezelés
- clusterek kialakítása
Nagyon szuper lehetőség különböző rendszerek tanulásához, teszteléséhez, hogy egyszerre egy időben akár több különböző operációs rendszert is tudunk futtatni, és mindezt elfogadható sebességgel.
Ezektől függetlenül a fő potenciál a szerverek esetében érhető tetten. Hatalmas előrelépés ez, hiszen nem szükséges minden adott dedikált feladatra külön fizikai gép beállítása.
Egy adott szerver funkciót el tudunk különíteni akár külön virtuális gépekre is, aminél külön erőforrás managementet is csinálhatunk.
Type 1 virtualizáció (Bare Metal)
A hypervisor közvetlenül a hardveren fut, a virtuális gép erőforrásainak biztosításával.
Type2 virtualizáció (Hosted)
A hypervisor a host operációs rendszeren fut.
Nested virtualizáció
A beágyazott virtualizálás egy olyan funkció, amely lehetővé teszi pl. egy ESXi host virtuális gépen való futtatását. Más szóval a beágyazott virtualizálással maga az ESXi is virtualizálható.
Hypervisor
A hypervisor olyan szoftver, ami virtuális számítógépek futtatását végzi.
ESXi
Maga a hypervisor. Futhat Type1, és Type2 rendszerként is Nested virtualizációban. Ingyenesen használható, regisztráció után licensz igényelhető hozzá a VMware oldalán.
vSphere
Minden komolyabb funkcióhoz szükség van rá, tulajdonképpen egy Appliance, amit egy már létező ESXi host-ra lehet deploy-olni. Fizetős, 60 napos próbaverzió elérhető, a lehetőségek kipróbálásához beállítások gyakorlásához teljesen jó.
SAN
A Storage Area Network, azaz a tárolóhálózat, tároló alrendszerekből és hozzájuk tartozó hálózati infrastruktúrából áll.
A tároló eszközök általában valamilyen gyors hálózati kapcsolaton keresztül, jellemzően legalább 10 Gbit-es kapcsolaton csatlakoznak egymáshoz, és az azokat közös megosztott tárhelyként használó eszközökhöz.
Megfelelő sebességű infrastruktúra esetén ez rengeteg előnnyel jár, amit pl. a vMotion, vagy DRS segítségével ki is tudunk használni.
Itt is hatalmas előny, hogy az adattárolókat teljes méretükben ki tudjuk használni, nincs veszteség a tárolókapacitásból.
A vSphere főbb funkciói
A fontosabb lehetőségek:
- Cluster építés
- vSAN Cluster építés
- vSphere High Availability
- VMware vSphere® Distributed Resource Schedule (DRS)
- Fault Tolerance kialakítás
- vMotion
- Template kezelés
A továbbiakban bemutatom egy általam készített teszt környezet vázlatát, és ezekben megvalósított pár rövid alap funkció bemutatását.
Nem fogok kitérni a lehetőségek részletes ismertetésére, sem ESXi host-ok telepítésére sem, ez igazából csak pár rövid demonstrációs videó lesz az alap lehetőségek bemutatására, kedvcsinálónak.
Nagyon szuper a VMware hivatalos dokumentációja, és rengeteg oktató anyag is található a témakörben akár a YouTube-on is.
A saját teszt környezet
Ez az alap teszt környezet nélkülöz minden éles környezetben alapvetően szükséges dolgot, pl. hálózati redundancia, a Single Point of Failure típusú hibák kizárásához.
1. Notebook (AMD Ryzen 7 4800h, 16GB RAM) Nested ESXi 7.03 (192.168.1.250)
2. Asztali (Intel i5-12600KF, 64GB RAM)
Az asztali gépen Nested virtualizációban futnak az ESXi host-ok.
esxi-01.bryan86.cloud (192.168.1.251)
esxi-02.bryan86.cloud (192.168.1.252)
esxi-03.bryan86.cloud (192.168.1.253)
A vSphere a notebook-on lévő ESXi host-on fut. (192.168.1.254)
Ennek alapja a vCenter Appliance, ami tulajdonképpen egy virtuális gép Nested virtualizációval, ami a gépen lévő ESXi host-on fut.
A vCenter Appliance a 5480-as porton érhető el alapból, SSH elérés is lehetséges hozzá. (be kell kapcsolni, alapból tiltva van)
iSCSI, és DNS szerver egy Windows Server 2019 VM-en. (Az asztali gépen) (192.168.1.40)
Tárhelyre a korábban már említett iSCSI, és később egy saját vSAN Cluster lett használva. A funkciók rendes, életszerű működéséhez szükséges a SAN rendszerű látásmód, megközelítés, ezt javaslom mindenkinek.