Heb een vraag over mdadm + TLER/ERC/CCTL, zal eerst even een inleidend verhaaltje doen, indien TL;DR; skip naar beneden.
Verhaaltje
Ik ben momenteel bezig om mijn [url=/forum/list_message/38859712#38859712]huidige build[/url] wat om te bouwen van 2TB naar 4TB disks. Er zit al een nieuw controller in; de
LSI SAS 9201-16i, welke compatible is met >2.2T disks.
Momenteel ben ik data aan het kopiëren van mijn 'oude' array met 9 x WD20EARS naar mijn nieuwe array, voorlopig even bestaande uit 5 x WD40EFRX (RED), md raid5, XFS, 16TB effectief. Binnenkort komen daar 3 schijven bij en zal het een raid6 worden met dus 24TB effectief.
Ik heb lang na zitten denken over de schijven; de 2TB WD Greens waren op zich goed bevallen, zolang je maar op de hoogte bent van de quirks (geen TLER + je moet IntelliPark disablen met WDIDLE3.exe). Nu had ik gelezen dat je sinds the WD RED's zijn ingevoerd, je Intellipark niet meer kunt uitschakelen op de Greens. Puur marksegmentatie. Daarom ben ik met enige tegenzin (ik haat om €25-30 per disk neer te tellen om een kunstmatig opgworpen barrière te kunnen overwinnen) voor de WD Red's gegaan. Heb nog even overwogen om de Hitachi/HGST 5k4000 te doen, maar aangezien ze bijna even duur zijn, de Hitachi luidruchtiger en minder zuinig is en ik erg gecharmeerd ben van WD's advance replacement warranty, heb ik toch de RED's gekocht.
Enfin, lang verhaal kort: ik heb 5 WD Red's, waarmee je middels smartmontools live the TLER-setting kunt instellen. Hierover heb ik een vraag.
Linux MD + TLER?
Voorheen heb ik altijd gelezen en gehoord dat TLER/ERC/CCTL 'harmful' is voor software raid ("misschien had de disk nog wel gerepareerd kunnen worden"), dus heb ik nooit schijven met deze tech hoeven of willen kopen. Nu begin ik deze aanname echter in twijfel te trekken. Hopelijk zijn er hier meer mensen die erover hebben nagedacht, wat research hebben gedaan en wellicht helderheid kunnen verschaffen.
Dat mdadm in principe geen timeout doet is volgens mij nog steeds een valide aanname. Waar ik, en volgens mij velen met mij, geen rekening mee hebben gehouden, is de timeout van de SCSI layer zelf. Dit zag ik langskomen op wikipedia.
De case die vóór TLER wordt gemaakt, ook met software raid, luidt op internet als volgt. Inderdaad, MD zelf heeft geen timeout en een vrij goede recovery procedure:
quote: man md
.. a read-error will instead cause md to attempt a recovery by overwriting the bad block. i.e. it will find the correct data from elsewhere, write it over the block that failed, and then try to read it back again.
Als dit lukt dan zou dit inderdaad ideaal zijn. Echter, zodra de SCSI timeout wordt bereikt (30s), zal hoe dan ook de drive gewoon offline worden gehaald en krijgt mdadm niet de mogelijkheid om gericht de sectoren/data te repareren adhv de parity data volgens de bovenstaande procedure.
Dus, zegt men, moet de TLER timeout worden ingesteld op een value die iets onder de SCSI timeout-waarde ligt. Op die manier wordt leidt een read error in de disk niet tot een SCSI timeout, maar simpelweg een read error.
Dus mijn vraag: wat denken jullie hiervan? Cruciaal hier lijkt me de vraag of het inderdaad zo dat een SCSI timeout tot het droppen van een drive leidt.
Dus, TLER aan of uit?
12 × LG 330Wp (Enphase) | Daikin FTXM-N 3,5+2,0+2,0kW | Panasonic KIT-WC03J3E5 3kW