RAID0 performance kan eigenlijk nooit negatief zijn. Er zijn wel uitzonderingen, zoals een slechte setup met misalignment en een te kleine stripesize (<128KiB), waarbij een read meerdere disks meeneemt en zo de access time verhoogt wordt doordat je op de rotational delay van twee schijven ipv één schijf moet wachten, wat gemiddeld gezien dus hoger dan de helft van de rotational delay bedraagt, tot een maximum van één hele rotational delay bij meerdere schijven.
Daar je met twee losse single disk sneller kan uitpakken kopieren dan met raid schrijven en lezen tegelijk.
Daar heb je natuurlijk gelijk in. Maar of dat praktisch is? Als je een ingepakt bestand downloadt, dan wil je die vaak naar dezelfde schijf uitpakken. Sommige mensen gaan speciaal voor het performancevoordeel een speciale hardeschijf voor downloads maken en de ander om naar uit te pakken, maar ik schat dat maar heel weinig gebruikers dat zo doen.
De eerste review gaat over de 3TB WD Green, die stukken trager is dan een 2TB Samsung F4EG of de 2TB WD Green.
De middelste review gaat over XP boot performance. Het zou prima kunnen dat ze een XP partitie gebruiken en dat betekent misalignment. Dit veroorzaakt lagere performance bij 4K sector schijven zoals de WD20EARS, maar normale oudere schijven hebben hier geen last van. Wel zijn hogere rpm schijven beter bij dit type workloads, maar daar mag je tegenover zetten dat Windows sinds Vista een feature genaamd SuperFetch gebruikt, die tijdens de boot in plaats van random reads één groot bestand laat inlezen. Dit zorgt ervoor dat lage rpm schijven en hardeschijven in het algemeen niet meer hoeven te doen waar ze heel slecht in zijn: random I/O. Want elke hardeschijf doet het erg slecht op het gebied van random reads.
De laatste review van tom is wel aardig, maar wel de oudere 500GB-platter WD Green. Tegenwoordig zitten we met 666GB - 1TB platter schijven. Maar de scores van die review kloppen wel aardig, al is PCMark niet zo'n heel goede benchmark naar mijn smaak.
Zou zelf nooit 5400rpm disks in mijn raid setup willen. De Blue's zijn sneller en bevallen qua hitte en geluid prima!
Dan blijf je daar fijn bij. Dat doet verder niets af aan mijn verhaal. De green schijven zijn qua sequential I/O ijzersterk en nauwelijks minder goed dan ouderwetse hoge rpm schijven, zoals jouw WD Blue. Heb je geen SSD en gebruik je een ouderwets OS zoals XP dan biedt een hogere rpm schijf nog wel meerwaarde. Maar dat zijn tegenwoordig steeds zeldzamere situaties. Moderne versies van Windows hebben geprobeerd om onder de nadelen van mechanische schijven uit te komen door ze minder random I/O te laten doen.
De beste situatie is dat je een SSD gebruikt in combinatie met een HDD. De SSD doet dan zaken als OS/applicatie I/O terwijl de hardeschijf grote bestanden opslaat. Voornamelijk in deze configuratie komen green schijven tot hun recht en is er eigenlijk geen verschil meer tussen de twee. Ook de SRT techniek van Intel waarbij een SSD als cache dient voor een grote hardeschijf, is bij uitstek geschikt voor lage rpm schijven. Deze concentreren zich dan op sequential I/O terwijl de random I/O gedaan wordt door de SSD. Dit combineert de beste eigenschappen van zowel HDD als SSD.
ps: de Wd Blue ondersteunt ook geen TLER, desondanks draaien ze alle zes hier al twee jr zonder problemen in een RAID-5 config, 24/7.
RAID5 is natuurlijk sowieso al slecht, en zonder TLER is de kans op problemen bij hoge capaciteit schijven zeker aanwezig. Dat je nu nog geen problemen hebt ondervonden, betekent niet dat je die nooit krijgt. Kijk bijvoorbeeld eens naar je SMART output, zie je daar Current Pending Sector of Reallocated Sector Count staan met een waarde hoger dan 0? Zo nee, dan heb je simpelweg nog nooit error recovery hoeven te doen waarbij TLER een rol speelt.
Wel een aardig artikel dat het goed probeert uit te leggen, maar er staan welke enkele foute aannames in:
In RAID applications, however, you do have redundant data, which the RAID controller is managing. So if a drive takes too long handling a bad block, at some point the RAID controller will go read / write the data from another drive. The key point here is what it does with the drive that didn't respond in time.
Dat kan een controller altijd al natuurlijk. Het kan zelf de schijf met rust laten en simpelweg de data van andere schijven (parity) inlezen en dat naar de applicatie sturen. Beter nog, het kan de betreffende data weer schrijven naar de schijf die een bad sector had, zodat de schade direct wordt gerepareerd. Als RAID engines dit zouden doen, zouden ze helemaal geen TLER nodig hebben. Alleen het geavanceerde ZFS doet wat ik hierboven beschrijf; automatisch bad sectors repareren door redundante data naar de bad sector te schrijven, zodat de hardeschijf de bad sector om kan wisselen voor een reserve sector. Helaas is ZFS hier een uitzondering in.
Het punt is natuurlijk dat conventionele RAID engines niet goed omgaan met hoge timeouts van disks. In feite is TLER dus een bugfix of workaround. Het echte probleem is de absurde implementatie van RAID engines die een hele schijf als failed beschouwen omdat één klein sectortje niet gelezen kan worden. Bad design.
The responses I received from Synology, QNAP, NETGEAR and Buffalo all indicated that their NAS RAID controllers don't depend on or even listen to TLER, CCTL, ERC or any other similar error recovery signal from their drives. Instead, their software RAID controllers have their own criteria for drive timeouts, retries and when a drive is finally marked bad.
Ook dit is fout gedrag omdat de hele schijf dus bad/failed wordt beschouwd terwijl het vrijwel altijd om losse bad sectors gaat terwijl de schijf zelf nog prima is. Toch wordt dan de hele schijf als failed beschouwd, wat een slecht design is.
Daarnaast, TLER is geen signaal wat van de schijf naar de controller wordt gestuurd; de controller weet helemaal niets over TLER. TLER wil simpelweg zeggen dat een hardeschijf na 7 seconden gewoon opgeeft met recovery en een I/O error terugstuurt in plaats van blijven proberen de bad sector te recoveren. Of je nou de schijf in RAID hebt of niet maakt niet uit; TLER is een drive setting waar de controller zelf geen weet van heeft.
These software RAID controllers are generally more patient and wait significantly longer for drive response and execute more retries before finally giving up and marking a drive dead. While this may degrade performance slightly when dealing with drives with bad blocks, it's intended to reduce the occurrances of drives dropping out of RAID volumes and the subsequent long, risky rebuilds.
Leuk gedacht en je kan wel drie miljard retries doen, maar als een bad sector echt bad is, moet je dat anders oplossen zoals ZFS het doet. Je blijft met een schijf waar alle 2 miljoen sectoren leesbaar zijn maar één kleine sector niet. Dit terwjil je binnen een seconde alle problemen kan oplossen door met redundante data de bad sector te overschrijven. Dat doen deze inferieure implementaties niet en dan krijg je dus veel gezeik.
I say "risky" because rebuilds take many hours and sometimes days for the large 4TB+ volumes possible with today's even medium-range NASes. And every second that an array is rebuilding is a chance for one more error that will kill the entire volume.
Hier slaat hij ook de spijker op de kop. Tijdens een rebuild die vaak moet gebeuren doordat schijven uit de array geschopt worden, is je array enorm kwetsbaar. Wat nu als op een andere schijf tijdens de rebuild opeens weer een bad sector voorkomt? Dan heb je een groot probleem want dan gooit de controller ook deze schijf uit de array. Met RAID5 betekent dat een failed array met dit soort domme controllers, ook al zijn maar twee kleine blokjes van 512 bytes onleesbaar en de rest allemaal intact, toch is je array dan failed en kun je alleen met handmatige recovery je data nog terughalen, wat velen niet weten of niet de kennis/geduld voor hebben. Fail.
Oh en die pillen doen goed hun werk hoor, anders had ik nooit zo rustig op jouw berichtje kunnen reageren.