Mee eens, maar in geval van het apparaatje van Mux krijgt de SSD een dergelijk seintje niet, omdat de stroom niet wegvalt. Of heb ik het mis?
Aan de andere kant is het voor mensen die al een sloot SSD's hebben (zoals ik

) wel een goedkope uitkomst. Want zomaar even omruilen is ook niet makkelijk

Het zal zeker helpen ook al krijgt de firmware geen seintje; je zorgt in elk geval dat recente activiteit van de host niet meer van invloed is, hooguit background activiteit. Die mogelijk pas triggered na een periode van activiteit; dat wellicht werkt het in de praktijk goed genoeg om echt waardevol te zijn.
Had je trouwens mijn idee gezien met de PCIe mSATA kaart? Wat vind jij van die Marvell controller?
Ik heb wat gemist denk ik. Heb je een linkje voor me?
Absoluut
niet! Dat is juist het hele probleem.
Filesystems en applicaties zijn allemaal gebouwd om om te gaan tegen verlies van
recente writes; dat is immers het enige wat grofweg mis kan gaan met hardeschijven; verliezen van recente writes. Data die er al een tijdje staat, is veilig en hoeft niet te vrezen van onverwacht stroomverlies.
Bij SSDs is dit totaal anders; daar kan data die al tijden lang niet is aangeraakt, toch gemutileerd worden door onverwacht stroomverlies. Het wegvallen van spanning tijdens het schrijven of erasen van NAND kan gevolgen voor omliggende blokken hebben. Daarnaast kan er zogenaamde 'Retroactive Data Corruption' plaatsvinden, die lastig te detecteren is en voor corruptie kan zorgen.
Maar ook de mapping tables voegen een extra kwetsbaarheid toe. Zonder deze inhoudsopgave ben je nergens, en een corrupte mapping table betekent in principe dat alle data weg is. Een bricked SSD die je alleen nog kunt flashen; Intel SSDs kenmerken zich hierbij door 8MB als opslagcapaciteit weer te geven. Andere SSDs worden simpelweg niet meer herkend totdat ze met HPA Secure Erase (HDDErase.exe) een nieuwe mapping table is gegeven.
Dan geldt bij Sandforce nog dat er naast de mapping tables ook deduptables worden bijgehouden, die ook corrupt kunnen raken. Dan heb je allemaal snippertjes van data waar je niets mee kunt. Kortom, een SSD is vele malen gevoeliger voor onverwacht stroomverlies dan een hardeschijf. Erger nog is dat het gedrag ook heel anders is, waardoor corruptie op SSD-niveau ernstige gevolgen kan hebben voor je filesystem die daar helemaal niet tegen bestand is. Alle rare Windows-foutmeldingen die je bij OCZ SSDs tegenkomt, zijn de gevolgen van corruptie op SSD niveau. Onacceptabel - uiteraard. NAND SSDs hebben capacitor-bescherming simpelweg nodig.
Grappig is dat mensen de noodzaak voor 'capacitors' als onzin af doen, omdat recente writes helemaal niet zo belangrijk zijn; je filesystem kan daar immers prima tegen met journalling en intent log. De grap is dat bijvoorbeeld de Crucial M500 niet genoeg capaciteit heeft om de 6MiB buffercache weg te schrijven, maar alleen beschermt tegen het onderbreken van een lopende write-erase-cycle. De buffercache verdwijnt gewoon, poef. Niet erg, daar kan je filesystem tegen.
Letop: mijn context is een NAS voor thuisgebruik, niet voor een bedrijfsmatige multi-user toepassing.
Mooi artikel:
http://nex7.blogspot.nl/2013/04/zfs-intent-log.html
Stelling: NAS bouwers hebben geen SLOG nodig op SSD voor het ZIL. Een SLOG is vooral kritisch als je de ZFS storage gebruikt als onderliggende laag voor VMs en Database servers.
Je kunt gewoon sync=disabled op je filesystems instellen, maar normaliter is dat niet nodig omdat je weinig sync writes te verwerken krijgt.
Maar als je zoals je zegt application consistency nodig hebt, voor je ESXi NFS mounts, voor je iSCSI ZVOLs met foreign filesystem erop, dan wil je sync=standard of sync=always ingesteld hebben. Dan gaat het je wel performance kosten, performance die je kunt verbeteren met een sLOG.
ZFS qua file system is altijd qua integriteit gewaarborgd, maar de DATA niet.
De data ook, enkel de order-of-writes is niet gegarandeerd met sync=disabled. Voor zover ik begrepen heb. Dus gebruik je iSCSI zonder sLOG en met sync=disabled, dan is na een harde crash je ZFS filesystem prima intact maar je Ext4-filesystem op het iSCSI-volume deels corrupt. Of althans in een inconsistente staat waarbij fsck/chkdsk uitgevoerd dient te worden.
Een separaat SLOG device en SSD Readcache is pas spannend als je veel random I/O doet (multi-user, VM, DB, etc).
Of pies ik heel erg naast de pot?
Dat zijn natuurlijk de situaties bij uitstek waarbij cache en sLOG tot zijn recht komt. Maar alleen al het cachen van metadata kan heel erg waardevol zijn, voor zoekacties, voor snel door grote directories kunnen lopen. Verder geldt dat hoe minder je hardeschijven seeks moeten doen voor metadata, des te meer ze zich kunnen concentreren op waar ze goed in zijn: sequential read en write. Als het aandeel random I/O op device-niveau significant genoeg is om de performance van sequential te beïnvloeden, dan heeft een SSD nut voor het doel de sequential I/O te verbeteren.
Zeker een grote array is het erg zonde als er niet tenminste een SSD aanwezig is om de metadata te cachen. Bovendien zijn er vaak toch wel zaken die niet louter sequential worden uitgelezen. En een SSD is leuk voor snelle boots (bij gebruik van Root-on-ZFS) en heb je gelijk een mooie separatie tussen OS en data.