Vraag


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
Beste Tweakers,

Omdat een harde schijf uit mijn ZFS mirror aan het overlijden is heb ik daarvoor een nieuwe HDD gekocht. Op basis van Het grote zuinige server topic ben ik daarbij gegaan voor de 5TB variant van de Seagate Expansion Portable. Dit is dus een externe HDD, maar met SATA aansluiting en populair om de HDD te verwijderen en daarna gewoon intern te gebruiken.
Eenmaal aangekomen heb ik de HDD getest met SeaTools van Seagate zelf en een run van h2testw waarbij in ieder geval het laatste tooltje de HDD volledig vol schrijft en daarna nog eens terug leest en verifieert. Het resultaat van h2testw was in orde en de uiteindelijke schrijf snelheid kwam neer op een naar mijn idee respectabele 90MB/s (na ik meen iets van 13 uur continu schrijven).

Vervolgens heb ik de HDD voorzichtig verwijderd uit zijn behuizing en deze ingebouwd in mijn NAS/thuisserver. Maar vervolgens bleek, tot mijn verbazing, de performance extreem tegen te vallen. De HDD toevoegen aan mijn ZFS mirror bleek zo 9 uur in beslag te nemen voor maar 266GB aan data, dat komt dus neer op 8 á 9MB/s oftewel een factor 10 minder dan wat ik met h2testw haalde.
Maar aangezien de resilver was afgerond heb ik de HDD maar laten zitten er vanuit gaande dat alles wel goed zou komen en puur de resilver traag was. Maar je raad het al: ook dat was niet het geval. Het systeem werd er onstabiel van en blijkt met tijden en wijlen unresponsive. Zet ik deze HDD op offline draait de boel weer als een zonnetje.

In eerste instantie heb ik toen (week of twee terug) nog verschillende tests gedaan met het schrijven van een groot bestand (middels dd) naar de mirror en dit haalde IIRC maar iets van 60MB/s en met deze nieuwe schijf op offline haalde dat wel rond de 100MB/s. Dus ook in dit geval haalde deze HDD de performance omlaag, zij het niet zo extreem laag. Vervolgens heb ik de HDD weer uitgebouwd en via de USB interface getest met h2testw en dit liep wederom als een zonnetje en starte netjes met 130MB/s en uiteindelijk was de test ook weer afgerond met een gemiddelde snelheid van in de 90MB/s. HDD terug geplaatst in de NAS en weer een resilver gedaan, en performance was weer dramatisch (9 uur resilver en langzame writes met lockups als gevolg).

Vervolgens heb ik gisteren de HDD maar weer uitgebouwd en in mijn vaste PC ingebouwd om daarmee te testen via SATA (i.p.v. weer via de USB interface). Conclusie:
Onder Windows (met NTFS) met h2testw is de HDD snel (100GB schrijven met ongeveer 90MB/s);
Onder Linux op een ext4 filesystem is de HDD ook snel (getest met dd if=/dev/zero of=/mnt/test.img bs=1G count=100 oflag=dsync) en wederom een 90 tot 100MB/s
Onder Linux met ZFS is de HDD langzamer, maar niet zo extreem traag (60MB/s en dus ~30 tot 40MB/s langzamer dan Windows en ext4).

Vervolgens gisteravond de HDD weer terug geplaatst in mijn NAS om een resilver te doen en in het begin was deze hoopvol met 60MB/s en een resilver tijd van rond het uur. Maar je raad het al. Gaandeweg begon de snelheid steeds verder in te zakken en uiteindelijk was deze vanmorgen, na 9 uur en 10 minuten, afgerond.
Op basis van wat Google werk was ik nog het zpool iostat -vl <pool> <interval> commando tegen gekomen. Deze geeft dus IO statistieken voor een pool met een bepaald interval. Wat daarbij opvalt is dat er voor deze schijf vaak een "disk_wait - write" wordt gerapporteerd in seconden (variërend van 1s tot 9s) en een "total_wait - write" die gelijk, of nog hoger is (nu zal gelijk aan "disk_wait" waarschijnlijk komen doordat het in dit geval om een "total" gaat wat dus beïnvloed wordt door "disk_wait", maar soms nog 1, 2, 3 seconden hoger kan ik niet verklaren).
Nadat de resilver vanmorgen was afgerond waren de issues van een unresponsive systeem ook weer terug. En de oorzaak was hetzelfde: zpool iostat die een "disk_wait - write" rapporteert van in de seconden waar dat bij de andere schijf/schrijven in de microseconden is.

De hard- en software die ik gebruik is als volgt:
HDD: Zoals genoemd de Seagate Expansion Portable 5TB
Moederbord (en dus SATA controller): Gigabyte GA-H87-HD3
Besturingssysteem: Arch Linux met LTS kernel - 4.19.89
ZFS: ZoL versie 0.8.2 (uit de archzfs repository)

De andere PC waarop alles beter werkte heeft de volgende "afwijkingen":
Moederbord: Gigabyte GA-H170-D3HP
Besturingsssyteem: Arch Linux, maar met de normale Linux kernel: 5.2.X

Wie kan mij dus een duw in de juiste richting geven om verder te zoeken?
Uiteraard kan ik hardware volledig om bouwen om bv issues met het moederbord/SATA controller uit te sluiten maar daar gaat flink wat tijd in zitten en het geeft 0 garantie dat het daar aan ligt. Ook het upgraden naar de normale (niet LTS) Linux kernel doe ik liever niet, maar is in ieder geval een stuk makkelijker te realiseren.
Naar mijn idee zou een eerste stap in ieder geval zijn om een realistische test te doen met de andere PC. Alleen weet ik niet in hoeverre dat mogelijk is.
Andere, mogelijk nog betere test, is de volgende:
De mirror bestaat nu uit drie schijven: werkende, die met bad sectors die dus vervangen moet worden, en deze Seagate. Is het bv mogelijk om de Seagate weer te detachen, die met de bad sectors op offline te zetten, en vervolgens beide schijven te koppelen aan de andere PC, daar als (read only) te importeren en dan de Seagate toevoegen aan de "mirror". Dan kan ik op basis daarvan kijken of: 1. de snelheid dan wel in orde is; 2. als de resilver dan ook traag is eventueel op die PC ook een test doen met de Linux LTS kernel om potentiële isues daarin uit te sluiten. Dan hoef ik in ieder geval niet zo veel te "experimenteren" met mijn belangrijke NAS/thuisserver (waar Pi-Hole, Home Assistant, en... op draait).

Alvast bedankt

Beste antwoord (via RobertMe op 03-01-2020 14:27)


  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

