Draft startpost (WIP, tijdelijk plain layout):
VMware ESXi is een enterprise-class, type-1 hypervisor ontwikkeld door VMware voor het uitrollen en draaien van virtuele computers. Een type-1 hypervisor onderscheidt zich van een type-2 hypervisor door de plek van de hypervisor t.o.v. de hardware. Bij een type-1 hypervisor draait deze direct op de hardware en heeft dus rechtstreekse toegang tot de hardware. Bij een type-2 hypervisor (zoals. bijv. VMware Workstation) draait de hypervisor bovenop het onderliggende OS (bijv Windows). De toegang tot de hardware moet dan door het OS worden geregeld. Het mag vanzelfsprekend zijn dat een type-1 hypervisor sneller is dan een type-2 hypervisor, maar door de rechtstreekse toegang tot de hardware wel meer eisen hieraan stelt. Als type-1 hypervisor is ESXi dus geen software applicatie die men installeert in een besturingsysteem, maar bevat het onderdelen van een besturingssysteem zoals een kernel. Vmware ESXi is beschikbaar als gratis versie met bepaalde (enterprise) functies uitgeschakeld. De ondersteuning (
HCL wizard) van hardware is met name voor netwerk en storage wat beperkter dan we van besturingssystemen gewend zijn, maar voor sommige netwerkkaarten en AHCI controllers zijn er
community of 3rd party drivers beschikbaar.
HCL/Whitebox:
Als je ESXi thuis wilt gebruiken kun je een (micro)server kopen die
op de HCL staat, maar je kunt ook
onderdelen gebruiken die op de HCL staan, of die door anderen reeds getest zijn (eventueel met een
community driver) a.k.a een Whitebox.
Minimale benodigdheden
Om ESXi te kunnen draaien heb je een computer nodig met minimaal de volgende componenten cq specificaties:
- Processor: 64-bit processor, minstens 2 cores. Aangezien de "rule of thumb" is om 1 core vrij te houden voor de ESXi kernel zelf, is een 4-core processor toch eigenlijk wel het minimum om een beetje leuk met ESXi te kunnen experimenteren. Hyperthreading mag, dit wordt door VMware aanbevolen, maar is dus geen eis. Hyperthreading levert wel een tiental procent extra performance op. De processor moet tevens voorzien zijn van hardware virtualization support, bij Intel is dat VT-x, bij AMD RVI.
- Geheugen: VMware stelt 2GB RAM als minimum, maar als je rekent met 1GB voor ESXi zelf zal je merken dat 1GB vrij geheugen niet werkt. Gezien de lage prijzen voor geheugen is 8GB toch wel echt het benodigde werkbare minimum.
- Netwerk kaart: ESXi vereist een ondersteunde netwerkkaart om te kunnen werken. Zonder netwerkkaart zal ESXi niet eens installeren. Zie verderop over de ondersteunde netwerk kaarten.
- Storagecontroller: ESXi moet een ondersteunde storage controller aantreffen zodat je ESXi ergens kan installeren en virtuele machines kan opslaan. Aangezien ESXi een enterprise oplossing is zie je hier vaak iSCSI, Fibre Channel, SAS, FCoE controllers e.d. Gelukkig worden consumer like controllers zoals SATA en USB ook ondersteund, maar in beperkte mate.
- Videokaart: je hebt een videokaart nodig om op de ESXi console te kunnen kijken. Verder wordt de videokaart niet gebruikt. De meest eenvoudige videokaart zal dus volstaan. (uitzondering is als je video GPU's gaat doorzetten naar een VM, maar dat is een ander verhaal).
- Storage: ESXi vereist een boot device van minstens 1GB. Indien je ESXi op een USB stick zet, is het slimmer om voor 4GB te kiezen voor toekomstige upgrades en voor de scratch partitie. Voor je virtuele machines is de storage afhankelijk van hoeveel VM's je gaat aanmaken. Een gemiddelde Windows 10 VM kost je 30-40GB, daar komt nog storage bij voor memory en swap, zeg totaal 50GB. Gezien de lage prijzen van opslag is een 1TB disk aan te bevelen, of desnoods een kleinere SSD (voor super performance).
- BIOS: ESXi ondersteund zowel UEFI als Legacy BIOS mode.
Moederborden:
Aangezien VMware ESXi in oorsprong een enterprise oplossing is gericht op de zakelijke markt, is de support voor hardware ook daaraan gekoppeld. Aangezien het voor VMware onmogelijk is om voor elk product een driver te maken en deze te testen is de support op hardware beperkt tot "enterprise class" hardware, zoals servers, netwerkkaarten en storage. Alle ondersteunde hardware (o.a. processors, storage adapters, netwerkkaarten en complete systemen) heeft VMware ondergebracht in de Hardware Compatibility List (HCL). Hierop staat alle hardware waarvoor door VMware drivers zijn gemaakt, die is getest en goedgekeurd. Dat wil gelukkig niet zeggen dat consumer class hardware niet werkt. Zolang de consumer hardware maar gebruik maakt van componenten die ook in interprise class hardware gebruikt worden, is er een grote kans dat je consumer moederbord gewoon werkt. De laatste jaren zien we dat de het onderscheid tussen enterprise hardware en consumer hardware aan het verkleinen is. Op consumer moederborden kom je regelmatig (eenvoudigere) versies van enterprise producten tegen, zoals toegepaste chipsets, Intel NIC's, storage devices e.d. Met wat mazzel kom je dus wel een consumer bordje tegen dat zal werken. Dit is ook terug te vinden op internet bij de zgn whiteboxes.
Concreet: moederborden/systemen op de HCL werken 100% zeker, voor consumer moederborden hangt het af van de aanwezige hardware en ervaringen op internet en of de aanwezige componenten op het moederbord terug te vinden zijn op de HCL. Er zijn een aantal moederbord leveranciers die moederborden maken die op de HCL staan en ook voor consumenten te koop zijn, dit zijn o.a. :
- Supermicro
Er zijn ook uitzonderingen, moederborden waarbij de ACPI tables niet goed samenwerken met POSIX besturingssystemen (meestal DSDT->OSPM). Vaak worden deze bij veel klachten alsnog aangepast via een BIOS upgrade. Borden waarbij zelfs met de laatste BIOS problemen bekend zijn:
- Asrock B150, problemen met power management.
- Sommige Supermicro C612 borden, problemen met softwarematige shutdown.
- Sommige Asus C612 borden, problemen met ipmi module. (module uit te schakelen)
Ongeveer de helft van de socket 1151 moederborden hebben in elk geval één compatible SATA en één compatible netwerk controller.
Netwerk:
Alleen de volgende netwerk drivers zitten out of the box in ESXi:
- Broadcom NetXtreme (II)
- Cisco VIC Ethernet
- Emulex
- Intel 8254x, 8256x, 8257x, 8258x, 82598, 82599 (X520), X540, i210, i211, i217, i218, i219, i350, i354
- Mellanox
- NetXen
- nVidia CK804, MCP51/55/73/77/79
- QLogic
Er zijn
community drivers voor onder andere Intel (1000xx), Realtek (81xx/8411), Marvel (Yukon/SysKonnect/805x) en Artheros (L1/AR81xx) netwerkkaarten. Je hebt tenminste één netwerkkaart met driver nodig om te kunnen installeren, mocht je een custom driver nodig hebben
kun je die in de iso integreren.
[Teaming/Service Spreading]
Opslag:
Boot:
ESXi kan booten vanaf ATA/SATA/SAS/SCSI/NVMe zolang er een driver aanwezig is, mocht je een custom driver nodig hebben
kun je die in de iso integreren.
Naast reguliere storage devices kan er ook geboot worden via PXE, iSCSI, SAN, USB (OHCI/UHCI) of SD (EHCI/XHCI).
SATA:
Out of the box heeft ESXi een gefilterde generic AHCI driver waarbij het filter (etc/vmware/driver.map.d/ahci.map) de volgende controllers bevat:
- AMD FCH/SB7x0/SB8x0/SB9x0
- Apple AHCI PCIe SSD (Samsung based)
- Intel 5/6/7/8/1xx, Atom C2000/NM10, ICH 6/7/8/9/10, C20x/21x/22x/60x(X79)/61x(X99), 31/32/5400
- nVidia MCP78/MCP89
- ALi ULi M5288
- Unknown (1b62:2923, Toshiba/Sandisk based Apple AHCI PCIe SSD?)
- Samsung SM951 AHCI
Er is
een community driver die deze filterlijst uitbreid met bijvoorbeeld Marvell (88SE9xxx)/JMicron (JMB36x)/ASMedia (ASM106x) SATA controllers of je kunt de lijst zelf aanpassen in de tar file (/bootbank/sata_ahc.v00).
Verder zitten er in ESXI niet AHCI SATA drivers voor:
- Adaptec AAR-1210SA (Silicon Image)
- Apple
- nVidia CK804, MCP04/51/55/61/65/67, nForce2/3
- Promise 376/378/779/TX2(xxx)/TX4(xxx)
- Serverworks K2, Raidcore xC4000, HT1000, HT1100
- Silicon Image 3112, 3114, 3124, 3132, 3512, 3531
ATA:
Alleen AMD/ATI, Intel, Highpoint, Promise, Serverworks, Silicon Image en VIA PATA drivers zitten out of the box in ESXi. (Let op dat sommige SATA in IDE mode zijn!)
USB:
Standaard is USB alleen beschikbaar als boot device, maar als je het niet erg vind om USB passthrough op te offeren
kun je USB ook als datastore gebruiken.
SAS/SCSI/HW iSCSI:
Alleen Adaptec (+DEC, Dell en IBM), QLogic (iSCSI), Cisco (VIC FCoE), HP (Smart Array) en LSI (+veel subvendors) drivers zitten out of the box in ESXi.
NVMe:
Er zit een generic NVMe driver in ESXi, voor de Intel 750/P3500/P3600/P3700 kun je qua performance beter
de Intel VIB installeren.
Shared Storage:
Diverse InfiniBand, FCoE, FC, iSCSI HW adapters van Broadcom, Emulex, Intel, Mellanox en QLogic, hiernaast is het mogelijk om software iSCSI of NFS te gebruiken. Ook is het met de juiste licentie mogelijk om shared storage te virtualiseren met
VSAN.
[RDM]
I/O HW Virtualisatie:
Er zijn momenteel drie manieren om vanuit hardware I/O beschikbaar te maken voor een virtuele machine.
- IOMMU (Device -> 1 VM op dezelfde host)
- SR-IOV (Device -> n VM's op dezelfde host)
- MR-IOV (Device -> n VM's op n hosts)
Input/Output Memory Management Unit (IOMMU):
Met Intel® Virtualization Technology for Directed I/O (VT-d) of AMD I/O Virtualization Technology (IOMMU) kan er een DMA translation gedaan worden op chipset niveau waardoor er directe communicatie mogelijk is tussen het geheugen van één VM en een IO hub. Er zit dus geen software tussen, de hypervisor vraagt het alleen aan, maar doet zelf geen translation.
Een manier om dit te begrijpen is als een soort van VLAN voor IO devices per VM op PCIe niveau.
Om het te kunnen gebruiken moeten meerdere onderdelen het ondersteunen: Chipset, BIOS, CPU en je PCI(e) device moet te resetten (flr, d3d0, link, bridge of default) zijn. Op socket 1151 en 2011 ondersteunen alle chipsets, BIOS-en en CPU's VT-d.
IOMMU wordt meestal gebruikt om VM's directe toegang te geven tot storage controllers (bijvoorbeeld voor ZFS), USB hubs of GPU's. ESXi heeft een filterlijst (/etc/vmware/passthru.map) met devices die doorgegeven kunnen worden, deze is aan te passen met bijvoorbeeld een
Intel SATA controller. Mocht het een storage controller zijn dan mag het niet je bootdevice en er geen datastores op staan om hem door te kunnen geven.
Single-Root I/O Virtualization (SR-IOV):
Met SR-IOV kan een device zich voor doen als meerdere identieke 'devices' (maximaal 256 Virtual Functions). SR-IOV vereist ondersteuning in BIOS, hypervisor en een beschikbare client driver voor het guest OS. ESXi heeft momenteel alleen ondersteuning voor AMD MxGPU en netwerkkaarten met SR-IOV (inclusief HW virtual switching in de NIC). Nesting is niet mogelijk omdat er geen client drivers in ESXi zitten.
SR-IOV wordt ook voor storage gebruikt, maar nog niet met ESXi.
Multi-Root I/O Virtualization (MR-IOV):
MR-IOV is gelijk aan SR-IOV maar kan dan via 'external' PCIe met meerdere hosts communiceren, dit zie je vooral in blades. ESXi heeft nog geen ondersteuning voor MR-IOV.
Graphics:
Soft3D is een software GPU (emulatie op de CPU). Mocht dit niet voldoende zijn dan zijn er drie manieren om hardware graphics te gebruiken:
vDGA (Passthrough met VT-d/IOMMU):
Hiermee geef je één GPU direct door naar één virtual machine, alles wat op de kaart zit is beschikbaar voor de VM (ook de outputs zoals HDMI), de standaard vendor driver installeer je alleen in de VM. vDGA is mogelijk met:
- AMD
- Bepaalde nVidia Quadro's:
- [list]
- 1000M, 3000M, 5000
- K2000/K4000/K5000/K6000
- K3100M
- K2200/K4200/K5200
- [/list]
- nVidia Grid K1/K2 of Tesla M6/M60
- Intel Xeon E3's v3 Haswell met P4700 of v4 Broadwell met P6300. (GVT-d)
vSGA:
vSGA is een software GPU (installeer je in de VM's) die API calls doorstuurt naar de kaart die een driver in de hypervisor heeft. vSGA is mogelijk met nVidia Grid K1/K2 of Tesla M6/M60 kaarten, Intel P4700/P6300 (
GVT-s) en AMD FirePro s7000/w7000/s9000/s9050.
vGPU/MxGPU/GVT-g:
Het delen van GPU's met meerdere virtuele machines.
vGPU is een nVidia software driver in de VM en hypervisor die samen werken. Het verdelen van de GPU resources gebeurd in de hypervisor driver en de VM driver kan daar direct mee communiceren. vGPU is mogelijk met nVidia Grid K1/K2 of Tesla M6/M60 kaarten.
AMD's Multi User GPU werkt net iets anders en lost het verdelen van de resources in de hardware (SR-IOV, Single Root I/O Virtualization) op. In de praktijk werkt het hetzelfde, alleen is het nog niet mogelijk dit grafisch te configureren (commandline). MxGPU is mogelijk met AMD FirePro™ S7150 (X2).
Intel's GVT-g met P6300 is nog niet mogelijk met ESXi.
[licenties(free/
vmug/commercial]
[meerdere hosts]
[remote management]
[sample builds (mini, small, medium, large, extra large)]
[installatie]
[virtual networking]
[virtual storage]
[guest optimalisatie]
[
Voor 237% gewijzigd door
Microkid op 17-08-2016 17:34
]