tvwes schreef op woensdag 06 november 2013 @ 16:18:
Dat las ik niet dat jij je druk maakt over je rootpool. En ik heb dat niet beweerd, noch dat je rootpool kapot is. Ik formuleerde als hypothese gezien het feit dat je maar twee zpool's hebt en waarvan de datapool alleen een L2ARC en het grote aan SPA mismatches dat er ook reads op de rootpool moeten plaatsvinden. Het zou leuk zijn om dit te testen.
Jij poste een vraag zonder context, OS etc. Ik heb daar het beste van gemaakt op basis van de beperkt info en mijn beperkte kennis van FreeBSD als dat uberhaubt het OS is.
Om meer duidelijkheid te krijgen over deze spa mismatches op jouw systeem stelde ik een diagnose procedure voor, met een annecdote waarom je naar de VFS layer moet kijken en niet naar de drives.
Ipv even antwoord te geven op mijn vragen en voorstel kom je weer nieuwe zaken. Ik wil best wat uitzoeken en je helpen maar dan moet jij ook wat doen, goed lezen en even antwoord geven is het minste lijkt me.
Je kennis over de werking van de ARC en L2ARC is beperkt zo te lezen. Zonder nu volledig in de details te treden. Een paar dingen. Niet trace gebaseerde benckmarks zoals crystaldiskmark hebben weinig baat bij de L2ARC. De L2ARC heeft een feedrate, die het aantal opgeslagen blokken per sec beperkt. Sommige patronen zoals streams komen uberhaubt niet in de ARC. Dan heb je nog verschillende lists in de ARC waaronder ARC_mru en ARC_mfu. De lengte van deze lists wordt dynamisch bepaald zolang alles bij elkaar maar in de ARC past. Afhankelijk van je io patroon komt je data in de MRU of MFU of L2ARC. Tot slot zijn er een heleboel tuneable via sysctl of zfs properties. Echter daar aan zitten draaien zonder te weten wat het probleem is en waar die knoppen voor dienen pakt vaak averechts uit.
Ik kan je niet helpen met het tunen voor dit soort benchmarks.
Excuus als ik bot klink, is niet de bedoeling, zit al een paar dagen te kutten met mijn server, en het wil niet echt lukken. Ik heb in een heel aantal versnipperde posts mijn setup wel uitgelegd, ik denk dat ik er (onterecht) van uitgegaan ben dat mensen dat oppikken.
Ik ben blij dat je meedenkt, laat dat duidelijk zijn
Even een complete situatieschets:
NAS:
Opteron 4164EE 6-Core 1.8Ghz
4*16GB 1066Mhz ECC Registered geheugen
SuperMicro H8SCM-F
4*4TB Seagate HDD.15 voor eigen data, bevat meerdere filesystems waaronder 1 voor het ESXi cluster.
840Pro 128GB opgedeeld in 3 partities (20GB rootpool, 8GB ZIL, 75GB L2ARC)
(Ja ik weet dat de 840Pro geen goede SSD voor ZIL is, maar dit bord heeft geen mSATA poort waar mijn Crucial M500 mSATA in kan

)
ESXi Cluster
Node 1:
Core i5-3550
Intel DQ77MK
2*4GB 1600Mhz geheugen
Aangesloten via Intel Pro 1000 PT
Node 2 en 3:
Intel G1610
ASRock H77-Pro4-M
2*8GB 1600Mhz geheugen (maar loopt toch op 1333Mhz vanwege de Celeron's).
Onboard Realtek 8111E
Doel:
Een compleet enterprise ghetto cluster maken, dus inclusief: vCenter, DRS, HA, Active Directory, SCCM, SCOM, SCSM (eventueel), Backup, Anti-Virus, Group Policies.
Samen met HyperBart heb ik een Site-to-Site VPN waarover wij AD babbelen en meer van dat soort dingen willen opzetten. Doel is een beetje om te leren hoe je een multi site enterprise omgeving opzet.
Wat al gedaan:
NAS geinstalleerd met ZFSguru en ik had eerst het ESXi cluster draaien via NFS, maar dat performde voor geen meter. Daarom overgestapt op iSCSI en dat werkt al een stuk beter. Ik ben nu aan het kijken of ik het maximale van de opstelling bereikt heb, of dat ik via tuning nog meer kan bereiken dan de 3000 iops die ik nu haal voor Random Reads en Random Writes.
Ik zie heel vaak een getal van 80MB/s op mijn L2ARC terwijl die vele malen sneller kan schrijven. Ook zijn mijn sequentiele writes via iSCSI bijna altijd 80MB/s (terwijl ook die wel sneller zou moeten kunnen...)
Daarnaast zijn mijn ZIL en L2ARC scores voor single queue depth aan de magere kant (in mijn ogen). Het uitzetten van sync helpt daar niet veel bij. Ook de manier waarop mijn ARC momenteel gevuld word ten opzichte van mijn L2ARC begrijp ik niet.
Wat ik snap van L2ARC is dat zodra een pagina uit ARC ge'evict' zou worden, en er is nog ruimte op L2ARC (even los van MRU/MFU), word deze naar L2ARC gezet. Ik zou dus verwachten dat ten alle tijden als er nog ruimte in de ARC is, dat die eerder gevuld wordt dan L2ARC.
De statistieken tonen aan dat dit niet het geval is. Daar gingen mijn vorige posts over.
Ik ben niet benchmark geil, ik zou alleen wel graag willen dat zodra mijn ESXi cluster echt een aantal VM's gaat hosten, mijn storage dit bij kan houden. Als je mij een betere benchmark (methode) kan aanraden om onder een gevirtualiseerde host uit te voeren, graag! Ik kan natuurlijk altijd Intel IOMeter gebruiken, maar dat is een stuk minder overzichtelijk dan CrystalDiskMark is.
Tot zover mijn rant
Even niets...