Volgens de pricewatch (pricewatch: Seagate Barracuda Compute 2,5", 5TB) is het een SMR-schijf. De schijven die ik zelf heb komen overigens ook uit een externe behuizing.

Maar het performance-gedrag is wel hetzelfde als wat ik ervaar: ik kan zonder problemen veel data er naartoe duwen (gisteren binnen een half uur ~140GB) als het maar sequentieel is, maar zodra het wat meer willekeurig wordt (wat helaas het geval is bij een resilver) is de performance om te huilen.

Alle reacties


Acties:
  • +1 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
Misschien handig om nog even wat meer informatie te geven over je setup.

Dingen die ik zelf eerst zou uitsluiten zijn:

- Voeding: meet of je voldoende 5V spanning hebt tijdens een scrub.
- Sata kabels uitsluiten door met andere te testen
- Losse zpool aanmaken met nieuwe schijf en kijken of je daar wel normale performance hebt.

Acties:
  • 0 Henk 'm!

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
S.M.A.R.T info uitlezen, en kijken of er fouten zijn, bijv. CRC fouten, dat kan een slechte sata kabel of connector zijn.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Acties:
  • 0 Henk 'm!

  • Wintervacht
  • Registratie: December 2016
  • Laatst online: 07-08 10:04

Wintervacht

☉ ‿ ⚆

Is het zo dat het hele systeem wacht tot elke schijf beschikbaar is voor schrijven alvorens er wat gebeurt?
De firmware van Seagate heeft een erg aggressief power management, die niet altijd voor goede resultaten zorgt. De APM zorgt er voor dat de koppen constant geparkeerd worden, ook als de schijf gewoon lees/schrijfopdrachten te verwerken heeft. Dit gebeurt dan letterlijk om de paar seconden, waarmee hij een kleine 50% van de tijd gewoon niets doet.
Zelf merkte ik dat mijn seagate schijf de kop 1100 (!) keer in 24 uur parkeerde, met een rating van 300.000 bewegingen voor de heads is die er dus zo doorheen, alsmede de snelheden... Die werden geädverteerd als 150+Mb/s, in de praktijk haalde hij max. 40-45 MB/s...

Toen heb ik met een speciaal tooltje op usb buiten Windows om de firmware aangepast en de head parking gewoon helemaal uitgeschakeld, behalve uiteraard bij inschakelen/uitschakelen, toen was dat constante getik van de koppen weg en haalde hij gemiddeld 160Mb/s overdracht...

Ik weet niet of het daar aan kan liggen, lijkt me wel raar gezien de performance van het gehele systeem daalt ook als er niets met die schijf gedaan wordt, maar wellicht is het het waard om er even naar te kijken.

Weet een beetje van veel dingen en veel van een paar dingen.


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
Allemaal goede punten.
- Voeding: meet of je voldoende 5V spanning hebt tijdens een scrub.
Hoe kan ik dit testen? In dit geval gaat het ook nog eens om een case met hot swap bays. 2x molex achterop insteken en dan zijn er 8 HDD bays van stroom voorzien.
- Sata kabels uitsluiten door met andere te testen
Zoals gezegd gaat het om hot swap bays en ik zou bijna zeggen, uiteraard, heb ik de HDD al in een ander slot gedaan. Maar dat mocht niet baten
- Losse zpool aanmaken met nieuwe schijf en kijken of je daar wel normale performance hebt.
Goed punt. Dat heb ik dus wel op andere PC gedaan maar nog niet op de NAS. 1GB ging nu goed (9s / 117MB/s). 100GB loopt nu.
u_nix_we_all schreef op maandag 30 december 2019 @ 13:55:
S.M.A.R.T info uitlezen, en kijken of er fouten zijn, bijv. CRC fouten, dat kan een slechte sata kabel of connector zijn.
Die heb ik gisteren of vandaag nog bekeken toen het "mis" ging en ik zag niks geks en kwamen min of meer overeen met wat ik een tijdje terug ook al in het Check je SMART topic poste:
RobertMe in "Check je SMART"

Wat wel opvallend was: ik deed de smartctl -a ... terwijl de HDD bezig was en het ophalen van de data was daardoor blijkbaar ook super traag (output gebeurde letterlijk in blokken met steeds een paar seconden ertussen (eerst HDD info, even later beschikbare tests etc, weer even later de attributes, ...)). In die zin dus alsof de SATA lijn "bezet" was en/of de controller druk was. En niet perse "de HDD is aan het lezen" (tenzij SMART info op de platters zelf staat :p).
Wintervacht schreef op maandag 30 december 2019 @ 14:03:
Is het zo dat het hele systeem wacht tot elke schijf beschikbaar is voor schrijven alvorens er wat gebeurt?
Nja, systeem unresponsive klopt niet helemaal. Linux an zich reageert gewoon (kan via SSH inloggen etc). Alleen draait bv Pi-Hole van op deze mirrors, en heb dus (op hele netwerk) last van DNS resolution timeouts etc. Top/uptime/... geeft op zo'n moment ook een hele hoge load aan (8 bv) maar zal ook komen doordat steeds meer processen gaan wachten op reads/writes van de mirror.
Dat ZFS bij writes deze pas ack-ed nadat de data naar alle disks is geschreven lijkt mij in ieder geval een veilige aanname, maar ik ben geen kenner dus zeker weten doe ik het niet.
De firmware van Seagate heeft een erg aggressief power management, die niet altijd voor goede resultaten zorgt. De APM zorgt er voor dat de koppen constant geparkeerd worden, ook als de schijf gewoon lees/schrijfopdrachten te verwerken heeft. Dit gebeurt dan letterlijk om de paar seconden, waarmee hij een kleine 50% van de tijd gewoon niets doet.
Zelf merkte ik dat mijn seagate schijf de kop 1100 (!) keer in 24 uur parkeerde, met een rating van 300.000 bewegingen voor de heads is die er dus zo doorheen, alsmede de snelheden... Die werden geädverteerd als 150+Mb/s, in de praktijk haalde hij max. 40-45 MB/s...

Toen heb ik met een speciaal tooltje op usb buiten Windows om de firmware aangepast en de head parking gewoon helemaal uitgeschakeld, behalve uiteraard bij inschakelen/uitschakelen, toen was dat constante getik van de koppen weg en haalde hij gemiddeld 160Mb/s overdracht...
Interessant. Maar het ticken van de HDD is mij niet opgevallen en dit gegeven is mij ook niet opgevallen in de SMART waardes.


Ik zal zometeen even nieuwe SMART data ophalen en hier posten. Maar zoals gezegd, als leek zag ik hier niks geks in behalve dan de voor Seagate hoge waardes voor raw read error rate / seek error rate / hardware ecc recoverd.
Bij deze:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   100   064   006    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0003   098   096   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       64
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   079   061   045    Pre-fail  Always       -       70870969
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       367 (32 178 0)
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       62
183 SATA_Downshift_Count    0x0032   098   098   000    Old_age   Always       -       2
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   068   051   040    Old_age   Always       -       32 (Min/Max 24/32)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       1
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       56
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       98
194 Temperature_Celsius     0x0022   032   049   000    Old_age   Always       -       32 (0 15 0 0 0)
195 Hardware_ECC_Recovered  0x001a   100   064   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       1
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       349 (96 177 0)
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       27474083131
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       32824837528
254 Free_Fall_Sensor        0x0032   100   100   000    Old_age   Always       -       0

Voor mijn gevoel dus niks heel geks.

En intussen is het schrijven van de 100GB ook voltooid: 1623 seconden oftewel 66,1MB/s. Dus wel net iets meer dan de helft van 1GB (met 117MB/s) maar nog niet terug naar 8MB/s gemiddeld.

[ Voor 26% gewijzigd door RobertMe op 30-12-2019 14:48 ]


Acties:
  • +1 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
RobertMe schreef op maandag 30 december 2019 @ 14:32:

Hoe kan ik dit testen? In dit geval gaat het ook nog eens om een case met hot swap bays. 2x molex achterop insteken en dan zijn er 8 HDD bays van stroom voorzien.
Met een simpele multimeter en dan de ene meetkabel op 5V van sata kabel zetten en de andere op ground. Tijdens een scrub worden schijven intensief belast. Als de 5V lijn enorm begint te zakken dan ligt de oorzaak hoogstwaarschijnlijk bij de voeding.

Maar werkt die nieuwe schijf wel goed in een nieuwe zpool?


Wat @Wintervacht beschrijft, daar hebben deze schijven geen last van.

[ Voor 6% gewijzigd door GioStyle op 30-12-2019 14:55 ]


Acties:
  • 0 Henk 'm!

  • Malantur
  • Registratie: Juni 2007
  • Laatst online: 11:29
RobertMe schreef op maandag 30 december 2019 @ 14:32:
Bij deze:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   100   064   006    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0003   098   096   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       64
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   079   061   045    Pre-fail  Always       -       70870969
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       367 (32 178 0)
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       62
183 SATA_Downshift_Count    0x0032   098   098   000    Old_age   Always       -       2
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   068   051   040    Old_age   Always       -       32 (Min/Max 24/32)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       1
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       56
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       98
194 Temperature_Celsius     0x0022   032   049   000    Old_age   Always       -       32 (0 15 0 0 0)
195 Hardware_ECC_Recovered  0x001a   100   064   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       1
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       349 (96 177 0)
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       27474083131
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       32824837528
254 Free_Fall_Sensor        0x0032   100   100   000    Old_age   Always       -       0

Voor mijn gevoel dus niks heel geks.
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 367 (32 178 0)
183 SATA_Downshift_Count 0x0032 098 098 000 Old_age Always - 2
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 1

CRC Error Count duid toch op een rotte kabel.
SATA downshift is volgens mij niet problematisch maar naar mijn gevoel toch gek dat die al op 2 staat.
Je disk is nog maar 367h oud.

[ Voor 6% gewijzigd door Malantur op 30-12-2019 14:55 ]

'Let's eat Grandma!' or, 'Let's eat, Grandma!'. Punctuation saves lives.


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
GioStyle schreef op maandag 30 december 2019 @ 14:48:
[...]


Met een simpele multimeter en dan de ene meetkabel op 5V van sata kabel zetten en de andere op ground. Tijdens een scrub worden schijven intensief belast. Als de 5V lijn enorm begint te zakken dan ligt de oorzaak hoogstwaarschijnlijk bij de voeding.
Probleem in deze is dus dat het via een hot swap bay gaat waarbij er intern meerdere HDDs op dezelfde molex plug zitten. Dan zou ik de "PC" dus moeten uitbouwen, open maken etc om de HDD apart aan te sluiten. Maar als voltage te laag is zou ik het lijkt mij ook op de andere schijven moeten merken. Omdat in totaal dus 8 bays gevoed worden door 2 molex aansluitingen (overigens zitten er momenteel maar 5 drives in).
Maar werkt die nieuwe schijf wel goed in een nieuwe zpool?
Mijn edit en jouw post hebben elkaar gekruist. 100GB met 66,1MB/s. Niet perse heel snel dus, maar ook niet maar 8MB/s gemiddeld. Intussen heel dom een dd gestart om 4500x 1GB te schrijven naar een file. Oftewel: file van 4500GB/4,5TB. Benieuwd wat dat op den duur gaat geven.



Wat ik me ook nog had bedacht is dat ik nog een oude 500GB schijf erbij kan pakken. Dan zet ik daarop een nieuwe pool en send & receive daar de huidige mirror naar. Op basis van die disk kan ik dan zowel in de NAS als op m'n gewone PC een resilver doen naar de Seagate om te zien of het aan de disk of overige verschillen (Linux kernel, mobo/sata controller/ ... ligt)


Malantur schreef op maandag 30 december 2019 @ 14:55:
[...]


9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 367 (32 178 0)
183 SATA_Downshift_Count 0x0032 098 098 000 Old_age Always - 2
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 1

CRC Error Count duid toch op een rotte kabel.
SATA downshift is volgens mij niet problematisch maar naar mijn gevoel toch gek dat die al op 2 staat.
Je disk is nog maar 367h oud.
Kan dat niet ook komen door alle "geëxperimenteer"? Schijf is intussen al een flink aantal keren geattached en gedetached. Mogelijk dat daardoor bij "opstarten" bv nog de SATA kabel niet goed erin zat en daardoor de versie niet goed onderhandeld of CRC errors door misschien net op verkeerde moment te unpluggen. Zeker bij de hot-swap bay waar je niet netjes eerst SATA kunt aansluiten en daarna pas de stroom.

[ Voor 24% gewijzigd door RobertMe op 30-12-2019 15:08 ]


Acties:
  • +4 Henk 'm!

  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

Welk type schijf (het modelnummer van de interne schijf dus) is het precies? De kans bestaat dat het een SMR-schijf is, en daarvan valt dan te verwachten dat de performance beroerd is. Het gedrag lijkt wel overeen te komen met de SMR-schijven die ik zelf heb (al zou ik eigenlijk geen SMR-schijf verwachten in die behuizing).

Acties:
  • 0 Henk 'm!

  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Malantur schreef op maandag 30 december 2019 @ 14:55:
[...]


9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 367 (32 178 0)
183 SATA_Downshift_Count 0x0032 098 098 000 Old_age Always - 2
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 1

CRC Error Count duid toch op een rotte kabel.
SATA downshift is volgens mij niet problematisch maar naar mijn gevoel toch gek dat die al op 2 staat.
Je disk is nog maar 367h oud.
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 1
Ik vind deze ook wel verdacht. Schijf per post besteld?

QnJhaGlld2FoaWV3YQ==


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
dcm360 schreef op maandag 30 december 2019 @ 15:18:
Welk type schijf (het modelnummer van de interne schijf dus) is het precies?
ST5000LM000-2AN170
De kans bestaat dat het een SMR-schijf is, en daarvan valt dan te verwachten dat de performance beroerd is. Het gedrag lijkt wel overeen te komen met de SMR-schijven die ik zelf heb (al zou ik eigenlijk geen SMR-schijf verwachten in die behuizing).
Ik heb de term SMR wel eens gelezen, maar ben er niet bekend mee. En als ik even snel Google lijkt deze techniek ook alleen gebruikt te worden bij "archive" drives, oftewel waarop niet vaak wordt geschreven en eenmaal wordt geschreven en dan wordt weggelegd. Dan sluit ik me dus bij je aan dat het raar zou zijn als deze techniek wordt toegepast bij een normale externe drive die ook nog eens veelvuldig wordt aangeraden om te shucken.
Daarbij vraag ik mij ook af hoe het dan zou kunnen dat met deze techniek de disk alsnog volgeschreven kan worden (=5TB) met een gemiddelde van 90MB/s (aldus h2testw), terwijl 266GB aan data over zetten in een ZFS mirror maar met 8, 9MB/s gaat gemiddeld.

Overigens komt die ~60MB/s wel overeen met wat ik las in de ZFS hoek m.b.t. aanpassingen in de 4.9 kernel. Symbols die niet meer beschikbaar zijn voor ZFS waardoor die hun eigen implementatie hebben moeten doen en daardoor een performance drop. Maar dan als dat nog niet opgelost is dan zou ik nog steeds verwachten dat dit ook zichtbaar is op de mirror zonder deze disk erin. Maar dan haal ik dus wel nog ~90MB/s.
En schrijven met 60MB/s zou ik ook nog niet perse een issue vinden. Zolang de boel maar werkt. 9MB/s / resilver van 9 uur voor 266GB vind ik wel een issue. En soms de lockups door extreem langzame writes (/drive_wait - write van enkele seconden) is natuurlijk nog een veel groter issue.
Brahiewahiewa schreef op maandag 30 december 2019 @ 15:21:
[...]

191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 1
Ik vind deze ook wel verdacht. Schijf per post besteld?
Jip. Maar kan die sensor registreren terwijl de HDD uit is? Overigens maak ik me hier ook niet direct zorgen om. Zolang die op 1 blijft staan in ieder geval. Het blijft van origine een externe HDD en het kan ook zo zijn dat ik met al mijn gedoe de schijf een keer heb om gelegd (al dan niet nog in de externe behuizing) terwijl die liep en daardoor de sensor misschien is afgegaan.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

Volgens de pricewatch (pricewatch: Seagate Barracuda Compute 2,5", 5TB) is het een SMR-schijf. De schijven die ik zelf heb komen overigens ook uit een externe behuizing.

Maar het performance-gedrag is wel hetzelfde als wat ik ervaar: ik kan zonder problemen veel data er naartoe duwen (gisteren binnen een half uur ~140GB) als het maar sequentieel is, maar zodra het wat meer willekeurig wordt (wat helaas het geval is bij een resilver) is de performance om te huilen.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
dcm360 schreef op maandag 30 december 2019 @ 15:53:
Volgens de pricewatch (pricewatch: Seagate Barracuda Compute 2,5", 5TB) is het een SMR-schijf. De schijven die ik zelf heb komen overigens ook uit een externe behuizing.

Maar het performance-gedrag is wel hetzelfde als wat ik ervaar: ik kan zonder problemen veel data er naartoe duwen (gisteren binnen een half uur ~140GB) als het maar sequentieel is, maar zodra het wat meer willekeurig wordt (wat helaas het geval is bij een resilver) is de performance om te huilen.
Dank. Via Reddit bij de handleiding / specsheet uitgekomen en inderdaad:
Shingled magnetic recording with perpendicular magnetic recording heads/media.

Kan dit ook de verschrikkelijke performance verklaren tijdens normaal gebruik? In mijn geval dus bv Pi-Hole via docker draaien, maar met de "data" (config en dnsmasq.d) op deze mirror. Vooral dus het symptoom "DNS queries geven een timeout".
Alhoewel de writes natuurlijk ook ergens anders vandaan kunnen komen (Home-Assistant met Postgresql als DB + nog eens alles naar InfluxDB loggen).
Feit blijft in ieder geval dat ZFS ook bij normaal gebruik soms die "drive_wait - write" van in de seconden rapporteert ondanks dat scrub dus al klaar was.

En valt hier dan nog omheen te werken? Waarschijnlijk door een ZIL te gebruiken? De "sync" write gaat dan naar het ZIL en daarna kan ZFS in de achtergrond naar de disks schrijven?

Acties:
  • 0 Henk 'm!

  • Renault
  • Registratie: Januari 2014
  • Laatst online: 12-09 21:49
In jouw plek had ik die harddisk allang aan een normale SATA-kabel aan het moederbord gehangen, zonder de Hot-swap bay ertussen.
Je hebt altijd een kansje dat dit de oplossing is en die ene CRC-fout duidt daar ook al een beetje op.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
Even voor mijn beeldvorming op basis van wat ik nog met Google heb opgeduikeld:
SMR valt te vergelijken met dat je alleen een asfalteer machine hebt die twee banen tegelijk aanlegt. Als je een één- of tweebaansweg wilt aanleggen is er niks aan de hand. Maar als je een bestaande weg wilt aanpassen en één baan erbij wilt leggen moet je eerst een bestaande baan afbreken en daarna met de tweebaans-asfalteermachine zowel de oude als nieuwe tegelijk aanleggen.

En bij HDDs zit je dan met dat de schrijfkop niet zo smal kan schrijven als de leeskop. Normaliter wordt dan ruimte weg gegooid (in de vergelijking: leg twee tweebaanswegen langs elkaar), en bij SMR wordt eerst de bestaande data gelezen (in de vergelijking: oude baan afbreken) en daarna worden beide banen opnieuw beschreven.

Is dat correct? Want dat verklaart dan wel iets ja... Als één schrijf actie effectief één lees en (twee?) schrijf acties worden. En bij sequential writes is dan natuurlijk het voordeel dat er ook één lange sequential read aan vooraf gaat en/of beide "banen" nieuw zijn en het op die manier efficiënter is (maar nog steeds minder efficiënt uiteraard).

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
Renault schreef op maandag 30 december 2019 @ 16:45:
In jouw plek had ik die harddisk allang aan een normale SATA-kabel aan het moederbord gehangen, zonder de Hot-swap bay ertussen.
Je hebt altijd een kansje dat dit de oplossing is en die ene CRC-fout duidt daar ook al een beetje op.
Dat is in principe dus wat ik gisteren gedaan heb, alleen dan met een compleet ander systeem. En intussen kan ik de resultaten naast elkaar leggen en bij beiden schrijf ik 100GB met maar 60MB/s. In die zin dus ook dat het bij beiden niet top is. Dat die resilver vervolgens zo traag is doordat het om een SMR drive gaat in combinatie met veel random writes had ik dan ook niet gevonden door de schijf direct aan de voeding en mobo te hangen. En zoals gezegd: ik laat de boel liever lekker draaien omdat "kritische" dingen als Pi-Hole en Home Assistant er op draaien. Als de conclusie was "het moet vrijwel zeker aan de hot-swap bay liggen" dan was het uiteraard niet anders. Maar tot nog toe is het antwoord van @dcm360 zeer plausibel.

Overigens kan die CRC error echt vele andere oorzaken hebben. Het aantal keren dat ik de HDD opnieuw heb aangesloten (of in de NAS in bay, of via USB, of gisteren direct in andere PC) valt niet meer op 10 handen te tellen (gezien 50+ power cycles :p). Dat er een keer iets nog net niet lekker aangesloten was (vooral bij hot-swap bay waar er een beetje speling is en de power connector misschien wel goed erin zit en de data connector nog net niet) met een CRC error als gevolg zou mij dus niks verbazen.

Acties:
  • +1 Henk 'm!

  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

Ik denk dat je daarmee het concept wel door hebt ja. Een 'kleine' schrijfactie kan de schijf inderdaad meerdere seconden bezighouden. Het probleem daarbij is dat de schijf in de tussentijd een leesactie in de wachtrij zet, waardoor software die geen zin heeft in seconden wachttijd het opgeeft. Een SLOG (wat jij ZIL noemt) lost dit probleem niet echt op: op het moment dat de schrijfactie van de SLOG naar de schijf schrijft moet je nog steeds wachten op een leesactie.

Gemengd lees/schrijfgebruik kan je met deze schijven dus beter niet doen.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
dcm360 schreef op maandag 30 december 2019 @ 17:02:
Ik denk dat je daarmee het concept wel door hebt ja. Een 'kleine' schrijfactie kan de schijf inderdaad meerdere seconden bezighouden. Het probleem daarbij is dat de schijf in de tussentijd een leesactie in de wachtrij zet, waardoor software die geen zin heeft in seconden wachttijd het opgeeft. Een SLOG (wat jij ZIL noemt) lost dit probleem niet echt op: op het moment dat de schrijfactie van de SLOG naar de schijf schrijft moet je nog steeds wachten op een leesactie.

Gemengd lees/schrijfgebruik kan je met deze schijven dus beter niet doen.
Als ik het goed begrijp heb jij deze schijven dus wel, maar dan alleen voor echte backup doeleinden in de zin van: "schrijf veel en doe ooit misschien lezen". (Of potentieel voor bulk storage, "video's" (* kuch *) waarbij dus eens in de zoveel tijd een file van een X aantal GB wordt geschreven en verder alleen maar lezen).

Dat een SLOG niet helpt is dan inderdaad ook duidelijk omdat van tevoren niet bekend is of er alsnog iets gelezen moet worden. Maar mogelijk dat juist de mirror dat maskeert omdat ZFS dan van een andere disk leest omdat deze al bezig is?

Acties:
  • 0 Henk 'm!

  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

RobertMe schreef op maandag 30 december 2019 @ 17:09:
[...]

Als ik het goed begrijp heb jij deze schijven dus wel, maar dan alleen voor echte backup doeleinden in de zin van: "schrijf veel en doe ooit misschien lezen". (Of potentieel voor bulk storage, "video's" (* kuch *) waarbij dus eens in de zoveel tijd een file van een X aantal GB wordt geschreven en verder alleen maar lezen).
Ik heb niet dit model schijven, maar het zijn wel ook SMR-schijven (ST8000DM004). Het was niet per se mijn bedoeling om met SMR-schijven te eindigen, maar ik gebruik ze voor archief, backup en verzamelplaats voor grote bestanden die op andere apparaten in de weg staan, dus echt beperkend is het niet. Voor actieve bulk-storage heb ik een (overigens oudere) array met wat snellere schijven, en voor intensief gebruik zoals VM's en databases nog een array met nvme-ssd's (wat met goedkope SSD's overigens ook niet vooruit te branden valt als ik er eens veel data op wil zetten).
Dat een SLOG niet helpt is dan inderdaad ook duidelijk omdat van tevoren niet bekend is of er alsnog iets gelezen moet worden. Maar mogelijk dat juist de mirror dat maskeert omdat ZFS dan van een andere disk leest omdat deze al bezig is?
Bij een mirror lijkt me de kans juist groot dat beide schijven op hetzelfde moment bezig zijn met het verwerken van dezelfde schrijf-actie. Het is immers de bedoeling van een mirror dat de schijven dezelfde inhoud bevatten. Puur met lezen kunnen er inderdaad wel meerdere disks gebruikt worden om verschillende lees-acties af te handelen, maar voor lezen lijken deze schijven toch een fatsoenlijke performance te hebben.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
dcm360 schreef op maandag 30 december 2019 @ 20:40:
[...]

Ik heb niet dit model schijven, maar het zijn wel ook SMR-schijven (ST8000DM004).
Dat was idd wat ik bedoelde met "deze schijven". Schijven op basis van SMR en niet het specifieke model.
[...]

Bij een mirror lijkt me de kans juist groot dat beide schijven op hetzelfde moment bezig zijn met het verwerken van dezelfde schrijf-actie. Het is immers de bedoeling van een mirror dat de schijven dezelfde inhoud bevatten. Puur met lezen kunnen er inderdaad wel meerdere disks gebruikt worden om verschillende lees-acties af te handelen, maar voor lezen lijken deze schijven toch een fatsoenlijke performance te hebben.
Ik doelde voornamelijk in combinatie met een SLOG. Schrijven naar SLOG is dan snel. Vervolgens kan op de achtergrond het SLOG worden weggeschreven (tenzij SLOG vol is). Lijkt mij in dat geval niet essentieel dat alle data tegelijkertijd naar de volledige mirror wordt geschreven, zolang het uiteindelijk maar op beide schijven staat en dan pas uit het SLOG wordt gehaald. En de andere schijf zal dan uiteraard sneller klaar zijn met schrijven en dan dus weer lekker snel kunnen lezen waar deze Seagate dan maar even "inactief" moet blijven v.w.b. lezen omdat die nog flink aan het schrijven is.


RobertMe schreef op maandag 30 december 2019 @ 14:58:
Intussen heel dom een dd gestart om 4500x 1GB te schrijven naar een file. Oftewel: file van 4500GB/4,5TB. Benieuwd wat dat op den duur gaat geven.
Deze heeft nu blijkbaar een kleine 900GB geschreven, op tijd van 7 uur. Dan kom ik op ong. 36MB/s uit tot nu toe. Dat is dus weer een stuk dramatischer. En dat voor een grote (dus sequentiële) file op een nieuwe pool (en dus ongebruikt verder). Dan zou die dus 35 uur bezig zijn om de schijf vol te schrijven (vs 13 uur van h2testw). Dit doet mij eerlijk gezegd dan toch weer twijfelen of (alleen) SMR het issue is. Of heeft ZFS zo'n grote impact op de performance? Tussendoor zullen er waarschijnlijk ook nog wel checksums van de file worden berekend en opgeslagen? Maar of de impact daarvan zo groot is?

Edit:
Wat me in die zpool iostat -vl overigens ook opvalt is dat de "syncq_wait" vrij vaak en lang in de secondes staat (heb zelfs 34 seconden gezien). Wat betekent dit? Ik vermoed de tijd dat het oudste "pakketje" al in de queue staat om geschreven te worden? Dus een write die door ZFS nog niet naar de HDD is gestuurd omdat voorgaande writes nog niet zijn ge-ack-ed? De "disk_wait - write" lijkt dan wel "beter" te zijn, namelijk in microseconden, waar deze bij de scrub en normaal gebruik opliep tot in de seconden.

[ Voor 10% gewijzigd door RobertMe op 30-12-2019 22:12 ]


Acties:
  • +1 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
@RobertMe

Ik heb hier 6 dezelfde schijven in een zpool raidz2 zitten. Mijn zpool is voor 20% gevuld. Als ik even 100GB weg schrijf dan gebeurt dat met 300MB/s, dus 75MB/s per schijf. Ik zal morgen even voor de grap 1TB weg schrijven. Kijken wat dat doet. Jouw 36MB/s vind ik erg aan de lage kant.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
GioStyle schreef op maandag 30 december 2019 @ 23:06:
@RobertMe

Ik heb hier 6 dezelfde schijven in een zpool raidz2 zitten. Mijn zpool is voor 20% gevuld. Als ik even 100GB weg schrijf dan gebeurt dat met 300MB/s, dus 75MB/s per schijf. Ik zal morgen even voor de grap 1TB weg schrijven. Kijken wat dat doet. Jouw 36MB/s vind ik erg aan de lage kant.
Daar ben ik dan ook wel benieuwd naar. Heb zelf de "test" afgebroken, resultaat van dd niet opgeslagen, maar de file is 997GB en de snelheid was 38MB/s. Dus die 36MB/s was iets aan de lage kant, maar die 2MB/s maken het verschil natuurlijk ook niet.

Zelf ga ik de test morgen ook nog maar even opnieuw doen maar dan op mijn andere PC om toch net iets meer zeker te weten dat het wel/niet aan de schijf ligt.

Overigens is het volgens mij wel van belang dat je de dd met een van de sync opties doet, anders is de kans veel groter dat nog niet alles naar de disk is weggeschreven en dat vertekend het beeld natuurlijk flink.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
Schiet mij maar lek. Vanmorgen de HDD geformatteerd met ext4 (verder niks veranderd, niet omgeprikt of wat dan ook), en weer een dd gestart voor 4,5TB te schrijven. En nu, 1,5 uur later, heeft hij al 570GB geschreven. Voor 1TB kom je dan uit op ruim minder dan 3 uur waar die gisteren met ZFS dus 7 uur bezig was voor 1TB.

Doet mij toch weer twijfelen of er niet iets gigantisch mis zit in ZFS (en dan zelfs in die nieuwe pool). Of ZFS moet echt enorm een enorme inefficiëntie in de HDD triggeren (door dus bv vaak tussendoor te lezen om checksum te berekenen en die dus weer ergens op moeten slaan en daarmee random read triggeren etc etc)

Edit:
En ook deze nu afgebroken:
sudo dd if=/dev/zero of=/mnt/test.img bs=1G count=4500 oflag=dsync
^C1086+0 records in
1086+0 records out
1166083620864 bytes (1.2 TB, 1.1 TiB) copied, 10504 s, 111 MB/s

ext4 is dus bijna 3x zo snel als ZFS (111MB/s vs 38MB/s), dat vind ik toch bizar veel.
Nu nog maar eens de HDD aan mijn PC hangen en weer met ZFS vullen. Kijken of het daar sneller is.

[ Voor 24% gewijzigd door RobertMe op 31-12-2019 10:30 ]


Acties:
  • +1 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 13:17
Waar staat de recordsize van ZFS op bij het desbetreffende filesystem?
En heb je nog meer dingen 'getuned' aan ZFS?

Even getest met mijn pool, ik heb ook Seagate SMR schijven (6x2TB in RAIDZ2)

root@nas:/archivev2/Documents# dd if=/dev/urandom of=test.000 bs=1M count=100000 iflag=fullblock
100000+0 records in
100000+0 records out
104857600000 bytes (105 GB, 98 GiB) copied, 546.671 s, 192 MB/s


Mijn pool is een stuk voller:
NAME        SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
archivev2  10.9T  6.40T  4.48T         -     3%    58%  1.00x  ONLINE  -

[ Voor 75% gewijzigd door FireDrunk op 31-12-2019 11:16 ]

Even niets...


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
RobertMe schreef op dinsdag 31 december 2019 @ 09:06:
Nu nog maar eens de HDD aan mijn PC hangen en weer met ZFS vullen. Kijken of het daar sneller is.
Net gestopt met hetzelfde bedroevende resultaat:
839+0 records in
839+0 records out
900869390336 bytes (901 GB, 839 GiB) copied, 26264.5 s, 34.3 MB/s
FireDrunk schreef op dinsdag 31 december 2019 @ 10:51:
Waar staat de recordsize van ZFS op bij het desbetreffende filesystem?
Ik heb moeten googlen wat het is en hoe het in te zien, en het is de standaard 128K.
En heb je nog meer dingen 'getuned' aan ZFS?
Niet bij mijn weten. Pool aangemaakt met zpool create <naam> <disk id> en that's it. Dus tenzij er nog ergens configuratie bestanden zijn die de defaults aanpassen dan niet.
Even getest met mijn pool, ik heb ook Seagate SMR schijven (6x2TB in RAIDZ2)

root@nas:/archivev2/Documents# dd if=/dev/urandom of=test.000 bs=1M count=100000 iflag=fullblock
100000+0 records in
100000+0 records out
104857600000 bytes (105 GB, 98 GiB) copied, 546.671 s, 192 MB/s
Maar met 6 schijven in RAIDZ2 moet je gok ik de snelheid ook delen door 6-2=4? Want data zal verdeeld worden over de schijven? Dus effectief heb je dan 4 schijven met 1/4e van de totale data en dus ~200MB/s / 4 schijven is alsnog maar 50MB/s.

Nu wel ook even exact dezelfde test gedaan. Dus dd met block size van 1MB en dan 100.000 blocks. I.p.v. 100 blocks van 1GB en dan kom ik op 70MB/s uit en dus iets beter dan de vorige 70MB. Maar IMO dus nog steeds niet denderend.

Acties:
  • +1 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 13:17
Klopt, 50MB/s is sustained wel een beetje wat je kan verwachten denk ik.

Even niets...


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
FireDrunk schreef op dinsdag 31 december 2019 @ 19:47:
Klopt, 50MB/s is sustained wel een beetje wat je kan verwachten denk ik.
Kun je dat wellicht wat verder toelichten? Bedoel je dan meer in zijn algemeenheid (of je nu single disk, mirror of RAIDZ hebt, single disk performance is dan 50MB/s, of voor een specifieke setup?). En in zijn algemeenheid voor HDDs, of specifiek voor SMR schijven?

Ik zit nu nog steeds in dubio. Is de schijf goed genoeg, of moet ik er maar een andere toepassing voor zoeken? In principe zou een nieuwe "server" bouwen geen slecht idee zijn. En dan kan ik er meteen voor zorgen dat "services" (Pi-Hole, Unifi Controller, Home Assistant, ...) altijd opslag op een SSD (evt mirror) hebben. Deze Seagate disk zou dan evt nog gebruikt kunnen worden voor meer permanente opslag (backups van PCs etc, en evt. ook (DB) backups van Unifi Controller, HA etc). Maar dan moet ik nog steeds zekerheid hebben in dat de disk wel goed werkt en dat de issues nu komen door de combi SMR + veel kleine writes (zowel van de resilver zelf, als daarna de "lockups" door bv HA die op achtergrond veel naar Postgresql en InfluxDB schrijft). Want in dat geval kan een clean slate met een nieuwe indeling van bestanden etc dus de oplossing zijn voor de traagheid en een splitsing daarin is ook zeker geen slecht idee.

Huidige hardware qua mobo etc is uit 2013 en SSD zelfs nog iets ouder. Laatste clean install is alweer uit 2016. En ik heb laatste tijd wel al eens gekeken voor een hardware upgrade en wat verdiept in Proxmox. Dus het idee voor "iets nieuws" speelde al. Zowel op vlak van hardware als beginnen met clean slate qua installatie. Heb nu ook net nieuwe VPS waarbij ik weer iets anders aan het knutselen ben met waar Docker containers data opslaan etc om zo betere snapshots & replication te kunnen doen. Dus ideeën genoeg op dat vlak.

Acties:
  • 0 Henk 'm!

  • Renault
  • Registratie: Januari 2014
  • Laatst online: 12-09 21:49
Even vanuit de praktische hoek: je schijf heeft in één van de opstellingen uitstekend gedraaid, dus een hardwarefout ligt niet voor de hand. Bij gebrek aan een specifieke en oficiële foutcode zal RMA dus niet gaan lukken.
En garantie ook niet, want je hebt de harddisk uit de behuizing gehaald. (Alleen al moreel gezien is dat geen goede actie, want je zou anderen opzadelen met de gevolgen.)

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
Renault schreef op woensdag 1 januari 2020 @ 01:16:
Even vanuit de praktische hoek: je schijf heeft in één van de opstellingen uitstekend gedraaid, dus een hardwarefout ligt niet voor de hand. Bij gebrek aan een specifieke en oficiële foutcode zal RMA dus niet gaan lukken.
En garantie ook niet, want je hebt de harddisk uit de behuizing gehaald. (Alleen al moreel gezien is dat geen goede actie, want je zou anderen opzadelen met de gevolgen.)
Ik heb het dan ook nergens over RMA / bedenktijd ;) Alleen "andere toepassing" (nu ben ik niet van het met externe HDDs slepen, maar gewoon weer als externe HDD gebruiken kan natuurlijk een optie zijn).



Heb nu de HDD terug gestopt in de thuisserver/NAS, nieuwe pool gemaakt, en met syncoid alle data over gezet van de huidige mirror naar deze schijf. Duurde 50 minuten voor 266GB (=90MB/s), dus in geval dat disk niks heeft te doen en het niet extreem langdurig is is de snelheid gewoon goed. Nu nog even kijken wat ik uiteindelijk ga doen.
Heb tot nu toe dus altijd een mirror gehad van 2 disks met belangrijke dingen (backups van documenten etc maar dan ook "kritieke" software zoals Pi-Hole, Home Assistant, ...). Een van beide disks heeft dan bad sectors (of in ieder geval 1 bad sector) die na uiteindelijk teveel scrubs & "clears" is weggepoetst en door ZFS niet meer gezien wordt. Deze Seagate schijf had de vervanging daarvoor moeten zijn maar dat gaat hem dus niet worden.

Ik kan nu in principe de boel dus zo laten draaien (in combinatie met cronjob om elke dag snapshots van de mirror naar deze Seagate te zetten). Dan heb ik de data op drie disks staan waarbij dan nog twee in mirror en eentje dus nog kapot kan gaan zonder downtime.
Van de andere kant is drie disks met "hetzelfde" in een systeem natuurlijk ook weer erg overdreven. Maar van de ene kant wil ik de mirror niet opgeven i.v.m. geen downtime willen hebben bij slechte disk, dus die met bad sectors wil ik ook maar laten zitten (gezien de Seagate niet bruikbaar is in de mirror). Maar ik "kan" ook niet de Seagate eruit halen want als die schijf met bad sectors dadelijk ineens toch problemen blijkt te hebben als die andere (correct werkende schijf) ook issues geeft heb ik helemaal een probleem en sla ik mezelf natuurlijk voor de kop om die disk met bad sectors te blijven gebruiken. [small]Ik heb in ieder geval op het moment dus geen andere "backups" en de enige "backups" tot noch toe was de mirror (wetende dat het geen echte backup is, behalve dan voor de PCs die documenten ook naar NAS syncen, maar bij brand is er dan nog geen off-site backup).

Waarschijnlijk wordt het dan dus toch maar een nieuwe NAS bouwen, met een andere opzet en bv de "kritieke" software van een SSD (mirror) draaien en dan of een mirror met HDDs voor backup van documenten, database backups etc of 1 HDD daarmee maar ook een off-site servertje met dezelfde data.

Genoeg food for thought in ieder geval. En verder dus case closed op basis van "schijf werkt op basis van SMR en dat geeft enorme performance issues bij veel (random) IO".

Acties:
  • +2 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 13:17
RobertMe schreef op dinsdag 31 december 2019 @ 20:42:
[...]

Kun je dat wellicht wat verder toelichten? Bedoel je dan meer in zijn algemeenheid (of je nu single disk, mirror of RAIDZ hebt, single disk performance is dan 50MB/s, of voor een specifieke setup?). En in zijn algemeenheid voor HDDs, of specifiek voor SMR schijven?
Zeker. Dat heeft met de SMR techniek te maken. Als je wil weten wat SMR precies is, zou ik vooral daar even op googlen, ik kan het wel uitleggen, maar er zijn zat mensen op deze planeet die dat veel beter kunnen dan ik.

Belangrijkste is, dat SMR een inherent effect heeft, namelijk dat read-write-modify een dure operatie is.
Er moet namelijk voor elke byte worst-case 4K ingelezen worden, en weer weggeschreven worden.
Dit wordt grotendeels opgevangen door slimme firmware, grote(re) caches, en in sommige gevallen zelfs kernel level optimalisaties op het moment dat de Linux kernel SMR schijven detecteert.

Zie ook hier:
https://www.storagereview.com/seagate_archive_hdd_review_8tb
Dit is een review van een 8TB SMR schijf van Seagate, en om de site maar even te quoten:
RAID Usage with SMR

With the attractively low price per TB that the Seagate Archive 8TB HDD has, it can be difficult to not consider purchasing a set for NAS storage. StorageReview strongly recommends against such usage, as at this time SMR drives are not designed to cope with sustained write behavior. Many contend that NAS shares tend to be very read-focused during normal operation. While that's true, the exception is when a drive fails and a RAID rebuild has to occur. In this case the results clearly show that this implementation of SMR is not a good fit for RAID.

To show this stark difference we compared two Seagate Archive HDDs (SMR) and two HGST He8 HDDs (PMR), both configured in RAID1. These were installed in a Synology DS1815+ and DS1515+ respectively, where a RAID1 volume was created and then a single drive was pulled to put the RAID-set into a degraded mode. The removed drive was then reinserted and a RAID rebuild initiated.

Below is a screenshot showing disk activity during the SMR RAID rebuild on top, where we see sustained write performance all over the map, including single digit throughput for long periods. This is compared to the PMR rebuild shown on the bottom half of the image which is able to stay over 100MB/s for most of the duration.
Afbeeldingslocatie: https://www.storagereview.com/images/StorageReview-Seagate-Archive-HDD-RAID-Rebuild-SMR-vs-PMR.PNG

SMR schijven performen grillig, het is een techniek die leuk is voor archiving, maar gewoon niet zo goed geschikt is voor sustained use.

Worden ze daarmee echt onbruikbaar in RAID arrays? Nee, je moet alleen geen spannende performance verwachten. Je kan je de schijven helpen, door zo min mogelijk kleine write acties te doen.
Dit kan onder andere door middel van tuning tbv grotere transaction groups in ZFS, sync uitzetten (waardoor de transaction groups groter kunnen worden), en je recordsize verhogen.

Zoals ik je kon laten zien is mijn array prima stabiel met een wat lagere snelheid. Voor mij is 200-300MB/s zat. Mijn vorige array deed met 6*4TB 7200RPM 3.5" schijven bijna het dubbele qua sustained write.

Merk ik daar iets van in het dagelijks gebruik van de machine? Absoluut niets.

Even niets...


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 12:59
FireDrunk schreef op vrijdag 3 januari 2020 @ 17:15:
[...]

Zeker. Dat heeft met de SMR techniek te maken. Als je wil weten wat SMR precies is, zou ik vooral daar even op googlen, ik kan het wel uitleggen, maar er zijn zat mensen op deze planeet die dat veel beter kunnen dan ik.

Belangrijkste is, dat SMR een inherent effect heeft, namelijk dat read-write-modify een dure operatie is.
Er moet namelijk voor elke byte worst-case 4K ingelezen worden, en weer weggeschreven worden.
Dit wordt grotendeels opgevangen door slimme firmware, grote(re) caches, en in sommige gevallen zelfs kernel level optimalisaties op het moment dat de Linux kernel SMR schijven detecteert.

Zie ook hier:
https://www.storagereview.com/seagate_archive_hdd_review_8tb
Dit is een review van een 8TB SMR schijf van Seagate, en om de site maar even te quoten:

[...]

[Afbeelding]

SMR schijven performen grillig, het is een techniek die leuk is voor archiving, maar gewoon niet zo goed geschikt is voor sustained use.
Duidelijk verhaal, alhoewel ik een deel intussen inderdaad al wist. Die opmerking (in quote) m.b.t. rebuild is inderdaad ook een goede. En in principe dus ook precies wat ik had. In dagelijks gebruik merk je er niks van, en dat zal neem ik aan nog meer gelden voor een pool met "Linux ISOs" :+ (veel bestanden van paar GB). Alleen heb je dus eigenlijk altijd gegarandeerd een probleem als je moet rebuilden/resilveren.
Worden ze daarmee echt onbruikbaar in RAID arrays? Nee, je moet alleen geen spannende performance verwachten. Je kan je de schijven helpen, door zo min mogelijk kleine write acties te doen.
Dit kan onder andere door middel van tuning tbv grotere transaction groups in ZFS, sync uitzetten (waardoor de transaction groups groter kunnen worden), en je recordsize verhogen.
Mag ik vragen of, en zo ja: wat, jij hier dan aan hebt getuned?
Zoals ik je kon laten zien is mijn array prima stabiel met een wat lagere snelheid. Voor mij is 200-300MB/s zat. Mijn vorige array deed met 6*4TB 7200RPM 3.5" schijven bijna het dubbele qua sustained write.

Merk ik daar iets van in het dagelijks gebruik van de machine? Absoluut niets.
Dat is inderdaad ruim voldoende en iets wat je met een single disk uiteraard sowieso niet haalt. En dus semi automatisch "niet te merken bij normaal gebruik".



Voor bij een server rebuild zit ik nu ook even snel te denken aan bv 3x 5 of 8TB in RAIDZ1. Met 10 of 16TB moet ik wel weer aantal jaartjes vooruit kunnen. Of RAIDZ1 een handige keuze is (kans op errors tijdens resilver) vraag ik dan later nog wel naar.

Overigens zag ik vandaag toevallig ook nog het advies langs komen om bij RAID5/6 met een aparte parity disk te gaan voor een PMR schijf voor de parity. Nu weet ik niet of dat bij ZFS/RAIDZ ook kan (of je dan een echte parity disk hebt). Maar zit er überhaupt iets van waarheid in zo'n statement? Dat een SMR schijf met parity de boel ophoud omdat die meer random IO heeft dan de andere schijven.
Pagina: 1