FireDrunk schreef op maandag 23 september 2019 @ 14:33:
Ik heb ook een poos 3 * een mirror van 2 disks gehad. Snelheid was gemiddeld gezien met mijn gebruik (veel sequentiele transfers) slechter dan nu (RAIDZ2 pool). In RAIDZ2 schrijven er 4 disks tegelijk 'unieke' data. In de 3 mirrors zijn dat er maar 3.
Lezen was de mirror denk ik iets sneller omdat er meer koppen tegelijk konden lezen, maar was niet merkbaar in de praktijk. In mijn gebruikspatroon wordt er niet super veel op maximale snelheid gelezen, behalve misschien tijdens wat PAR2 werkzaamheden, maar die zijn weer CPU bound, dus meh.
Heb je ook ervaring met / kun je iets zeggen over mijn specifieke 3 scenario's?
- Losse 2x5T mirrors
- 4x5T in mirrored stripe
- 4x5T in RAIDZ1
Uitgangspunt is in mijn geval nog steeds 4 disks, dan kan ik dit aantal namelijk mooi gelijk houden met het aantal disks dat in mijn HP Microserver past. (Ik heb er 3, 1 daarvan wil ik in gaan zetten om dmv sanoid/syncoid backups te maken. Daarvoor zet ik bestaande disks in. Toeval wil dat ik 11 of 12 van die 5T's in huis heb.)
Sanoid:
https://github.com/jimsalterjrs/sanoid
Op basis van genoemde URL -
https://calomel.org/zfs_raid_speed_capacity.html - lijkt het of RAIDZ1 op 4 disks, wel eens een heel goed compromis kan zijn. (Al komt net die case niet voor, ze doen RAIDZ1 op 3, 5 en meer disks.) Voor mij is de verrassing dat zowel lees- als schrijfsnelheid omhoog gaan en bijna de snelheid van een mirrored stripe halen, terwijl de capaciteit niet n+n is, maar n+1, en ik dus met 4x5T, geen 10T netto, maar 15T netto over hou.
De grootste consessie is dat er in een RAIDZ1 echt maar 1 disk kapot mag gaan én dat resilvers duurder zijn dan bij een mirror of mirrored stripe. Ze duren langer en belasten het systeem veel zwaarder.
Losse mirrors zijn heel handig, maar de schrijfsnelheid is die van 1 disk, alleen de leessnelheid gaat omhoog. Ook is het geen continuous dataset. Voor mijn use case geen ramp, maar het betekend wel zorgvuldiger plannen dan met 10T of 15T continuous.
Qua CPU power en geheugen heb ik vooralsnog flink over. Er komt een Ryzen 5 3600 in met 64G geheugen, terwijl ik op dit moment rond de 20G geheugen gebruik. Kortom, ZFS heeft voorlopig de ruimte. Daarbij ga ik direct caching aanzetten op 2 stuks NVMe. (Die ga ik partitioneren, zodat de writecache in mirror kan, readcache in stripe. Optimale performance voor beiden.)
Het board en CPU kunnen naar 128G. Doe ik nu niet omdat ik 64G heb liggen, maar op termijn kan ik van 16G naar 32G modules toe.
Absolute snelheid is minder kritiek, alles draait nu op een stel G1610T CPU's en alle data staat op mijn NAS die met 2x GBit voor NFS aan mijn hypervisors hangt. Die snelheid lijkt vooralsnog voldoende, maar met lokale disks ga ik er alleen maar op vooruit. Waar ik nu naar zoek, is het beste compromis tussen snelheid, dataveiligheid en opslagcapaciteit.
Ná Scaoll. - Don’t Panic.