Combi post "Zuinige ESXi server" & ZFS all-in-one storage provider
Inleiding
Deze server is nergens een uitblinker in. Het is niet de mooiste, niet de snelste, niet het meeste opslag enzovoort. Wel is dit een prima allround platform waar je jaren gemak van kan hebben.
Je aan alle kanten uitbreiden om toch 24 spindles te laten knetteren of de stookkosten te verlagen door er een GPU bij te plaatsen.
De verschillende opslag componenten zijn allemaal enterprise modellen met ditto prijs kaartje. Je kan daar natuurlijk ook "gewone" versie voornemen. Omdat ik op basis van mijn huidige servers weet hoeveel data de VM's genereren, weet ik hoeveel TB per jaar er wordt geschreven. Gewone SSD's zullen dan te snel kapot gaan en de prestaties zijn stukken minder. Ook hebben al deze SSD's bijvoorbeeld powerloss protection. Zodat als de jaren oude psu er plots mee stopt ik geen data kwijt raak. Maar het is dus zeker niet zo dat ik nu aan iedereen deze schijven adviseer.
De X11 skylake supermicro bordjes zijn niet duur, prima kwaliteit en icm met of een pentium of core i3 al meer dan genoeg voor huis tuin en keuken ESXi servers zijn.
Hardware componenten
1x Supermicro X11SSH-LN4F bios 1.0B
1x i3-6100T @3.2GHz
4x16GBECC M391A2K43BB1-CPB
2x intel DC3610-480GB
1x samsung SM863 480GB
1x intel 600p 960GB
2x WDC Gold WD8002FRYZ 8TB
1x SANdisk ultra fit 16GB USB3 dongle
1x lianli bz-525b
1x Antec earthwatt 380
1x noname antiek uATX minitower
Software
VMware vSphere ESXi 6.5.0 build 4564106
stock OMNIos r151020 voor storage
De hardware
Deze antieke uATX case had ik nog liggen net als de antec earthwatt 380 PSU. Alle servers staan in een droge kelder waar ik zelden kom. Ik ga daar dus geen geld aan uitgeven. Die antec had ik ook nog liggen, ja niet de zuinigste maar prima voeding hiervoor. Ik heb er een paar en doen al vele jaren hun werk prima.
De case heeft 2 externe 5.25" bays, 2 externe 3.5" bays en 1 interne 3.5" bay. Oh en 2 front USB 1.0 poorten!!! In de bovenste 5.25" heb ik die lian-li bracket in gebouwd. Waarin ik de drie 2.5 SSD's heb geplaatst. Prima bracket, met een gaas frontje een veel ruimte voor airflow. Ja er zijn allerlei prachtige hotswap brackets te koop. Maar deze zijn bijna allemaal van matige kwaliteit en er zitten een of twee fans in die ook weer wat verbruiken. Voor mij is de betrouwbaarheid (door het ontbreken van de backplane en de fans) de reden te om te kiezen voor deze niet hotswap oplossing.
De twee WD harddisken zijn ook gewoon geschroefd in een 3.5 bay. De NVME kan je zo op het moederbord schroeven. Belangrijk is dat de NVME aan de voorkant zit bij dit mobo en dat je het daardoor redelijk kan koelen.
De 16GB usb dongle kan zo op het moederbord worden gestoken.
Dit mobo verbruikt zo weinig stroom dat ik op moment slechts de P4 stekker heb aangesloten en niet een volledige EPS stekker.
Ik had nog een noctua NF-A8 besteld, een 80mm PWM fan, maar alles blijft zo koel tussen de 22 en 25 graden dat ik de fan er niet in heb gemonteerd.
De configuratie
ESXi heeft storage nodig voor de (virtuele) disken van de VM's. Deze storage kan op diverse manieren worden gerealiseerd. Direct (DAS), remote (SAN of NAS) of de "all-in-one" configuratie. Bij direct zal ESXi de lokale schijven gebruiken en aanbieden als storage voor de VM's. Voordeel: extreem simpel en snel. Nadelen: weinig features en al snel een dedicated raid controller nodig. Remote, bijvoorbeeld via een SAN of NFS NAS. Voordelen: flexibiliteit, je kan je NAS of SAN ook voor andere zaken gebruiken en je kan meerdere ESXi servers aansluiten op dezelfde storage. Je NAS of SAN zal zo goed als altijd meer features hebben dan ESXi, bijvoorbeeld backups en snapshots. Nadelen, dezelfde snelheid als DAS behalen wordt kostbaar. Dit vanwege de dure fabrics, als 10 of 40 GBe, IB of FC. Je latency wordt bijna altijd hoger.
Tot slot is er de "all-in-one" optie. Hierbij wordt de lokale storage via VT-d wordt doorgegeven aan een speciale storage VM. Die de fysieke storage weer als NAS aanbiedt aan de ESXi host. Echter de data hoeft nu niet fysiek het netwerk op. Het storage netwerk is virtueel en blijft binnen de machine. De prestaties zijn hierdoor best heel redelijk. Deze laatste optie is zeer geschikt voor een zuinige ESXi server, je hebt immers geen externe componenten nodig voor je storage maar je hebt wel meer features dan ESXi standaard heeft.
Voordat je aan de storage kan beginnen moet je eerst wat netwerk zaken voorbereiden. Ik heb een dedicated vSwitch, genaamd "storage", aangemaakt. Hierna een extra kernel nic voor de storage. Bij het aanmaken van de kernel nic zal ook een nieuwe portgroup worden aangemaakt. Geef deze een suffix als "-kernel", bijvoorbeeld "stor1500-kernel". Je hebt namelijk een tweede portgroup nodig voor de VM. Dus maak nu een nieuwe portgroup aan op de "storage" vswitch bijvoorbeeld "stor1500-network". Ik heb beide portgroups in een dedicated vlan gezet ivm met mijn bestaande infrastructuur waarin de vmware hosts losse storage hebben.
De "all-in-one" krijgt via VT-d de AHCI controller doorgegeven. Maar deze is niet bootable. Je zal je boot drive dus altijd op een extra door ESXi beheerde datastore moeten plaatsen. Je kan een USB stick hiervoor gebruiken of zoals in mijn geval de NVME disk. LETOP, je kan niet zomaar een usb stick erin steken en gebruiken als datastore. Je zal hiervoor via SSH bepaalde functionaliteit uit moeten zetten. Omdat ik toch al de NVME disk wilde toewijzen aan ESXi was het voor mij erg simpel. Ik heb het wel via USB getest maar was niet blij met de prestaties en de nadelen van deze hack. Het gebruik van de lokale NVME zonder raid of andere beveiliging is een bewuste keuze. Maak een datastore aan op je lokale storage. Kopieer de installatie iso daarnaar toe.
Voordat je de AHCI controller via VT-d kan door geven zal je dit device moeten aangeven als zijnde geschikt voor passthrough. Login via SSH op de ESXi server en open /etc/vmware/passthru.map en voeg onderaan toe:
code:
1
2
| # Intel Sunrise Point AHCI
8086 a102 d3d0 false |
Na de reboot markeer je de AHCI controller als passthrough device. Nu kan je de storage VM aanmaken.
Mijn configuratie is grofweg als volgt:
2 vCPU's
8GB ram, LETOP dit moet locked zijn ivm met de passthough
Een 20GB boot disk op de NVME datastore.
nic1 "mgmt-network" type VMXNET3
nic2 "stor1500-network" type VMXNET3
pci device0 Sunrise point AHCI controller
pci device1 i210 gigabit nic
Boot en install je OS. Hierna kan je via je storage OS de fysieke storage configureren en exporteren via NFS over de tweede nic. En tot slot kan je in ESXi de NFS share mounten als extra datastore. iSCSI kan ook maar vereist meer configuratie omdat ESXi de datastore niet zal vinden tijdens het booten maar vervolgens niet zonder slag of stoot opnieuw gaat proberen. NFS is veel simpeler. Er zijn randgevallen waarin iSCSI te verkiezen is boven NFS, maar thuis in een zuinige ESXi server?
Mijn storage bestaat uit een SSD mirror en een harddisk mirror. De SSD mirror biedt 400GB (overprovisioned van 480GB) snelle storage en die harddiskpool ruim 7TB iets minder snelle.
Alvast even wat over de zuinigheid van het systeem ik heb heel bewust voor de minder snelle oude sata drives gekozen ipv NVME ivm met het energie verbruik. Ook heb ik de duurdere 8TB's met helium genomen ook weer ivm meer het lagere verbruik. En ja dat scheelt op papier echt veel alsmede in de praktijk.
De prestaties
Wat moet ik hier over zeggen? Natuurlijk zijn ruwe benchmarks prachtig maar wie heeft thuis al dat geweld echt nodig? Die 960GB NVME via x4 PCIe3.0 is echt snel. Die 2 8TB harddisken leveren streaming meer dan 400MB per seconde aan een andere VM. En de SSD's leveren bijn 750MB/sec aan streaming reads. Bedenk even wat een gigantisch lange keten de data door heen moet gaan. En wat een top prestaties je dan krijgt ondanks dat het kleine cpu'tje en dat het maar sata is en slechts twee devices. Heel knap van vmware!
Ik heb hier wat resultaten van crystal diskmark op een windows 7 vm met vmdk's op diverse datastore's.
-----------------------------------------------------------------------
CrystalDiskMark 5.2.1 x64 (C) 2007-2017 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes
Sequential Read (Q= 32,T= 1) : 1297.215 MB/s
Sequential Write (Q= 32,T= 1) : 575.226 MB/s
Random Read 4KiB (Q= 32,T= 1) : 467.688 MB/s [114181.6 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 466.519 MB/s [113896.2 IOPS]
Sequential Read (T= 1) : 986.803 MB/s
Sequential Write (T= 1) : 579.664 MB/s
Random Read 4KiB (Q= 1,T= 1) : 32.180 MB/s [ 7856.4 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 107.753 MB/s [ 26306.9 IOPS]
Test : 16384 MiB [E: 0.4% (0.1/20.0 GiB)] (x5) [Interval=5 sec]
Date : 2017/01/15 22:28:05
OS : Windows 7 Professional [6.1 Build 7600] (x64)
local nvme intel 600p 960GB datastore (no ZFS)
-----------------------------------------------------------------------
CrystalDiskMark 5.2.1 x64 (C) 2007-2017 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes
Sequential Read (Q= 32,T= 1) : 745.136 MB/s
Sequential Write (Q= 32,T= 1) : 197.916 MB/s
Random Read 4KiB (Q= 32,T= 1) : 86.242 MB/s [ 21055.2 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 3.309 MB/s [ 807.9 IOPS]
Sequential Read (T= 1) : 643.162 MB/s
Sequential Write (T= 1) : 210.334 MB/s
Random Read 4KiB (Q= 1,T= 1) : 34.105 MB/s [ 8326.4 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 1.725 MB/s [ 421.1 IOPS]
Test : 16384 MiB [F: 0.4% (0.1/20.0 GiB)] (x5) [Interval=5 sec]
Date : 2017/01/15 22:38:21
OS : Windows 7 Professional [6.1 Build 7600] (x64)
remote NFS datastore mirrored intel DC S3610 480GB NO SLOG
-----------------------------------------------------------------------
CrystalDiskMark 5.2.1 x64 (C) 2007-2017 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes
Sequential Read (Q= 32,T= 1) : 723.147 MB/s
Sequential Write (Q= 32,T= 1) : 319.445 MB/s
Random Read 4KiB (Q= 32,T= 1) : 66.237 MB/s [ 16171.1 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 27.005 MB/s [ 6593.0 IOPS]
Sequential Read (T= 1) : 703.807 MB/s
Sequential Write (T= 1) : 174.906 MB/s
Random Read 4KiB (Q= 1,T= 1) : 30.642 MB/s [ 7481.0 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 12.097 MB/s [ 2953.4 IOPS]
Test : 16384 MiB [F: 0.4% (0.1/20.0 GiB)] (x5) [Interval=5 sec]
Date : 2017/01/15 22:52:11
OS : Windows 7 Professional [6.1 Build 7600] (x64)
remote NFS datastore mirrored intel DC S3610 480GB single slog samsung 863 480GB
Met betrekking tot de CPU kan ik alleen maar zeggen prima voor het geld. Als je niet weet wat je nu echt nodig hebt aan CPU power zou ik willen aanraden om eerst zo'n i3-6100 of 6100T te proberen of zelfs de pentium. Je kan er echt veel mee doen. Maar als je veel compute nodig hebt dan kan je zo een XEON nemen.
Het verbruik
Deze server heeft nu 19 draaiende ESXi VM's en 7 nested die zo'n 38GB ram gebruiken en een gemiddelde load heeft van 15%.
Er is geen spindown van de disken. De ESXi powermode is balanced. En wat verbruikt dat nu: 2 cores, 64 GB ram, 3x gbit aangesloten, IPMI, 18TB ruwe storage en een matige PSU???
Zo'n 39watt dat is zonder de UPS, direct aan het stopcontact. Het minimum van 36Watt en het maximum 58Watt tijdens het booten. Zie
deze post voor details aangaande de energie metingen
Ik denk dat ik het met een echte zuinige voeding en zonder de UPS wel terug kan brengen naar gemiddeld35watt. En als je de IPMI ook weglaat misschien wel 30watt. Ja er valt best nog wat te winnen. Maar dat ga ik nooit goed maken qua tijd wat dat kost. Als een coldboot je al tegen de vijf minuten kost (19 VM's die niet allemaal tegelijk gestart kunnen worden!) dan snap je dat het profilen van het systeem zeer tijdrovend gaat worden. Helaas heb ik een APD op de datastore met enkele metingen zoals tijdens memtest.
Verbeter punten
- Een betere voeding, zuiniger en meer sata connectors of modulair. Zelfs een pico kan dit systeem makkelijk aan.
- Zuiniger model UPS. Heb ik helaas echt nodig, een powerloss zorgt voor guests die (misschien) niet meer booten. De UPS maakt een nette shutdown mogelijk en daardoor ook een succesvolle herstart.
- Het beheer van ESXi 6.5. Wat een drama is die web client. Echt een schande de arrogantie die VMware hier heeft vertoond!!! Helaas heb ik nog wat legacy VM's waar ik geen tijd voor heb om te converteren. Want anders had ik uberhaubt geen ESXi meer gebruikt.
- ESXi leest onjuiste waarden uit de sensors. OA voltages en de RPM van de cpukoeler kloppen niet. Terwijl als je de waarden bijvoorbeeld via supermicro bekijkt kloppen ze wel.
Alternatieven
- De xeon D is natuurlijk ook heel interessant maar uiteindelijk heb ik toch hiervoor gekozen omdat het basis platform echt veel waar voor je geld bied. Ja de xeon D kan meer ram aan maar dat is zeer kostbaar en de meeste mensen hier hebben geen 10GBit. Ook de lage clock stond me wat tegen bij de budget xeon-D modellen. Als je heel veel concurrency hebt zijn al die core's prachtig maar veel software die door tweakers gebruikt wordt heeft meer baat bij een hoge clock en ipc dan veel cores. Dat is voor mij de hoofdreden geweest om niet voor xeon-D te gaan maar voor de gewone skylake. Het is sluit beter aan bij de gemiddelde tweaker hier.
- Geen IPMI. Heb ik in productie niet nodig, want alles is stabiel en wat moet ik dan in de BIOS? Maar het was zoo makkelijk bij het inrichten. En ik hoop dat het ding nooit vastloopt. Wel gebruik ik IPMI voor monitoring. ESXi kan zonder IPMI bar weinig sensoren uitlezen van je whitebox.
- Ander merk mobo, kan en zal zeker zuiniger zijn. Ik hoop weer meer dan 5 jaar met dit systeem te doen en dan is kwaliteit en support voor mij belangrijker dan een watt zuiniger bij een consumenten bord.
- Ander storage OS. Bijvoorbeeld napp-it of nas4free. Maar ik heb die GUI niet nodig en begruik het OS ook voor andere zaken die al die GUI schillen niet kunnen en dan moet ik toch weer naar de shell. Maar voor de minder ingewijde is het prima.
Conclusie
Typisch geval van kost wat maar dan heb je ook wat. Heel veel storage, heel veel prestaties en veel uitbreid en upgrade mogelijkheden in een stil en zuinig kastje. Die core i3 kan je altijd upgraden naar een XEON. Ik heb nog drie vrij sata poorten en 4 vrije pcie sloten. Je kan bijvoorbeeld nog een SAS controller of een 10GBe kaart toevoegen. De gebruikte schijven zijn natuurlijk niet je standaard schijfjes. Maar dat is een persoonlijke afweging. Ik ben vaak weken van huis en dan moet dit allemaal rustig doordraaien. Betrouwbaarheid is voor mij heel belangrijk. Maar over het algemeen ben ik erg tevreden na een maandje proefdraaien. De vier gbit poorten zijn ook erg handig. Ik heb bijvoorbeeld een fysieke nic via pass-through aan de storage vm doorgegeven. Clients die bij de storage moeten vanaf het netwerk skippen ESXi volledig. NIC-bonding als LACP is minder aantrekkelijk voor mijn usecases dan losse nic's. Ook gebruiken SATA SSD's minder stroom dan NVME devices! Al die IOPS en bandtwidth bij NVME is prachtig maar op dit moment alles behalve zuinig en dat zijn sata devices veel meer.
Afsluiting
Ja ik zou nog veel meer configuratie details kunnen geven. Zoals het nesten van VM's (wat ik doe) of de ZFS configuratie. Maar dat heeft weinig meer te maken met het topic. Mocht er desalnietemin belangstelling voor zijn dan zal ik kijken wat ik kan doen.
[
Voor 100% gewijzigd door
tvwes op 26-02-2017 13:16
. Reden: verbruik verduidelijkt na extra metingen ]