Waarom thuis virtualisatie?
Reden om thuis te virtualiseren zijn:
- Diensten die je draait op je main machine te verplaatsen naar een server. Immers je Desktop/ laptop staat niet altijd aan en het is soms is je main desktop zo'n monster dat je super klant word bij je Energie leverancier (met hoge rekening erbij)
- Je wilt niet 3 tot 4 extra "servers" thuis hebben (of je hebt ze juist al)
- je "test" graag software dat wil zeggen lange of korte termijn en je wilt je eigen desktop niet "vervuilen"
- complex of makkelijke netwerk simulaties.
- Energie en milieu besparend bezig zijn
Ik heb nu voor de 2de maal thuis ge-gevirtualiseerd.
De eerste was 4 jaar terug. op ESX 3.0 (later 3.5 en 4.0)
Nu werd het tijd voor een nieuwe PC
Wat heb je nodig?
- Server hardware
- Hypervisor (software voor de VM/Guest/ oftewel de hoofd server)
- Nas (optioneel)
Kan je met elke hardware
Virtualiseren?
Ja dat kan, met een dikke
Maar erbij...
USB, Beeld en geluid kan je in principe vergeten. Hiermee wil ik zeggen dat even iets op een USB stick rammen of een HTPC server gaat hem in principe niet worden of even hardware aanpassen.
Hoewel tegenwoordig steeds meer mogelijk word
Gezien dat we praten over
thuisvirtualisatie en niet Bedrijfsleven spits ik het niet op dure hardware hoewel je doel dat soms wel nodig heeft.
Live migratie/ High Availablity
Dit is een leuke manier van zeggen "gaat 1 server plat voor onderhoud/hardware falen" verplaatst alles automagisch naar de andere host
- Geen "passthrough" moet ingesteld staan
- Virtual Machine (OS en andere) Disk mag niet lokaal op de Hypervisor machine (nas dus)
- Hardware van hosts moet identiek zijn (cpu en mobo)
Wat is nu een Hypervisor?
Eigenlijk is het de communicatie (onzichtbare) laag tussen de hardware en het gewenste "gasten" Operating systemen.
Het stelt je in staat meerdere keren een "server" of "workstation" te installeren zonder dualboot of andere lastige instellingen.
Nadeel is vaak je kan niet even de server aan/uit zetten of USB stickie in raggen (passthrough techniek lost dit gedeeltelijk op)
Monitoring en onderzoek
Echt ik kan er niet genoeg op hameren dat je goed verdiepen in de hardware die je koopt of hebt al zeer belangrijk is.
Installatie van je hele setup wil je graag monitoren.
Dit omdat je op dit moment het meest je systeem zal "belasten" en je wilt graag weten wat de gehele performance is, van alle componenten.
(ps als iemand een goeie "makkelijke" gratis monitoring tool die ik op mijn desktop (windows of linux) kan installeren (snmp)
- Whatsup gold bv
- Nagios word "teveel" instel werk. (houd het snel en simpel aub)
Paar voorbeelden die ik zelf meegemaakt heb: (verleden en heden)
- van PCIe naar PCI controller omdat Hypervisor (ESXi 3.5) de hardware niet slikt
- Hardware RAID controller dood (dag data, veel rescue tools geprobeerd inclusief live cd's)
- Trage NAS (te overhaastig gekocht)
- performance boosts (goed onderzoek doen van wat wel/wat niet aan of uit (best praktische guide(s))
- netwerkkaart die "corrupt" is dus data gewoon corrupt maakt. (ja over tcp/ip) dit zag ik toevallig aan foto's die opeens veel fouten bevatten.
De hardware
Doe eerst onderzoek ! voor wat je wil bereiken dit bepaald je hardware + hypervisor
Zo heeft ESXi een Hardware Compliancy List (HCL) en er zijn sites die rapporteren welke "hardware" ook werkt. (white box machines)
Zo moest ik voor ESXi 3.5 een PCI satacontroler van promise hebben en dus geen PCIe bussnelheden
Ook netwerk kaartjes van Realtek,Broadcom of Marvel zijn niet goed ondersteund.
Meer RAM is beter, zoek uit hoeveel RAM je moederbord aankan en prop het vol!
CPU is vaak wat ondergeschik hieraan
Storage
Bij voorkeur is het beter "intern" ipv extern opslag te kiezen. Intern heeft als voordeel dat het iets rapper is omdat het "lokaal" gaat.
Ik vermijd bij voorkeur hardware RAID oplossingen (of gedeelde moederbord/OS RAID) maar ga voor complete software RAID omdat dit vaak in 1 op 1 met een liveCD te benaderen valt als de Host van de NAS / hypervisor omvalt. (hardware falen) of je moet een dure "replacement" op de plank hebben liggen met de laatste firmware van je raidcontroller die je in je systeem had. (vaak genoeg meegemaakt dat hardware raid omvalt en data ook "foetsie" is.)
Een externe NAS (zelfbouw of niet) moet Iscsi of NFS ondersteunen erg handig.
- FreeNAS of ZFSguru (zogeheten NAS on a stick) zijn voor zelfbouw nas aan te raden.
Let bij kant en klare NAS vooral op snelheid, zo was mijn QNAP met ARM CPU zo traag dat ik hem weer verkocht heb. (20MB/s)
http://smallnetbuilder.com is leuke vergelijkings site als je kant en klaar wilt kopen. Zie daar de charts voor vergelijkings materiaal.
O voor ik het vergeet, je storage door een benchmark halen is altijd handig
Overgens NAS is handig en wenselijk als je 2x een "hypervisor" wilt hebben.
Mijn ESXI 3.5 en nu 4.x is net overleden (disk) en had helaas geen software raid erop draaien dus weg Servers (boeiend) data staat op nas. (was via ISCSI gemount)
O over Solid State Drive(s) onder andere USB
"caching" op een SSD is wellicht een handig idee, maar Multi Level Cel disks zijn redelijk duur en tenzij iemand me anders verteld
Je sloopt binnen rekord tijd de disk omdat deze niet voor "caching" doeleinden zijn bedoelt. dus je zoekt SingleCell Disk?
Raid0 zou je wellicht willen doen om "size" maar doe maar niet de techniek is nog niet zo ver.
Ik zou SSD aanraden om snel een aantal "hosts" in de lucht te trappen o.a je hypervisor. USB als goedkoper alternatief.
Passthrough van hardware
Nu ik het zelf werkend heb met Xen 4.1 ben ik er zeer enthousiast over.
bedenk 3 workstations (eigenlijk 2 + Xen Console) + servers die op 1 bak draaien.
In theorie geen last van "netwerk limitatie" maar moederbord bus limitatie en HD aanvoersnelheid.
- VGA (Xen 4.x only)
- PCI en PCI hardware (inclusief controllers op je moederbord zoals SATA en USB)
Enige nadeel je moet X aantal MB/GB ram aan je Virtual Machine afstaan en kan je niet aan andere hosts "commiten"
Maar wil jij Gamen samen met je partner en je Kids nog van je media center die op 1 machine draaien genieten dan kan dit in theorie (er is immers maar zoveel wat de "server' kan verstauwen
Youtube bevat ladingen filmpjes met als je zoekt op "VGA Passthrough"
Waar je ook passthrough voor kan gebruiken is USB dongels/printers en andere "externe" appratuur.
Webcam, scanners en Smartcard readers zijn voorbeelden die niet 1.2.3 lukken op je virtuele machine en vereisen dus extra aandacht.
Advanced Graphics
Er zijn vele technieken om bewegend beeld zoals filmpjes/flash enabled websites via een "remote" sessie op te starten
- Remote FX (Hyper-V)
- Xen desktop
en een paar protocollen zoals
PCioP en ... ?
Je hebt wel eens van dat vertraagde beeld opbouw gezien, nu dat heb je standaard met zware grafische dingen op Virtuele machins die je "remote" bekijkt van af een workstation.
3d overlay ook wel genoemd. Geluid heb ik het niet eens over.
Dus let hierop!
Netwerk
Netwerk kan je veel plezier opleveren zeker als je een NAS oplossing hebt en High Availablity (fail over oplossing) wilt doen.
Zijn dure netwerk kaarten nodig ?
Nee niet perse, erger nog met "white box" machines of servers die je zelf bouwt liever niet. Denk aan IRQ en andere "resource" problemen.
Anderzijds .. onderzoek doen en goed verdiepen heeft zijn voordelen.
- Niet alle kaarten kunnen ISCSI boot aan (De intel desktop CT wel bv)
- Sommige kaarten hebben speciale "CPU offload" features voor HyperV en ESXi zoals de intel netwerk ET2 server serie
- Jumbo frames moeten door heel je netwerk ondersteund worden (Switch + netwerk kaarten en dan dezelfde MTU size die wel eens verschilt tussen merken.
Zo heb ik voor 50,- een gigabit Cisco/Linksys slm200x gekocht die vrijveel "management" in zijn interface had
voor LAG(g) en STP enzv en er is een "hack" voor om hem SNMP te laten doen.
Milieu en portomonee vriendelijk
Zoals alles onderzoek is 75% van het werk.
Milieu in dit geval bedoel ik "energie verbruik" Je hoeft niet ontzettend veel geld uit te geven als je een doel hebt en onderzoek doet.
- passieve of onboard VGA
- SSD of RAID5/6/10/50 set? (hopenlijk ook zfs in de toekomst)
- zelfbouw of Kant en klare NAS (let op de Netwerk, CPU en Geheugen + goeie controllers)
Ga er niet blind van uit dat je gekozen oplossing met "next next finish" werkt.
Portomonee onvriendelijk is het als je bv een externe RAID kaart/NAS moet "kopen" omdat de gekozen setup niet werkt zoals jij dacht.
Heb je bv recent een PC aangeschaf, duik dan eens de BIOS in of deze VT-d(intel) of IOMMU(AMD) ondersteund.
Probeer eens op een machine ESXi te installeren (je hoeft niet te activeren om te testen) en kijk wat je kan/niet kan..
Software oftewel Hypervisors
Veel hypervisors zijn gratis met uitzondering van de Microsoft versie HyperV
Hoewel als je toch veel windows producten thuis draait een technet (350,- per jaar ?) je veel produkten kan draaien legaal thuis.
ESXi is gratis voor 1 licentie en je mist een hoop "features" wil je meer dan simpel, zal je wellicht voor thuis naar een opensource produkt zoals
- VirtualBox
- Xen
- KVM
- QEMU
- en meer.
PS een les die ik geleerd heb, pak VMworkstation en installeer eens je Hypervisor OS om te kijken wat het doet en vooral of de versie(s) aanwezig zijn
Ik moest van debian 6.0(stable) naar 7.0(testing/unstable) stappen omdat deze de nieuwe features aanbod.
Een lijst van alle (inclusief commodore64)
virtualisatie wiki
BareMetal vs "full"
Je hebt "BareMetal" Hypervisors en "full" Hypervisors het grote verschil is dat de 1 op een 1gb usb stick zou passen en de ander een complete OS is (met alles eromheen op en aan).
Heb je een NAS en 2 Hypervisor machines is het handiger voor "baremetal" te kiezen ipv "full OS"
heb je 1 NAS of Geen NAS ben je wellicht beter af met een "full" Install zoals Opensource of Hyper-v (omdat de console er al inzit)
type virtualisaties
Je hebt vele smaakjes van echt tot nep.
- Hardware Virtualisatie
- Para of "nep" virtualisatie
- Jail(BSD OS)
- En meer?
Bij Hardware virutalisatie heb je eigenlijk geen "gedeelde" middelen. het OS denkt en weet niet beter dan dat deze op een Fysieke machine draait.
Hoewel soms het HyperVisor OS slim genoeg is om dingen de de-dupliceren en dus meer "ruimte" kan maken in o.a ram.
Andere virtualisaties maken slimmer gebruik van de "server" os en kunnen met minder(disk-space) af of "sneller" presteren (relatief)
Overcommiten oftewel meer toekennen dan eigenlijk zou kunnen, kan met bv disk of RAM geheugen. (nooit meer dan dat je hebt)
maar heb je bv 8 GB te verdelen. kan je bv 2 hosts ieder 6GB toekennen. en ze moeten "onderling" via de Hypervisor uitvechten wie nu echt de totale ram "verbruikt"
(iets wat niet kan met Passthrough Gasten deze hebben wat ze hebben)
Wat zou ik je aanraden als Hypervisor / configuratie?
Omdat dit heel breed antwoord is, zal ik wat meer toespitsen.
- Wat wil je gaan doen? Dit bepaald je hardware specifiekaties voornamelijk
- Intel of AMD tja AMD is zuiniger en Intel heeft wat meer spierballen tegenwoordig (hoewel dit omgedraait kan zijn)
- RAM = MAXimaal koop niet te zuinig in!
- Bij voorkeur geen afhankelijkheid van hardware AUB, vooral als het om "storage" gaat. Wat mag stuk en wat mag niet "verloren"?
Deel van te voren goed je backup/nood scenario in en je data veiligheid. Zorg dat je "reddings plan" klaar ligt. - hoeveel kost het je te "upgraden" van de hardware .. (en is het je waard?) bespaar nu niet op die extra paar GB ram als je het kan missen. Als het moederbord het toestaat.
Begin eerst eens met je Favo computershop een systeem naar je budget samen te stellen.
- onderzoek of je Moederbord alle features heeft die je wilt, lees revieuws en zoek of je moederbord + xen,esxi werkt (als ze posts hebben)
- onderzoek de chipset(s) van gekozen moederbord/GPU/CPU of die "klachten" hebben op hypervisor/OS.
(sta niet vreemd te kijken als SATA 3 of USB3.0 Nog niet ondersteund word)
- Onboard LAN is niet altijd slecht maar kan ook gewoon niet "herkend" worden.
- Dual of quad NIC's kunnen ook "problemen" opleveren met in de winkel gekochte hardware
Onderzoek Onderzoek en Onderzoek, prepareer & test zoveel mogelijk zonder te kopen.
hoe meer je "klaar" hebt hoe sneller je in de lucht bent.
- USB stick met WinPE en/of live-cd's met (rescue) tools of firmware updates zijn geen overbodige luxe.
- ga er niet blind vanuit dat je OS de hardware herkend of kan configureren..
mijn setup
- Mainbord: Intel DX58SO2
negatief
- veel problemen gepost van het moederbord inverband met BIOS
- RMA de eerste keer.
- Sata3 (marvel) controller nog slecht ondersteund of Niet(ESXi 5.0,fedora 16 en FreeBSD)
- Esata op back IO
Positief
- goeie sloten verdeling op het moederbord (volgorde van PCIe sloten en PCI slot bedoel ik hiermee)
- enige 1366 of 1 van de weinige moederborden die 48GB ram aankan.
- goeie Intel netwerk kaarten op moederbord (anderen realtek/marvel/broadcom etc)
overige hardware
- CPU I7 980 (6 core) 3.3 ghz
- RAM 24 GB (te duur om 48 GB aan te schaffen)
- 3x passive ATI radeon kaartjes (nvidea heeft wat problemen met VT-D passthrough)
- 1x soundblaster live (voor Sound 2de workstation)
- 1000 wat brons voeding (85% efficient)
- Kast (1ntje waar alles in past)
- USB en externe USB cd-rom (voor installatie en firmware Updates)
Opslag = 6x WD EADS 1TB (presteren redelijk goed op software raid MD-disk)
liever ZFS maar die combinatie is nog niet mogelijk.
Xen als Hypervisor wat me verplicht een Linux OS te installeren (BSD nog niet mogelijk)
Hyper-v ondersteund helemaal geen Passthroug en ESXi geen VGA passthrough
Xen als enige OS VGA en PCI(e) passthrough
Tot slot
Activeer
niet je hypervisor(indien nodig) of "produktie" install direct. Test eerst je setup.
- memtest
- IO disk test (indien nodig)
- netwerk test
- backup je configuraties(wijzigen) indien mogelijk naar USB.
- bewaar al je update file(s)
- controleer je bios, setting voor setting.
- watt-verbruik in "idle"
Je zal er maar achter komen dat iets niet aan "je wensen" voldoet. en je weer terug naar af mag.
Of defecte onderdelen.. Activatie is pas wat je doet indien "af"