Artificial Intelligence is no match for natural stupidity | Mijn DVD's | Mijn Games | D2X account: Hakker9
Ach, de helft van dit topic gaat over iets anders van ZFS zelf... (meestal FreeBSD of ZFSGuru)HyperBart schreef op maandag 31 augustus 2015 @ 00:18:
Je vraag is volgens mij niet echt een ZFS related question, eerder weer eentje voor ZFSguru. Misschien best een eigen topicje over aanmaken...
Gewoon een heel grote verzameling snoertjes
Op een andere drive kan ik wel gewoon schrijven, waarbij de permissies precies hetzelfde zijn als de directory op de ZFS mount.
Moet ik nu nog op ZFS niveau de permissies regelen voor die dataset?
Compromises are for the weak
1
| drwxrwx--- 31 root debian-deluged 53 Aug 31 09:36 bittorrent |
een andere dir (op niet ZFS device) op het zelfde systeem met dezelfde permissies lukt wel.
Compromises are for the weak
Dat is een fundamenteel verschil met Windows rechten (waar "Users" op de root al leesrechten hebben).
Als een subdirectory 770 is met als owner debian-deluged kan jouw applicatie daar gewoon bij, *mits* hij het hele pad in 1 keer probeert uit te lezen.
Als je er dus met een filebrowser naar toe moet, gaat dat niet altijd lukken, homedirectories zijn bijvoorbeeld niet 775 (wat veel andere directories wel zijn.) die zijn 770, dat betekend dat niet iedereen in home directories kan.
Wat je simpelweg kan doen:
su - deluged-debian -s /bin/bash
Dan *ben* je die user en kan je vrolijk over je filesystem heen bladeren om te kijken welke directories je wel en niet in mag.
Even niets...
Zoals CiPHER al aangeeft is het dan nog wel nodig dat voorliggende directories een execute-permissie hebben voor debian-delugedFireDrunk schreef op dinsdag 01 september 2015 @ 07:57:
...
Als een subdirectory 770 is met als owner debian-deluged kan jouw applicatie daar gewoon bij, *mits* hij het hele pad in 1 keer probeert uit te lezen.
...
Compromises are for the weak
Sterker nog, Directories moeten ALTIJD de execute permissie hebbenbegintmeta schreef op dinsdag 01 september 2015 @ 08:58:
[...]
Zoals CiPHER al aangeeft is het dan nog wel nodig dat voorliggende directories een execute-permissie hebben voor debian-deluged
Anders kom je er niet in
Vandaar het default umask op veel systemen 002. Dan word elke directory die je aanmaakt 775 en elke file 664
[ Voor 13% gewijzigd door FireDrunk op 01-09-2015 13:43 ]
Even niets...
Verwijderd
Dat is min of meer ook wat ik schreef meende ik.FireDrunk schreef op dinsdag 01 september 2015 @ 13:42:
...
Sterker nog, Directories moeten ALTIJD de execute permissie hebben
Anders kom je er niet in
...
r heb je alleen nodig als je de directoryinhoud wil lezen, anders is x voldoende.Verwijderd schreef op dinsdag 01 september 2015 @ 18:40:
Voor een directory heb je inderdaad zowel read (1) als execute (4) nodig. ...
Als je r verwijdert (en x laat staan) op bijvoorbeeld de homedirectory kunnen de home-subdirectorygebruikers nog wel in hun eigen directories, maar kunnen ze niet (niet gemakkelijk eigenlijk eerder) uitlezen welke andere homesubdirectories nog bestaan.
[ Voor 52% gewijzigd door begintmeta op 02-09-2015 12:13 ]
Ik kijk hier toch naar een pool met 2x zraid2? Dus: van iedere vdev kunnen 2x disks falen? (van het 2e vdev nog 1 dus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| pool: tank
state: DEGRADED
status: One or more devices has been removed by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz2-0 ONLINE 0 0 0
gptid/2b78596b-4983-11e5-b7e1-a0f3c1109829 ONLINE 0 0 0
gptid/2be60f90-4983-11e5-b7e1-a0f3c1109829 ONLINE 0 0 0
gptid/2c4f8a77-4983-11e5-b7e1-a0f3c1109829 ONLINE 0 0 0
gptid/2d144e5a-4983-11e5-b7e1-a0f3c1109829 ONLINE 0 0 0
raidz2-1 DEGRADED 0 0 0
8098556764606664835 REMOVED 0 0 0 was /dev/gptid/2d9f83c2-4983-11e5-b7e1-a0f3c1109829
gptid/2e4cf258-4983-11e5-b7e1-a0f3c1109829 ONLINE 0 0 0
gptid/2f08c7e5-4983-11e5-b7e1-a0f3c1109829 ONLINE 0 0 0
gptid/2f8e4d42-4983-11e5-b7e1-a0f3c1109829 ONLINE 0 0 0 |
Sinds de 2 dagen regel reageer ik hier niet meer
U can call me sir.... or justice as long as u bow down ;)
U can call me sir.... or justice as long as u bow down ;)
Stel je hebt 19 disks in RAID-Z3. Dat komt overeen met 16 data disks en dat zou betekenen dat elke disk 128K/16 = 8 kilobyte per request krijgt te verwerken.... maximaal! Dat is zo laag dat dit de prestaties flink doet afnemen. Je wilt per disk eigenlijk 32K tot 128K requests hebben.
Met large_blocks kun je de recordsize tot 1024K verhogen en dat betekent 1024K/16 = 64KiB request per schijf. Zelfs met heel grote vdevs blijf je dan efficiënt werken.
Nadeel is wel dat large_blocks nog niet wordt ondersteund door ZFS-on-Linux of oudere BSD versies zoals FreeNAS enzovoorts. Ook maakt het dat je pool niet langer bootable is. Maar dit is wel een gave feature die je wilt hebben op je data pool.
Eigenlijk was het de bedoeling een 8 disk zraid2 te bouwen, maar ach, het is een tijdelijke nas, dus dit is ook prima
Dit krijg je van gehaast werken.
Disk vervangen, de pool is aan het resilveren.... life is good!
*kuch*Verwijderd schreef op woensdag 02 september 2015 @ 13:11:
ZFS zit tegenwoordig op versie 5000, wat inhoudt dat het 'feature flags' kent die specifieke features toevoegen die in- uit uitgeschakeld kunnen worden. Eén van die features is de large_block feature, die zorgt ervoor dat de maximale recordsize van 128KiB naar 1024KiB kan worden verhoogd. Dit is beter voor grote vdevs met veel disks, en zorgt ook voor minder verloren ruimte (slack) bij niet-optimale 4K configuraties.
Stel je hebt 19 disks in RAID-Z3. Dat komt overeen met 16 data disks en dat zou betekenen dat elke disk 128K/16 = 8 kilobyte per request krijgt te verwerken.... maximaal! Dat is zo laag dat dit de prestaties flink doet afnemen. Je wilt per disk eigenlijk 32K tot 128K requests hebben.
Met large_blocks kun je de recordsize tot 1024K verhogen en dat betekent 1024K/16 = 64KiB request per schijf. Zelfs met heel grote vdevs blijf je dan efficiënt werken.
Nadeel is wel dat large_blocks nog niet wordt ondersteund door ZFS-on-Linux of oudere BSD versies zoals FreeNAS enzovoorts. Ook maakt het dat je pool niet langer bootable is. Maar dit is wel een gave feature die je wilt hebben op je data pool.
https://github.com/zfsonl...878e0cf90c845ed52a2a34d72
Even niets...
De large block feature wordt dus zoals firedrunk reeds zegt wel degelijk ondersteund door ZoL.Verwijderd schreef op woensdag 02 september 2015 @ 13:11:
Nadeel is wel dat large_blocks nog niet wordt ondersteund door ZFS-on-Linux of oudere BSD versies zoals FreeNAS enzovoorts. Ook maakt het dat je pool niet langer bootable is. Maar dit is wel een gave feature die je wilt hebben op je data pool.
En het is een filesystem property, niet op pool niveau. Dus je kan zo een nieuw zfs fs aanmaken in je pool waar de feature actief is om er mee te experimenteren.
Ik heb er wel mee gespeeld, maar zag zo nog niet veel voor of nadelen kwa storage efficiency of snelheid op mijn test setup met 6x 1.5TB raidz2.
wordt pas interessant met SMR schijven. Als je de blocksize kunt afstemen op dat wat handig is voor de schijf dan zou de performance weer omhoog gaan.riwi schreef op donderdag 03 september 2015 @ 10:03:
[...]
De large block feature wordt dus zoals firedrunk reeds zegt wel degelijk ondersteund door ZoL.
En het is een filesystem property, niet op pool niveau. Dus je kan zo een nieuw zfs fs aanmaken in je pool waar de feature actief is om er mee te experimenteren.
Ik heb er wel mee gespeeld, maar zag zo nog niet veel voor of nadelen kwa storage efficiency of snelheid op mijn test setup met 6x 1.5TB raidz2.
U can call me sir.... or justice as long as u bow down ;)
heb 6 schijven...
3x WD
3x seagate
3 disks zijn "oude" vorm, 512 sector, 3 4096...
raidz1...
Ga ik veel performance issue's hebben nu de helft oud en de andere nieuw is? (qua hdd sector layout)
hoeveel invloed gaat RAIDZ1 met 6 disk trouwens hebben?
het is op een I3 met 16GB ram...
[ Voor 16% gewijzigd door Dutch2007 op 03-09-2015 17:06 ]
Kwa performance maakt dat niks uit met 6x 4k sector schijven.
Je vraag over de invloed van RAIDZ1 met 6 disks snap ik niet. Invloed op wat?
RAIDZ1 heeft kwa performance in worst case dezelfde performance als 1 single disk. In de praktijk merk ik dat het gewoon zeker 2x zo snel is als een enkele disk, maar dat zal van de workload afhangen.
En wat wordt de basis kwa OS ? Linux, BSD, illumos ? ZFSguru of nas4free ?
Hoe bedoel je dat, en heb je het over read- of writeperformance? Zover ik weet, heeft RAID-5 (en ook RAID-Z) een readperformance van n*x en een writeperformance van (n-p)*x, met n het totaal aantal schijven, p het aantal parity-schijven en x de performance van een enkele disk.riwi schreef op donderdag 03 september 2015 @ 20:33:
RAIDZ1 heeft kwa performance in worst case dezelfde performance als 1 single disk. In de praktijk merk ik dat het gewoon zeker 2x zo snel is als een enkele disk, maar dat zal van de workload afhangen.
Met 6 schijven in RAID-Z1 heb je dus 6x de readperformance van een enkel disk, en 5x de writeperformance van een enkele disk. Dit zijn natuurlijk wel theoretische waarden, waarbij o.a. wordt uitgegaan van het feit dat de performance niet ergens anders dan op de schijven zelf is gebottleneckt en dat het berekenen van parity geen extra overhead oplevert. Ook is hier invloed van overhead door ZFS-blocks e.d. niet meegenomen.
Gewoon een heel grote verzameling snoertjes
Ok helder bij het AANMAKENriwi schreef op donderdag 03 september 2015 @ 20:33:
Je kan bij de zpool create de ashift=12 parameter meegeven. Dan forceer je dat de schijven als een 4k sector schijf behandeld wordt. Dan heb je geen last van de 512byte schijven.
Kwa performance maakt dat niks uit met 6x 4k sector schijven.
Je vraag over de invloed van RAIDZ1 met 6 disks snap ik niet. Invloed op wat?
RAIDZ1 heeft kwa performance in worst case dezelfde performance als 1 single disk. In de praktijk merk ik dat het gewoon zeker 2x zo snel is als een enkele disk, maar dat zal van de workload afhangen.
En wat wordt de basis kwa OS ? Linux, BSD, illumos ? ZFSguru of nas4free ?
Mijn disk setup was eerst een 512 sector systeem...
waren paar schijven aan het verrotten dus die vervangen, en ja door 4K sector schijven.. is daar achteraf niet iets aan te doen?
Kan ik trouwens nog iets met ZFS en offline defrag ofzo doen? zie dat mij systeem momenteel ~56% is..
OS: FreeBSD 10.2
Kwa IOPS heb je de performance van de langzaamste disk in je vdev (bij een single vdev pool).Compizfox schreef op donderdag 03 september 2015 @ 20:50:
Hoe bedoel je dat, en heb je het over read- of writeperformance? Zover ik weet, heeft RAID-5 (en ook RAID-Z) een readperformance van n*x en een writeperformance van (n-p)*x, met n het totaal aantal schijven, p het aantal parity-schijven en x de performance van een enkele disk.
http://constantin.glez.de...zfs-vdevs-and-performance
Zie hoofstukje "RAID-Z Performance Considerations".
Maar kwa sequentiele bandbreedte werkt het wel ongeveer zoals jij stelt. Al gaat er wel wat af voor het lezen/schrijven van de checksum data.
[ Voor 35% gewijzigd door riwi op 03-09-2015 22:16 ]
Defrag bestaat niet onder ZFS. Da's jammer.Dutch2007 schreef op donderdag 03 september 2015 @ 21:59:
waren paar schijven aan het verrotten dus die vervangen, en ja door 4K sector schijven.. is daar achteraf niet iets aan te doen?
Kan ik trouwens nog iets met ZFS en offline defrag ofzo doen? zie dat mij systeem momenteel ~56% is..
Met zdb -C <poolnaam> kan je zien welke ashift er voor de pool gekozen is bij het aanmaken van de pool. Dit kan je niet achteraf wijzigen volgens mij.
Ah, zo. Dat klinkt logisch ja.riwi schreef op donderdag 03 september 2015 @ 22:00:
[...]
Kwa IOPS heb je de performance van de langzaamste disk in je vdev (bij een single vdev pool).
http://constantin.glez.de...zfs-vdevs-and-performance
Zie hoofstukje "RAID-Z Performance Considerations".
Jup.Maar kwa sequentiele bandbreedte werkt het wel ongeveer zoals jij stelt. Al gaat er wel wat af voor het lezen/schrijven van de checksum data.
Gewoon een heel grote verzameling snoertjes
Dat is niet helemaal correct.riwi schreef op donderdag 03 september 2015 @ 22:00:
Kwa IOPS heb je de performance van de langzaamste disk in je vdev (bij een single vdev pool).
http://constantin.glez.de...zfs-vdevs-and-performance
Zie hoofstukje "RAID-Z Performance Considerations".
RAID-Z gedraagt zich qua performance als RAID3, niet als RAID5. Dat betekent dat de IOps performance lager kan zijn dan de IOps performance van de traagste disk in de RAID-Z vdev. Dit komt omdat de latency kunnen verschillen, en de ene keer is disk1 de langzaamste en de andere keer disk3. Maar elke keer bepaalt de zwakste de latency van de gehele I/O request, die wordt uitgesmeerd over alle disks, wat niet het geval is bij een goed geconfigureerde RAID5 waarbij een leesactie door één disk wordt afgehandeld.
Bij RAID-Z1/2/3 is het dus méér dan RAID5 wenselijk dat je dezelfde schijven en ook dezelfde firmware op de schijven draait. Subtiele latency verschillen die wisselen per I/O kunnen ervoor zorgen dat je uiteindelijk lager uitkomt dan de traagste schijf in de groep.
n*x voor lezen lijkt me wel een beetje optimistisch. Dat kan je alleen halen door af en toe stukken data over te slaan op 1 disk (waarbij de n-1 andere disks de data van dat overgeslagen deel op zich nemen), wat dus af en toe een seek vereist en daarmee de maximale doorvoersnelheid wat afneemt. Met SSD's gaat een dergelijke strategie wel n*x benaderen, maar worst-case (dramatisch trage seeks, misschien een SMR-disk?) kan dat wel eens uitlopen op lager dan (n-p)*x. Mocht je een handigere strategie weten ben ik overigens ook wel benieuwdCompizfox schreef op donderdag 03 september 2015 @ 20:50:
[...]
Hoe bedoel je dat, en heb je het over read- of writeperformance? Zover ik weet, heeft RAID-5 (en ook RAID-Z) een readperformance van n*x en een writeperformance van (n-p)*x, met n het totaal aantal schijven, p het aantal parity-schijven en x de performance van een enkele disk.
Zou je dat iets verder willen uitleggen?Verwijderd schreef op donderdag 03 september 2015 @ 23:58:
[...]
RAID-Z gedraagt zich qua performance als RAID3, niet als RAID5.
Dat zou best kunnen, ik weet er het fijne eerlijk gezegd ook niet van. Die n*x heb ik van deze Wikipedia-tabel, die deze bron citeert:dcm360 schreef op vrijdag 04 september 2015 @ 00:03:
[...]
n*x voor lezen lijkt me wel een beetje optimistisch. Dat kan je alleen halen door af en toe stukken data over te slaan op 1 disk (waarbij de n-1 andere disks de data van dat overgeslagen deel op zich nemen), wat dus af en toe een seek vereist en daarmee de maximale doorvoersnelheid wat afneemt. Met SSD's gaat een dergelijke strategie wel n*x benaderen, maar worst-case (dramatisch trage seeks, misschien een SMR-disk?) kan dat wel eens uitlopen op lager dan (n-p)*x. Mocht je een handigere strategie weten ben ik overigens ook wel benieuwd
Ik kan daar nergens letterlijk vinden dat de performance n*x zou zijn, maar volgens mij is het idee dat een sequentieel blok data van n schijven tegelijk gelezen kan worden. Als je dus een stream van 300 kB wil lezen van een n=3 RAID-5 array, lees je de eerste 100 kB van disk 1, de tweede 100 kB van disk 2 en de derde 100 kB van disk 3. Als het goed is kan dat allemaal tegelijkertijd en dat betekent dus dat je een stream 3x zo snel kunt lezen als met één enkele schijf.An additional, frequently overlooked advantage to distributing the parity is that it also distributes data over all of the disks rather than over all but one. This allows all disks to participate in servicing read operations in contrast to redundancy schemes with dedicated parity disks in which the parity disk cannot participate in servicing read requests.
[ Voor 9% gewijzigd door Compizfox op 04-09-2015 00:16 ]
Gewoon een heel grote verzameling snoertjes
Dat werkt leuk als je chunks van 100KB naar de disks schrijft ja.. Anders lees je 100KB van disk 1 (welke de helft van de eerste 200KB bevat), 100KB van disk 2 (de andere helft van de eerste 200KB). Tegelijkertijd kan je wel leuk 100KB van disk 3 gaan lezen, maar dat bevat dus de helft van de data tussen 200KB en 400KB, en het is niet mogelijk daarvan de derde 100KB te construeren.Compizfox schreef op vrijdag 04 september 2015 @ 00:15:
[...]
Ik kan daar nergens letterlijk vinden dat de performance n*x zou zijn, maar volgens mij is het idee dat een sequentieel blok data van n schijven tegelijk gelezen kan worden. Als je dus een stream van 300 kB wil lezen van een n=3 RAID-5 array, lees je de eerste 100 kB van disk 1, de tweede 100 kB van disk 2 en de derde 100 kB van disk 3. Als het goed is kan dat allemaal tegelijkertijd en dat betekent dus dat je een stream 3x zo snel kunt lezen als met één enkele schijf.
Bedenk wel even dat in dit geval de genoemde helften de helft zijn van de data, en niet netjes de eerste en tweede helft van een stuk van 200KB: de data is immers soort van gestriped.
[ Voor 8% gewijzigd door dcm360 op 04-09-2015 00:29 ]
Ja byte-level wordt vaak gezegd door mensen die RAID3 helemaal niet begrijpen, of een vage implementatie ergens in de prehistorie. Nee RAID3 betekent dat voor ELKE I/O-request, ALLE schijven worden betrokken - zowel voor lezen als schrijven. Alleen de parity kan bij lezen worden overgeslagen, maar dit biedt geen performancevoordeel.Compizfox schreef op vrijdag 04 september 2015 @ 00:15:
Zou je dat iets verder willen uitleggen?Ben niet echt bekend met RAID-3, maar naar wat ik begrijp doet het byte-level striping in plaats van block-level striping (vergeleken met RAID-4)?
RAID3 in de praktijk wil zeggen dat je de RAID-sectorsize uitsmeert over alle schijven. geom_raid3 bijvoorbeeld kan alleen in 3,5,9,17-disks worden gebruikt. Dit komt omdat de sectorsize leidend is en die moet een macht van twee zijn.
Het grote voordeel van RAID3 boven RAID5 is dat alle writes atomic zijn - er bestaan geen read-modify-write - iets wat random writes naar RAID5 zo traag maken. Nadeel van RAID3 is dat je de IOps performance van één disk hebt, terwijl RAID5 theoretisch zo hoog als RAID0 kan gaan.
De 'recordsize' in geval van een ZFS pool met een RAID-Z vdev, is in feite de sectorsize. Deze wordt dynamisch bepaald afhankelijk van de I/O die de applicatie genereert. Daarom is RAID-Z zo cool omdat het geen onveilige en trage read-modify-write procedures meer kent, die bij RAID5 niet te voorkomen zijn behalve voor contiguous sequential writes. Daar kun je met een write-combine engine de optimale write size vinden. Voor een 4-disk RAID5 met 32KiB stripesize is dat (4-1) * 32K = 96KiB. Alleen writes met die grootte zijn optimaal en vereisen geen read-modify-write. RAID3 en RAID-Z kennen dit probleem niet. RAID-Z is superieur aan RAID3 omdat het RAID-Z een variabele stripesize kent, iets wat geen enkele RAID engine ooit kan doen omdat dit kennis van het filesystem vereist. Daarom wordt ZFS ook beticht van een 'schending' van twee werelden: filesystem en RAID-laag. Maar daar zit nu juist de kracht en ook de voordelen....
Met RAID3, RAID4, RAID5, RAID6 en alle RAID-Z1/2/3 levels kun je bij leesacties alle disks aan het werk krijgen. In principe zou je een evengrote performance als RAID0 kunnen behalen. Toch lukt dit niet en dit is niet de schuld van de RAID-implementatie. Het zijn hardeschijven die in geval van de parity-schijf een gedeelte moet overslaan. Hierdoor kan het niet op volle snelheid lezen. Ditzelfde gebeurt bij mirrors die je als RAID0 gebruikt. Dat is nauwelijks sneller dan een domme mirror die van één disk leest. Dit komt omdat de schijven continu 50% van hun LBA moeten skippen. Intelligente RAID1 implementaties zoals ZFS lezen grotere blokken waardoor dit nadeel gemarginaliseerd wordt. En bij SSDs is dit nadeel geheel afwezig.Ik kan daar nergens letterlijk vinden dat de performance n*x zou zijn, maar volgens mij is het idee dat een sequentieel blok data van n schijven tegelijk gelezen kan worden. Als je dus een stream van 300 kB wil lezen van een n=3 RAID-5 array, lees je de eerste 100 kB van disk 1, de tweede 100 kB van disk 2 en de derde 100 kB van disk 3. Als het goed is kan dat allemaal tegelijkertijd en dat betekent dus dat je een stream 3x zo snel kunt lezen als met één enkele schijf.
Dan mag je dat Wikipedia-artikel editenVerwijderd schreef op vrijdag 04 september 2015 @ 00:30:
[...]
Ja byte-level wordt vaak gezegd door mensen die RAID3 helemaal niet begrijpen, of een vage implementatie ergens in de prehistorie. Nee RAID3 betekent dat voor ELKE I/O-request, ALLE schijven worden betrokken - zowel voor lezen als schrijven. Alleen de parity kan bij lezen worden overgeslagen, maar dit biedt geen performancevoordeel.
Maar eh, volgens mij snap ik het nog niet helemaal. Bij elke I/O-request moeten toch sowieso alle schijven worden betrokken? Je moet immers de data stripen over je data-disks en parity schrijven op je parity-disk.
Eigenlijk is RAID-Z dus eerder een soort RAID-3 met distributed parity?De 'recordsize' in geval van een ZFS pool met een RAID-Z vdev, is in feite de sectorsize. Deze wordt dynamisch bepaald afhankelijk van de I/O die de applicatie genereert. Daarom is RAID-Z zo cool omdat het geen onveilige en trage read-modify-write procedures meer kent, die bij RAID5 niet te voorkomen zijn behalve voor contiguous sequential writes. Daar kun je met een write-combine engine de optimale write size vinden. Voor een 4-disk RAID5 met 32KiB stripesize is dat (4-1) * 32K = 96KiB. Alleen writes met die grootte zijn optimaal en vereisen geen read-modify-write. RAID3 en RAID-Z kennen dit probleem niet.
Ik heb eigenlijk nog nooit gehoord van iemand die dat als nadeel ziet, ik weet inderdaad dat dat de 'truc' van ZFS isRAID-Z is superieur aan RAID3 omdat het RAID-Z een variabele stripesize kent, iets wat geen enkele RAID engine ooit kan doen omdat dit kennis van het filesystem vereist. Daarom wordt ZFS ook beticht van een 'schending' van twee werelden: filesystem en RAID-laag. Maar daar zit nu juist de kracht en ook de voordelen....
Aha, ik denk dat ik het snap. De blocks zijn te klein waardoor het veel seeking oplevert in de schijven... is dat het?[...]
Met RAID3, RAID4, RAID5, RAID6 en alle RAID-Z1/2/3 levels kun je bij leesacties alle disks aan het werk krijgen. In principe zou je een evengrote performance als RAID0 kunnen behalen. Toch lukt dit niet en dit is niet de schuld van de RAID-implementatie. Het zijn hardeschijven die in geval van de parity-schijf een gedeelte moet overslaan. Hierdoor kan het niet op volle snelheid lezen. Ditzelfde gebeurt bij mirrors die je als RAID0 gebruikt. Dat is nauwelijks sneller dan een domme mirror die van één disk leest. Dit komt omdat de schijven continu 50% van hun LBA moeten skippen. Intelligente RAID1 implementaties zoals ZFS lezen grotere blokken waardoor dit nadeel gemarginaliseerd wordt. En bij SSDs is dit nadeel geheel afwezig.
Gewoon een heel grote verzameling snoertjes
Meer geheugenbuffers er tegen aan mikken zou ik nou niet per se intelligent willen noemen.Verwijderd schreef op vrijdag 04 september 2015 @ 00:30:
[...]
Met RAID3, RAID4, RAID5, RAID6 en alle RAID-Z1/2/3 levels kun je bij leesacties alle disks aan het werk krijgen. In principe zou je een evengrote performance als RAID0 kunnen behalen. Toch lukt dit niet en dit is niet de schuld van de RAID-implementatie. Het zijn hardeschijven die in geval van de parity-schijf een gedeelte moet overslaan. Hierdoor kan het niet op volle snelheid lezen. Ditzelfde gebeurt bij mirrors die je als RAID0 gebruikt. Dat is nauwelijks sneller dan een domme mirror die van één disk leest. Dit komt omdat de schijven continu 50% van hun LBA moeten skippen. Intelligente RAID1 implementaties zoals ZFS lezen grotere blokken waardoor dit nadeel gemarginaliseerd wordt. En bij SSDs is dit nadeel geheel afwezig.
Het gaat inderdaad over optimaliseren van de hoeveelheid benodigde seeksCompizfox schreef op vrijdag 04 september 2015 @ 00:40:
[...]
Aha, ik denk dat ik het snap. De blocks zijn te klein waardoor het veel seeking oplevert in de schijven... is dat het?
Ja Wikipedia is ook maar een napraat-wiki - de SMART pagina bijvoorbeeld. Pffff. Mensen die dat hebben getypt, snappen echt niet waar ze het over hebben. En zo geldt dit voor meer dingen. Er wordt gekopieerd wat er op andere sites staan. En dat is soms ook incorrect.
Niet bij RAID4 en RAID5 en RAID6 (parity RAID). Je hoeft alleen één disk + de parity te updaten. Bij ZFS RAID-Z en legacy RAID3 moeten alle disks betrokken worden bij zo'n write. Hoe klein ook.Maar eh, volgens mij snap ik het nog niet helemaal. Bij elke I/O-request moeten toch sowieso alle schijven worden betrokken?
Daarom kun je ook niet 512 bytes schrijven naar een RAID3 - de sectorsize wordt verhoogd. Bij een 5-disk RAID3 betekent dit dat de sectorsize 4 keer dat van een normale schijf is: 4*512B = 2KiB. Dat betekent dat je alleen in blokjes van 2KiB naar de RAID3 kunt schrijven; 512 bytes schrijven is simpelweg niet mogelijk. Een simpele dd if=/dev/zero of=/dev/raid3/testvolume bs=512 count=1 is dus gedoemd om te mislukken; je krijgt dan een error.
Ja. Met het verschil dan dat ZFS ook een dynamische stripesize gebruikt, met padding. Dit is niet te imiteren door welke RAID-implementatie dan ook. Maar afgezien daarvan is het qua performance-karakteristieken gelijk aan RAID3.Eigenlijk is RAID-Z dus eerder een soort RAID-3 met distributed parity?
Nouja er zijn wat boze autistische *KUCH* geestelijk rechtlijnigeIk heb eigenlijk nog nooit gehoord van iemand die dat als nadeel ziet, ik weet inderdaad dat dat de 'truc' van ZFS is
Dat doet elke RAID5 engine ook dus dat is niets nieuws. Anders zou elke RAID5 engine tegen <10MB/s schrijven. Je hebt een split&combine-engine nodig. Dit betekent dat je requests moet opsparen, en dan in stukjes moet hakken van de gewenste optimale grootte, in mijn voorbeeld een paar posts terug was dat 96KiB, maar meestal is dit veel groter. Dat vereist inderdaad wat bufferruimte. Staat totaal niet in verhouding met de megabytes tot meerdere gigabytes die ZFS kan gebruiken voor één transactie. Dat is nog fftjes wat grotere buffer.dcm360 schreef op vrijdag 04 september 2015 @ 00:45:
Meer geheugenbuffers er tegen aan mikken zou ik nou niet per se intelligent willen noemen.
Het hele idee met intelligente RAID1 implementaties zoals geom_raid1 met load_balancing algoritme, is dat de disks zoveel mogelijk sequential I/O kunnen doen maar ook contiguous I/O. Oftewel, de blokjes die moeten worden gelezen of beschreven, moeten direct aaneensluitend zijn. Als de disks elke keer een blokje over moeten slaan, betekent dit 50% performanceverlies en daar gaat het hele voordeel van meer-dan-van-één-disk-lezen bij RAID1.
Wil je met RAID1 kunnen lezen zo snel als RAID0 dat doet, dan moet je zeggen disk1 doe jij LBA 1 tot 100 en disk2 doe jij LBA 101 tot 200. Dus niet zoals RAID0 doet: disk1 LBA1-2-3-4 en disk2 LBA5-6-7-8. Want dit betekent dat bij een volgende keer disk1 niet LBA5-6-7-8 moet lezen, maar 9-10-11-12, en dus moet het eerst 5-6-7-8 overslaan. Bij RAID1 staat die data ook op disk1, bij RAID0 niet. Daarom heb je bij RAID0 geen last van dit probleem, bij RAID1 moet je dus 'intelligente trucjes' uitvoeren om toch dezelfde performancepotentie te verzilveren als bij RAID0 gebruikelijk is.
Behalve BTRFS danVerwijderd schreef op vrijdag 04 september 2015 @ 00:52:
*knip
Ja. Met het verschil dan dat ZFS ook een dynamische stripesize gebruikt, met padding. Dit is niet te imiteren door welke RAID-implementatie dan ook. Maar afgezien daarvan is het qua performance-karakteristieken gelijk aan RAID3.
*knip*
Even niets...
Is dat mogelijk?
Vanwaar de keuze voor een tweede pool boven een extra vdev aan je eerste pool? Dat laatste presteert in de meeste gevallen beter en bovendien heb je dan aan een enkel log/cache device genoeg.M2M schreef op vrijdag 04 september 2015 @ 11:10:
Inmiddels heb ik mijn tweede pool van 4 4TB schijven aan de Freenas toegevoegd, met uiteraard ZFS als filesystem. Nu zag ik echter dat er mogelijkheden zijn om logfiles en cache files toe te voegen aan het ZFS array met behulp van 1 of meerdere SSD's. Echter heb ik niet zo veel SATA poortjes meer over en zou ik graag voor beide arrays, 1 SSD willen gebruiken met logfiles en stukken cache van beide ZFS pools.
Is dat mogelijk?
Anders kun je je SSD's partitioneren zodat je voor elke pool een eigen log+cache partitie hebt.
Ik zou vermoeden dat FireDrunk bedoelt dat btrfs kan doen wat zfs doet.Verwijderd schreef op vrijdag 04 september 2015 @ 10:45:
Leg dat is uit? Ik ken Btrfs niet, ik weet niet in hoeverre het afwijkt van ZFS. Maar als RAID kan doen wat Btrfs doet, betekent dit dat Btrfs flink minder geavanceerd is dan ZFS.
Ik denk dat hij er op doelt dat Btrfs ook dynamische stripe-size aan kan...Verwijderd schreef op vrijdag 04 september 2015 @ 10:45:
Leg dat is uit? Ik ken Btrfs niet, ik weet niet in hoeverre het afwijkt van ZFS. Maar als RAID kan doen wat Btrfs doet, betekent dit dat Btrfs flink minder geavanceerd is dan ZFS.
kon dat dan? Ik kon namelijk mijn zfs pool 1 enkel uitbreiden met stripe of mirror, ik kon 'm niet uitbreiden met raidz1. Of zie ik wat over het hoofd? Ik draai de laatste stabiele release van freenas overigens (geupdate vlak voor de harddisk uitbreiding)Bigs schreef op vrijdag 04 september 2015 @ 11:25:
[...]
Vanwaar de keuze voor een tweede pool boven een extra vdev aan je eerste pool? Dat laatste presteert in de meeste gevallen beter en bovendien heb je dan aan een enkel log/cache device genoeg.
Anders kun je je SSD's partitioneren zodat je voor elke pool een eigen log+cache partitie hebt.
Wat niet kan is een bestaande vdev uitbreiden van 4 naar 6 disks, bijvoorbeeld. Dat is een beperking van ZFS.
Volgens mij zijn we het inhoudelijk gewoon met elkaar eens als ik dit zo leesVerwijderd schreef op vrijdag 04 september 2015 @ 01:19:
Maar dat is hier niet het geval - de optimalisaties (trucjes) gaan niet ten koste van andere performance workloads. Het filesystem zorgt voor read-ahead - bij UFS standaard 8 * MAXPHYS dus 8*128KiB = 1MiB. Dus dat is je read-ahead. Dat is wat de RAID-laag aan requests krijgt. Dus dan moet het 1MiB gaan lezen. Dat kan het doen door domweg de disks te laten seeken, of door trucjes zoals hierboven te gebruiken. Maar als de RAID-laag één request van 512-byte read krijgt, zal het alleen die ene read uitvoeren en niet de rest. Filesystem read-ahead is nodig om de 'trucjes' daadwerkelijk te activeren, of async I/O vanuit de applicatie.
@CiPHER, dit dus inderdaad. BTRFS doet ook dynamic striping voor zover ik weet.DXaroth schreef op vrijdag 04 september 2015 @ 12:01:
[...]
Ik denk dat hij er op doelt dat Btrfs ook dynamische stripe-size aan kan...
Even niets...
Als er nog mensen zijn die bepaalde scenario's getest willen hebben, laat maar weten
Even niets...
libzfs-python op bsd zou wel gewaardeerd worden (maar ben er niet rouwig op als dat niet mogelijk is).. qua vergelijkingen, meh, niet echt.FireDrunk schreef op vrijdag 04 september 2015 @ 15:20:
Binnenkort krijg ik (eindelijk) mijn 4*4TB schijven weer terug, dan kan ik lekker eens gaan spelen met BTRFS. Ik heb het plan om een keer een flinke vergelijking te maken met ZFS.
Als er nog mensen zijn die bepaalde scenario's getest willen hebben, laat maar weten
Het wordt wel een vergelijking tussen ZoL en BTRFS
Even niets...
Ik ben het daar over het algemeen niet mee eens; de meeste artikelen zijn gewoon van hoge kwaliteit. Alleen wat 'obscure' artikelen zoals deze willen wel eens incorrect/outdated informatie bevatten.Verwijderd schreef op vrijdag 04 september 2015 @ 00:52:
[...]
Ja Wikipedia is ook maar een napraat-wiki - de SMART pagina bijvoorbeeld. Pffff. Mensen die dat hebben getypt, snappen echt niet waar ze het over hebben. En zo geldt dit voor meer dingen. Er wordt gekopieerd wat er op andere sites staan. En dat is soms ook incorrect.
Het mooie van Wikipedia is dan natuurlijk dat jij, als iemand die het beter weet, het gewoon kan aanpassen. Dan moet je dat dus ook doen imho in plaats van te gaan zeuren
Bedankt voor de uitleg, het is me een stuk duidelijker![...]
Niet bij RAID4 en RAID5 en RAID6 (parity RAID). Je hoeft alleen één disk + de parity te updaten. Bij ZFS RAID-Z en legacy RAID3 moeten alle disks betrokken worden bij zo'n write. Hoe klein ook.
Daarom kun je ook niet 512 bytes schrijven naar een RAID3 - de sectorsize wordt verhoogd. Bij een 5-disk RAID3 betekent dit dat de sectorsize 4 keer dat van een normale schijf is: 4*512B = 2KiB. Dat betekent dat je alleen in blokjes van 2KiB naar de RAID3 kunt schrijven; 512 bytes schrijven is simpelweg niet mogelijk. Een simpele dd if=/dev/zero of=/dev/raid3/testvolume bs=512 count=1 is dus gedoemd om te mislukken; je krijgt dan een error.
[...]
Ja. Met het verschil dan dat ZFS ook een dynamische stripesize gebruikt, met padding. Dit is niet te imiteren door welke RAID-implementatie dan ook. Maar afgezien daarvan is het qua performance-karakteristieken gelijk aan RAID3.
Gewoon een heel grote verzameling snoertjes
Hardware:
Virtueel systeem op basis van ZFSguru met 36 TiB die huidig ZFS met 12 TiB (telkens 8 disk/raidz2)gaat overnemen.
Huidige layout:
1
2
3
4
5
6
7
| /ZFS_12TB /ZFS_12TB/BACKUPS /ZFS_12TB/MUSIC /ZFS_12TB/MYTHTV /ZFS_12TB/OWNCLOUD /ZFS_12TB/ZONEMINDER /ZFS_12TB/share |
Waarbij media als films muziek en downloads via het share filesystem worden doorgegeven aan de linuxhost die download en via plex aan clients aanbied.
Daarnaast worden er opnames via mythtv gemaakt, securitycams die via zoneminder plaatjes dumpen en is er een beperkte owncloud implementatie alles via zelfde linuxhost.
Linux host was in verleden mainserver en regelde ook storage, ZFSGuru is v.w.b. storage drop-in replacement en biedt bestanden aan via NFS aan linux host en via SMB aan windowsclients.
De 12 TB zal straks als backup gaan dienen voor de nieuwe host en wil ik d.m.v. zfs send/receive snapshots gaan voeren vanaf de mainhost van in ieder geval de Backups en owncloud en na verloop van tijd buiten de deur plaatsen.
Vraag is nu of het verstandig is de huidige share op te gaan delen naar media-gebruik(dus FILMS/ series apart evenals downloads van diezelfde films series) of MEDIA als 1 filesystem te houden t.b.v. snelle moves op 1 filesytem?
Daarnaast vraag wat beste strategie is m.b.t. compression en deduplicatie(vermoed dat dit voor de backups zinnig kan zijn als die veel documenten/textfiles bevatten) en of SSD's voor L2ARC en SLOG daar nog iets in betekenen.
Voor mij was het meer om fragmentatie tegen te gaan, als er tegelijk items klaargezet worden, dan zit je behoorlijk gefragmenteerd te schrijven, door daarna een aparte slag te maken naar de goede groep, zorg je er ook gelijk voor dat je het ietwat defragmenteerd... maar dat is meer persoonlijke smaak.
Daarnaast is het nu voor mij mogelijk om makkelijk een kopie te maken van enkel mn films of enkel mn series, zodat ik dus ze apart in de backup kan duwen, zonder dat die backups last hebben van zooi dat nog niet verwerkt is.
Om je nu een idee te geven waarom:
Ik had van FireDrunk al een paar keer te horen gekregen dat Sonarr een pak beter werkt met failed download handling dan Sick Beard. Nu ja, Sick Beard draaide en ik had zoiets van "it ain't broken, don't fix it". Maar op een gegeven moment ging er toch heel wat mis waardoor ik Sonarr eens wou testdraaien, zo gezegd zo gedaan. Ik heb een zfs clone gemaakt van mijn Video-share (bij jou media) en aan de slag gegaan.
Maar daar zit ook nog een submapje Movies en eentje van Series onder, die Movies heb ik niet nodig, ok het kost niks met ZFS omdat het een snapshot is, maar dan kon ik ook makkelijker overstappen, nu zit ik ook nog eens met die Movies folder...
Dat hoeft op zich ook geen probleem te zijn want ik heb nu ample space om een promote van die clone te doen en twee opzichzelf staande FS'en te maken...
Daarna verplaatsen de desbetreffende applicaties (Sonarr en Couchpotato) deze naar mijn ZFS volume welke opgedeeld is in verschillende Filesystems voor al die dingen.
Ik heb:
/archive
/archive/Series
/archive/Movies
/archive/Programs
/archive/Music
/archive/Backup
etc.
Works for me
Moves van Movies naar Series komen nooit voor, en moves van /data/incoming naar /archive gaan tegen 500MB/s dus die duren ook maar kort.
[ Voor 14% gewijzigd door FireDrunk op 11-09-2015 15:02 ]
Even niets...
En wat doe je in je dir Programs?
Je installatiepakketen van software? of installeer je daar Sonarr op?
[ Voor 19% gewijzigd door maomanna op 11-09-2015 15:07 ]
https://pvoutput.org/intraday.jsp?id=102416&sid=90116
je hebt een paar lagen:maomanna schreef op vrijdag 11 september 2015 @ 15:06:
begrijp ik het nou goed dat je dus 1 ZFS pool hebt, "die gezien wordt als 1 hdd", met bijv ext4 als extensie en daarin verschillende mappen? Of heb je je ZFS pool gepartitioneerd, elke partitie een FS gegeven en daarop je dirs?
En wat doe je in je dir Programs?
Je installatiepakketen van software? of installeer je daar Sonarr op?
1) disk
2) vdev (een enkele of groep aan disks, een mirror van een X aantal vdevs of een raidz(X) van een aantal vdevs.. een vdev kan ook een disk zijn, maar ook een file)
3) zpool (een groep aan vdevs die samen je opslag worden)
4) dataset (een filesystem, of een volume als je de iscsi kant op gaat)
in een simpele raidz setup heb je dus 1 vdev van 2 of meer disks die als 1 zpool gezien wordt.. je kan er later nog een vdev bijgooien (een raidz2 bijvoorbeeld) om zo de zpool groter te maken... onder je zpool heb je de root dataset (die hetzelfde heet als je zpool), maar je kan ook sub-datasets aanmaken, zodat /storage/movies en /storage/series beide op dezelfde zpool verblijven, maar 2 aparte datasets zijn.
Verplaatsen tussen datasets is niet-instantaneous, dwz dat zfs letterlijk data gaat lezen en schrijven op je disks.
https://pvoutput.org/intraday.jsp?id=102416&sid=90116
Dat is dan erg handig en lijkt mij ook een goede toepassing voor mij.
[ Voor 30% gewijzigd door maomanna op 11-09-2015 15:32 ]
https://pvoutput.org/intraday.jsp?id=102416&sid=90116
Plus je kan features aan/uit zetten per dataset, zoals quotas, async of dedup.maomanna schreef op vrijdag 11 september 2015 @ 15:31:
het principe is dus hetzelfde, maar variabele grote waarbij alle sub datasets (partitities uit het vorige voorbeeld) gezamelijk de grote kunnen aannemen van de zpool.
Dat is dan erg handig en lijkt mij ook een goede toepassing voor mij.
AMD Ryzen 7 5900x | Custom WC | ASUS ROG Strix X570-E Gaming | 32GB Corsair DDR4-3600MHz | Samsung 970 nvme 1TB | Samsung 860 EVO 2TB | AMD RX 6900XT 16GB | 1x Asus RoG XG27AQDMG | 1x LG UltraGear 27GL850
Je kan of de packages gebruiken van ZFSGuru... of je gebruik de ports van FreeBSD zelf (en gebruikt mogelijk ZFSGuru alleen als web-shell.. --> https://freshports.org/ (en dan gewoon naar tool zoeken wat je wil hebbenrikadoo schreef op vrijdag 11 september 2015 @ 16:59:
Vandaag maar even de stoute schoenen aangetrokken en even een beetje wezen rondneuzen in ZFSGuru op mijn T3500 systeem. Ziet er leuk uit en werkt opzich prima! Wel een vraag bij XPenology(wat ik nu heb) heb je veel packages etc, is zoiets er ook voor ZFSGuru?
voorbeeld --> https://freshports.org/search.php?query=samba42
Let op: ivm de manier hoe ZFSGuru iig z'n ideeën heeft over packages aanbieden kan ik iig niet verantwoordelijk gehouden worden als je en packages van zfsguru gebruiken + freebsd.... sommige nieuwe versies (bijv. van PHP5 wilden in het verleden wel eens de web-gui om zeep helpen enzo...)To install the port: cd /usr/ports/net/samba42/ && make install clean
To add the package: pkg install net/samba42
** ports werkt via de terminal console, welke ook in de web-gui van zfsguru zit dus putty is niet nodig perse....
eerste keer in die cli @web-gui het volgende invullen en je kan de boven gelinkte site daarna usen is...
laatste ports binnen halen:portsnap fetch extract
met portmater kan je alle geinstalleerde ports updaten..portsnap update
command:
en daarna kan je dan..pkg install ports-mgmt/portmaster
uitvoeren in de cli...portmaster -a
[ Voor 20% gewijzigd door Dutch2007 op 11-09-2015 17:09 ]
Super bedankt! Ik zal eens rondkijken. Mocht het fout dan, dan installeer ik zfsguru wel weer opnieuw. Is toch mijn test server met 2x 250gb. Staat ook geen data op.Dutch2007 schreef op vrijdag 11 september 2015 @ 17:04:
[...]
Je kan of de packages gebruiken van ZFSGuru... of je gebruik de ports van FreeBSD zelf (en gebruikt mogelijk ZFSGuru alleen als web-shell.. --> https://freshports.org/ (en dan gewoon naar tool zoeken wat je wil hebben
voorbeeld --> https://freshports.org/search.php?query=samba42
[...]
Let op: ivm de manier hoe ZFSGuru iig z'n ideeën heeft over packages aanbieden kan ik iig niet verantwoordelijk gehouden worden als je en packages van zfsguru gebruiken + freebsd.... sommige nieuwe versies (bijv. van PHP5 wilden in het verleden wel eens de web-gui om zeep helpen enzo...)
AMD Ryzen 7 5900x | Custom WC | ASUS ROG Strix X570-E Gaming | 32GB Corsair DDR4-3600MHz | Samsung 970 nvme 1TB | Samsung 860 EVO 2TB | AMD RX 6900XT 16GB | 1x Asus RoG XG27AQDMG | 1x LG UltraGear 27GL850
no problemo...rikadoo schreef op vrijdag 11 september 2015 @ 17:08:
[...]
Super bedankt! Ik zal eens rondkijken. Mocht het fout dan, dan installeer ik zfsguru wel weer opnieuw. Is toch mijn test server met 2x 250gb. Staat ook geen data op.

darn is een mogelijk resultaat als je portmaster -a doet.. als ie packages heeft om te updaten...
via putty een cli doen is trouwens aan te raden en dan bijv eerst "screen" te installeren, als je de putty verbinding verbreekt gaat ie wel gewoon door met de commands welke je hebt opgegeven.... als je een normale putty verbinding in 't midden van iets stops dan niet nml ;-)
Bij FreeNAS werken de standaard plugins erg eenvoudig. Komen ook keurig in een eigen jail terecht. De rest van de software die je wilt hebben kan je zelf installeren in jails. Ik draai zelfs een jail met VirtualBox met daarin XPEnology.rikadoo schreef op vrijdag 11 september 2015 @ 16:59:
Vandaag maar even de stoute schoenen aangetrokken en even een beetje wezen rondneuzen in ZFSGuru op mijn T3500 systeem. Ziet er leuk uit en werkt opzich prima! Wel een vraag bij XPenology(wat ik nu heb) heb je veel packages etc, is zoiets er ook voor ZFSGuru?
SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| data/users/user1/Hobby 28.6G 1.30T 28.6G /data/users/user1/Hobby data/users/user1/Persoonlijk 12.0G 1.30T 11.9G /data/users/user1/Persoonlijk data/users/user1/School 89.4G 1.30T 89.4G /data/users/user1/School data/users/user1/Temp 153M 1.30T 153M /data/users/user1/Temp data/users/user1/Werk 5.66G 1.30T 5.56G /data/users/user1/Werk data/users/user2 117G 1.30T 48.9M /data/users/user2 data/users/user2/Hobby 36.8G 1.30T 15.6G /data/users/user2/Hobby data/users/user2/Persoonlijk 42.1G 1.30T 41.9G /data/users/user2/Persoonlijk data/users/user2/School 25.1G 1.30T 25.1G /data/users/user2/School data/users/user2/Temp 11.6G 1.30T 11.6G /data/users/user2/Temp data/users/user2/Werk 1.13G 1.30T 655M /data/users/user2/Werk data/users/shared 1.83T 1.30T 279K /data/users/shared data/users/shared/Audio 37.3G 1.30T 37.3G /data/users/shared/Audio data/users/shared/Fotografie 414G 1.30T 414G /data/users/shared/Fotografie data/users/shared/Gedeeld 550M 1.30T 246M /data/users/shared/Gedeeld data/users/shared/Internet 48.2G 1.30T 267K /data/users/shared/Internet data/users/shared/Internet/Downloads 16.1G 1.30T 16.1G /data/users/shared/Internet/Downloads data/users/shared/Internet/Incompleet 23.8G 1.30T 23.8G /data/users/shared/Internet/Incompleet data/users/shared/Internet/Torrents 8.24G 1.30T 8.24G /data/users/shared/Internet/Torrents data/users/shared/Systeem 41.7G 1.30T 41.7G /data/users/shared/Systeem data/users/shared/Video 1.30T 1.30T 4.55G /data/users/shared/Video data/users/shared/Video/Films 682G 1.30T 682G /data/users/shared/Video/Films data/users/shared/Video/Persoonlijk 143G 1.30T 143G /data/users/shared/Video/Persoonlijk data/users/shared/Video/TV 506G 1.30T 506G /data/users/shared/Video/TV |
Ik backup alle gebruikersmappen (behalve Temp), en vanuit shared alleen Fotografie, Gedeeld en Video/Persoonlijk.
Sinds de 2 dagen regel reageer ik hier niet meer
https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.6.5
Hou een mooie 18TB over in raidZ1. Niet slecht
https://pvoutput.org/intraday.jsp?id=102416&sid=90116
Verwijderd
- datapool [list]
- raidz1-0
- c0t5001
- c0t5002
- c0t5003
- raidz1-1
- c0t5004
- c0t5005
- c0t5006
- [/list]
@IBMFD3S: dat begrijp je juist. Daarom geen RAID-Z gebruiken maar RAID-Z2.
En hoe helpt raidz2 als de hele raidz2 vdev weg valt?
@IBMFD3S
Je kunt met zfs geen vdev verliezen. Wel schijven in een mirrored, en raidz(x) vdev.
Hoeveel schijven je kan missen in een vdev hangt af van de raid versie of in een mirrored setup hoeveel schijven je in een mirror hebt.
In een raidz1 vdev kun je 1 disk missen, in een raidz2 vdev kun je twee schijven missen en in een raidz3 kun je drie schijven missen.
In een 2way mirror kun je 1 schijf missen, in een 3way mirror weer twee en in een 4way mirror 3 enz enz, een 3 way en hogere mirror is natuurlijk wel erg inefficient.
In een zpool met 20 2way mirrors, kun je in theory dus 20 schijven missen zolang er van iedere vdev maar 1 schijf stuk gaat. In een zpool met 20 raidz1 vdevs kun je 20 schijven missen, zolang er maar 1 schijf in iedere vdev sneuvelt. In een pool met 20 raidz2 vdevs kun je 40 schijven verliezen zolang er maar maximaal 2 schijven per vdev sneuvelen.
In jou geval kun je twee schijven missen.
1 in vdev raidz1-0 en 1 in raidz1-1 je kan niet twee schijven missen in raidz1-0 of raidz1-1.
gr
Dat is ook al een paar maanden het geval. Tenminste als je git head volgt.Verwijderd schreef op zaterdag 12 september 2015 @ 17:55:
@Q: ik dacht dat jullie zeiden dat ZoL allang large_blocks ondersteuning had?
Echter is er nu (dit weekend) een nieuwe tag gekomen 0.6.5 waarin dus de large block feature ook beschikbaar is.
Voor mensen die de major releases volgen is het er dus nu ook. En dat betekent ook dat het nu in de beschikbare distributie packages automatisch geleverd zal worden
[ Voor 6% gewijzigd door riwi op 12-09-2015 20:40 ]
[ Voor 18% gewijzigd door Q op 12-09-2015 21:04 ]
Dit zorgt zeker voor lagere overhead, want 1024K gedeeld door het aantal data disks zorgt nu voor een groter getal. Laat dit bijvoorbeeld 353.5K zijn, dan is bij 4K optimalisatie de hoeveelheid slack procentueel veel minder groot dan wanneer je 21.5K per disk zou doen. Dus je hebt vrijwel geen ruimteverlies meer bij niet-optimale pools zoals een 11-disk RAID-Z2 met ashift=12.
Daarnaast zorgen de grote blocks ervoor dat hardeschijven efficiënter werken. SSDs hebben hier minder last van.
Dwz 1 zfs met en 1 zfs zonder onder dezelfde pool met dezelfde content (files gekopieerd).
Ik las dat het met name voor zvol gebruik voordelen opleverde.
[ Voor 3% gewijzigd door riwi op 12-09-2015 21:24 ]
De vraag is natuurlijk: wat was je pool configuratie. Onder ashift=9 pools heb je weinig voordeel. Onder ashift=12 pools met optimale disk count in RAID-Z1/2/3 heb je weinig voordeel. En mirror/stripe pools hebben weinig voordeel.
Het voordeel zit hem in grote hoeveelheden disks in RAID-Z1/2/3 vdevs die met ashift=12 (4K optimalisatie) worden aangemaakt, terwijl je niet een optimaal aantal disks hebt. Dus 9 disks in RAID-Z2 bijvoorbeeld.
https://pvoutput.org/intraday.jsp?id=102416&sid=90116
Standaard wordt nu bijna alles 4K aangemaakt, dus ashift=12.
Ik had de essentie wel goed mee gekregen: dat NAS bouwers nu zonder serieus nadeel een sub-optimaal aantal disks in een RAIDZx VDEV kan stoppen als je de record size op bijv 1 MB zet.
Een 8-disk RAIDZ2 is dus opeens wel OK, je hoeft niet of 6 of 10 disks te kiezen. Dat is weer interessant voor die discussie die in het DIY NAS liep denk ik (Over setup van HenryM).
[ Voor 8% gewijzigd door Q op 12-09-2015 22:30 ]
Dit is wat IBMFD3S vroeg
Hij vraagt dus als 1 van de raidz's failed.. Dat lees ik als een hele vdev en daar helpt geen enkele raid level tegen. Vandaar dus even mijn vraag aan jou aangezien ik jou toch hoog heb zitten waar het gaat om ZFS storage enz. Houd er rekening mee dat veel mensen jou antwoord als waarheid aannemen, in deze geef je dus een verkeerd antwoord. Als jij dan even netjes antwoord inderdaad bij het verliezen van een vdev of zoals de originele vraagsteller deze raidz noemt dan gaat de vrager niet om een verkeerde reden over op raidz2.dan heb je dus een stripe over 2 raidz's (?) en áls 1 van die raidz's failed dan is ál je data weg omdat het een stripe is. of zie ik dit fout?
Welk argument haal ik aan dat geen enkele raid level voldoet? Die duh op het einde van jou reactie is dan ook nergens voor nodig.
[ Voor 28% gewijzigd door syl765 op 13-09-2015 01:03 ]
Dan reageer jij met de vraag hoe een RAID-Z2 dan zou helpen. Dat laat zich raden: omdat een RAID-Z2 vrijwel niet faalt met een laag nummer aan disks - dat is zeer ongebruikelijk. Tenzij je inderdaad over statistisch insignificante risico's praat. Dus een RAID-Z2 helpt omdat het zorgt dat je geen vdev meer verliest - tenzij dit door een gemeenschappelijke oorzaak komt zoals een voeding die doorfikt, brand, diefstal enzovoorts. Maar mijn punt is dat dan geen enkel RAID level meer zou helpen, dus dat maakt het punt van meerdere vdevs in stripe weer overbodig. Dat bedoelde ik met 'duh' - maar dat was niet onaardig bedoeld.dat begrijp je juist. Daarom geen RAID-Z gebruiken maar RAID-Z2.
[ Voor 4% gewijzigd door Verwijderd op 13-09-2015 01:03 ]
En in deze maakt het helemaal niets uit of je raidz2, 3 of een 8way mirror gebruikt.
[ Voor 4% gewijzigd door syl765 op 13-09-2015 01:14 ]
Ik snap je punt. Maar mijn punt is dus dat dit geen issue is omdat het verlies van een RAID-Z2 - zonder een gemeenschappelijke oorzaak zoals de voeding of brand enzovoorts - statistisch insignificant is, mits je met beperkt aantal disks werkt.Maar het blijft een feit dat als je hem verliest dat je pool weg is.
Het verschil tussen een RAID-Z2 en en een vdev met twintigduizend parity schijven zal statistisch niet eens zo groot zijn. De andere risico's - die je met redundancy niet kunt afdekken - blijven dan onverminderd groot zodat een backup dan wel high availability veel meer voor de hand ligt.
[ Voor 6% gewijzigd door Verwijderd op 13-09-2015 01:23 ]
Ik las van mensen die ermee testen dat ze duidelijke performance winst haalden bij zvol gebruik. Ikzelf merkte met files niet direct een verschil in performance.Verwijderd schreef op zaterdag 12 september 2015 @ 21:36:
Nee de voordelen zijn evengoed voor normale filesystems.
De vraag is natuurlijk: wat was je pool configuratie. Onder ashift=9 pools heb je weinig voordeel. Onder ashift=12 pools met optimale disk count in RAID-Z1/2/3 heb je weinig voordeel. En mirror/stripe pools hebben weinig voordeel.
Kwa optimaal gebruik maken van de diskspace zal er geen verschil zijn tussen zvol en normale files.
Mijn test was met een raid-z2 single vdev pool met 6x 1.5T schijven met ashift=12 want vrijwel alle schijven zijn 4k tegenwoordig.
Ja....riwi schreef op zondag 13 september 2015 @ 13:25:
Mijn test was met een raid-z2 single vdev pool met 6x 1.5T schijven met ashift=12 want vrijwel alle schijven zijn 4k tegenwoordig.
Zoals gezegd heb je vrijwel geen voordeel bij optimale configuraties. Jouw 6 disks in RAID-Z2 is een optimale configuratie. Dus logisch dat je weinig voordeel merkt - dat is er ook nauwelijks.
Pool name SPA Redundancy Capacity Used Free Status
DUALUSB 5000 RAID1 (mirroring) 7.12G 2.19G 4.94G ONLINE
ZFS_12TB 5000 RAID6 (double parity) 14.5T 14.1T 380G ONLINE
[root@zfsguru /home/ssh]# mkdir /ZFS_12TB/share/TEST
mkdir: /ZFS_12TB/share/TEST: No space left on device
Overzicht van files onder ZFSGuru:
1
2
3
4
5
| Filesystem Used Avail Refer Mountpoint DUALUSB 2.19G 4.72G 160K /DUALUSB DUALUSB/share 152K 4.72G 152K /DUALUSB/share ZFS_12TB 10.0T 0 444K /ZFS_12TB ZFS_12TB/BACKUPS 45.8G 0 45.8G /ZFS_12TB/BACKUPS |
Iemand vermoeden wat dit kan zijn?
[ Voor 13% gewijzigd door Loekie op 13-09-2015 23:48 ]
Heb je bijvoorbeeld een SWAP zvol van meerdere gigabytes, dan is deze waarschijnlijk sparse aangemaakt want dat doet de ZFSguru installer voor je. Dat betekent ook dat die ruimte enkel gereserveerd wordt. zpool list geeft aan dat er nog vrije ruimte is, maar zfs list geeft aan dat alles vol zit (444K is vrijwel 'vol').
Het is overigens onverstandig om je pool zo vol te maken, want je zorgt voor fragmentatie op je pool. Omdat je een oudere versie draait, kun je die fragmentatie niet zien in de zpool list output, want die wordt bij recente versies wel getoond.
Ik heb even overzicht bijgewerkt, zodat het wat duidelijker weergegeven wordt.
Ik heb al een 20GB verwijderd op nieuwe machine, maar levert geen ruimte op.
V.w.b. ruimte: Dat is ook reden voor nieuwe Array van 6 TB disks, dat draait inmiddels redelijk lekker.
0 B Total snapshot usage
Het rare is dat bij verwijderen van die 20G wel zpool status bijgewerkt wordt, maar niet zfs status.
Ik laat wel even een scrub lopen, want:
1
2
3
4
5
6
7
8
| [root@zfsguru /home/ssh]# zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT DUALUSB 7.12G 2.38G 4.74G - - 33% 1.00x ONLINE - ZFS_12TB 14.5T 14.1T 380G - 25% 97% 1.00x ONLINE - [root@zfsguru /home/ssh]# zfs list NAME USED AVAIL REFER MOUNTPOINT DUALUSB 2.44G 4.46G 168K /DUALUSB ZFS_12TB 10.0T 0 444K /ZFS_12TB |
Ik zal eens een scrub laten lopen, zien of dat wat oplevert. Maar vind het vreemd dat die 93 GB die vanaochtend nog op oude systeem aanwezig was, op het nieuwe systeem compleet niet meer aanwezig lijkt.
Voor het bouwen van een ZFS NAS en andere hardwarevragen kun je beter terecht in Het grote DIY RAID NAS topic deel 3, zodat we dit topic reserveren voor ZFS-specifieke vragen en discussies.