Acties:
  • 0 Henk 'm!

  • eheijnen
  • Registratie: Juli 2008
  • Niet online
Nog even over scrubs draaien.

Is er een leidraad over, met welke regelmaat dit gedaan moet worden?

Wie du mir, so ich dir.


Acties:
  • +5 Henk 'm!
eheijnen schreef op woensdag 15 maart 2023 @ 11:54:
Nog even over scrubs draaien.

Is er een leidraad over, met welke regelmaat dit gedaan moet worden?
De default vanuit ZFS-on-Linux is 1* per maand.

Even niets...


Acties:
  • +1 Henk 'm!

  • ComTech
  • Registratie: November 2002
  • Laatst online: 20:39
nero355 schreef op woensdag 15 maart 2023 @ 00:28:
[...]

Klinkt als een buffer die elke keer helemaal leegloopt en daarna weer wordt aangevuld, maar waar het precies aan ligt durf ik niet te zeggen...


[...]

Hoe test je dat of via welk protocol doe je de snelheidsmetingen ?
Kopiëren via Samba protocol, zijn vooral grote bestanden.
Ik ga vanavond even de pools verwijderen en kijken of bijvoorbeeld een mirror of raidz2 (zonder de extra mirror) het beter gaat.

edit:
Raidz2 aangemaakt wel melding Mixed Disk Capacities maar de snelheid blijft nu stabiel.
70 GB gekopieerd duurde dat gisteren ruim een uur nu met een kleine 20 minuten klaar.
Dan laten we het voorlopig even zo liever 1TB minder maar wel de volle snelheid.
Kan later de 3 TB schijven wel vervangen voor 4TB om zo de ruimte te vergroten.

[ Voor 24% gewijzigd door ComTech op 15-03-2023 22:06 ]


Acties:
  • +1 Henk 'm!

  • ElMacaroni
  • Registratie: November 2012
  • Laatst online: 17-06 09:52

ElMacaroni

Laat de zon maar komen!

Compizfox schreef op dinsdag 6 september 2022 @ 16:15:
[...]

Ik heb even gekeken (ook naar hoe dat ŭberhaupt moet; nog nooit eerder gedaan): fwupdmgr geeft aan dat er geen updates beschikbaar zijn.

Wel hebben de SSDs verschillende firmware-versies: de eerste, falende SSD heeft versie M3CR043, en de tweede heeft M3CR045.
Ter ref:
Na een tijdje ergernis met falende resilver van een pool van 2 x 3 jaar oude CT1000MX500 fw M3CR023 die op hun laatste wearout tellers liepen (92%), naar 2 verse CT2000MX500 fw M3CR045 op een thread gestoten:

https://forums.unraid.net...ain-stay-away-from-these/

Na de update naar M3CR046 ging resilveren wel goed. 2 x gedaan, pool status OK!

SE2200+14xSF170S & SE1500M+4xTSM-375


Acties:
  • 0 Henk 'm!

  • Zware Unit
  • Registratie: Maart 2001
  • Laatst online: 10-05 10:36
Een van mijn disken in mijn TrueNAS server geeft een issue. Geen gekke dingen te zien in de SMART status, maar wel een pool welke aangeeft niet 'healthy'. te zijn. Geen idee waar ik dit kan fixen. Een scrub lost de issues niet op.

Afbeeldingslocatie: https://tweakers.net/i/7HShI3ztvx1MZZeYC77h9NxyiHw=/x800/filters:strip_exif()/f/image/otoEVqRhNrZ6EQ6jpMIfqxPM.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/3L9Wj4KAEfiNygN7Yh8ojm3A87s=/800x/filters:strip_exif()/f/image/emUwsyhxndiqRghSb2Oaa1qK.png?f=fotoalbum_large

... all gonna wonder how you ever thought you could live so large and leave so little for the rest of us...


Acties:
  • +1 Henk 'm!
Zware Unit schreef op dinsdag 18 april 2023 @ 21:10:
Een van mijn disken in mijn TrueNAS server geeft een issue. Geen gekke dingen te zien in de SMART status, maar wel een pool welke aangeeft niet 'healthy'. te zijn. Geen idee waar ik dit kan fixen. Een scrub lost de issues niet op.

[Afbeelding]

[Afbeelding]
Hoe heb je SMART gecontroleerd? Kan je de SMART en de zpool status via de CLI de output tonen?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Zware Unit
  • Registratie: Maart 2001
  • Laatst online: 10-05 10:36
Zover ik kan zien is er niks aan de hand met de SMART status.

Afbeeldingslocatie: https://tweakers.net/i/zANKPCd-Cb-iWmf7wmfhFI80Ftk=/800x/filters:strip_exif()/f/image/P8HBhz1LuCk1eEvlPARgDnUA.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/7UWIYxFt3lRQioNTU5FpKBiqkuw=/800x/filters:strip_exif()/f/image/soQVfvTPR8GnN38nNRmphxF8.png?f=fotoalbum_large

... all gonna wonder how you ever thought you could live so large and leave so little for the rest of us...


Acties:
  • +1 Henk 'm!
@Zware Unit Heb je voordat je een nieuwe scrub startte wel eerst zpool clear gedaan?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Zware Unit
  • Registratie: Maart 2001
  • Laatst online: 10-05 10:36
Reboot heeft zo te zien de foutmelding verholpen. Blijf het vreemd dat de betreffende disk een error gaf terwijl er in de SMART niks te vinden was.

... all gonna wonder how you ever thought you could live so large and leave so little for the rest of us...


Acties:
  • +2 Henk 'm!

  • orvintax
  • Registratie: Maart 2018
  • Laatst online: 16-06 10:22

orvintax

www.fab1an.dev

Zware Unit schreef op dinsdag 18 april 2023 @ 23:12:
Reboot heeft zo te zien de foutmelding verholpen. Blijf het vreemd dat de betreffende disk een error gaf terwijl er in de SMART niks te vinden was.
Omdat ZFS errors en SMART errors over verschillende dingen gaan. SMART gaat over hardware en ZFS over filesystems. En hoewel hardware invloed kan hebben op je filesystem en dit ook vaak heeft, hoeft dat niet.

https://dontasktoask.com/


Acties:
  • +2 Henk 'm!
@Zware Unit het was een checksum fout dus het kan ook een bitflip in je geheugen zijn geweest.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • nero355
  • Registratie: Februari 2002
  • Laatst online: 28-02 22:21

nero355

ph34r my [WCG] Cows :P

Zware Unit schreef op dinsdag 18 april 2023 @ 23:12:
Reboot heeft zo te zien de foutmelding verholpen.
Blijf het vreemd dat de betreffende disk een error gaf terwijl er in de SMART niks te vinden was.
Ik zou me pas zorgen gaan maken als het vaker gebeurt en die teller flink hoog oploopt! ;)

Dan kan je hopelijk ook wat gerichter bepalen waar het vandaan komt als het ooit zover komt...

|| Stem op mooiere Topic Search linkjes! :) " || Pi-Hole : Geen advertenties meer voor je hele netwerk! >:) ||


Acties:
  • +1 Henk 'm!

  • Zware Unit
  • Registratie: Maart 2001
  • Laatst online: 10-05 10:36
CurlyMo schreef op woensdag 19 april 2023 @ 07:06:
@Zware Unit het was een checksum fout dus het kan ook een bitflip in je geheugen zijn geweest.
Dat kan... maak wel gebruik van ECC geheugen. Gewoon effe in de gaten houden de komende tijd.

... all gonna wonder how you ever thought you could live so large and leave so little for the rest of us...


Acties:
  • +2 Henk 'm!
Zware Unit schreef op woensdag 19 april 2023 @ 18:28:
[...]

Dat kan... maak wel gebruik van ECC geheugen. Gewoon effe in de gaten houden de komende tijd.
Het ging er meer om dat een checksum in allerlei hardware kan zitten. Je geheugen, kabels, voeding etc. Alles wat een bitflip kan veroorzaken.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!
In de categorie "doe es lang over je scrub":

ZFS has finished a scrub:

   eid: 254
 class: scrub_finish
  host: backupper
  time: 2023-04-26 12:13:02+0200
  pool: FD
 state: ONLINE
  scan: scrub repaired 0B in 22 days 00:40:41 with 0 errors on Wed Apr 26 12:13:02 2023
config:

 NAME                   STATE     READ WRITE CKSUM
 thijs                  ONLINE       0     0     0
   raidz1-0             ONLINE       0     0     0
     SG-SMR-1-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-2-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-3-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-5-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-6-xxxxxxxx  ONLINE       0     0     0

errors: No known data errors


Ergens ook wel "normaal", dit is een offline backup machine die telkens ongeveer max een half uurtje staat te kachelen... Dan gaat ie weer down vanzelf. Probleem daarbij is dat scrubs niet altijd terug resumen waar hij gestopt is, dat heeft iets te maken met een soort checkpoints en het is heel verschillend wanneer hij dit vastlegt en ook niet zelf te sturen.

Een scrub met reboots duurt dus dan wel even want hij verliest ook telkens een paar procenten per keer.

[ Voor 23% gewijzigd door HyperBart op 26-04-2023 16:27 ]


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
HyperBart schreef op woensdag 26 april 2023 @ 16:25:
In de categorie "doe es lang over je scrub":

ZFS has finished a scrub:

   eid: 254
 class: scrub_finish
  host: backupper
  time: 2023-04-26 12:13:02+0200
  pool: FD
 state: ONLINE
  scan: scrub repaired 0B in 22 days 00:40:41 with 0 errors on Wed Apr 26 12:13:02 2023
config:

 NAME                   STATE     READ WRITE CKSUM
 thijs                  ONLINE       0     0     0
   raidz1-0             ONLINE       0     0     0
     SG-SMR-1-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-2-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-3-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-5-xxxxxxxx  ONLINE       0     0     0
     SG-SMR-6-xxxxxxxx  ONLINE       0     0     0

errors: No known data errors


Ergens ook wel "normaal", dit is een offline backup machine die telkens ongeveer max een half uurtje staat te kachelen... Dan gaat ie weer down vanzelf. Probleem daarbij is dat scrubs niet altijd terug resumen waar hij gestopt is, dat heeft iets te maken met een soort checkpoints en het is heel verschillend wanneer hij dit vastlegt en ook niet zelf te sturen.

Een scrub met reboots duurt dus dan wel even want hij verliest ook telkens een paar procenten per keer.
Helpt het niet als je voor het afsluiten een pause doet? Mogelijk dat hij dan wel de exacte positie bijhoudt?

Acties:
  • +1 Henk 'm!
HyperBart schreef op woensdag 26 april 2023 @ 16:25:
Ergens ook wel "normaal", dit is een offline backup machine die telkens ongeveer max een half uurtje staat te kachelen... Dan gaat ie weer down vanzelf. Probleem daarbij is dat scrubs niet altijd terug resumen waar hij gestopt is, dat heeft iets te maken met een soort checkpoints en het is heel verschillend wanneer hij dit vastlegt en ook niet zelf te sturen.

Een scrub met reboots duurt dus dan wel even want hij verliest ook telkens een paar procenten per keer.
Op dat soort machines heb ik een extra check. Is er een scrub aan de gang, wacht dan even met afsluiten.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!
CurlyMo schreef op woensdag 26 april 2023 @ 17:19:
[...]

Op dat soort machines heb ik een extra check. Is er een scrub aan de gang, wacht dan even met afsluiten.
Die heb ik ook! Maar die machine wordt echt airgapped gehouden: een mechanische klok cut de power na 45min. Dus ik heb maar 35 online minuten (booten, shut down en marge bij unattended upgrades).

Acties:
  • +1 Henk 'm!
HyperBart schreef op woensdag 26 april 2023 @ 17:51:
[...]

Die heb ik ook! Maar die machine wordt echt airgapped gehouden: een mechanische klok cut de power na 45min. Dus ik heb maar 35 online minuten (booten, shut down en marge bij unattended upgrades).
Dat heb ik om die reden dus niet om de scrub de mogelijkheid te geven te voltooien.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!
CurlyMo schreef op woensdag 26 april 2023 @ 17:53:
[...]

Dat heb ik om die reden dus niet om de scrub de mogelijkheid te geven te voltooien.
Snap ik. Hier doet ie een check, als scrub in progress dan blijft ie extenden tot max 35 min en dan gaat ie down… 22x 30 min, 11h, klinkt nog niet zo slecht voor 5 x 2tb smr.

Acties:
  • 0 Henk 'm!

  • nero355
  • Registratie: Februari 2002
  • Laatst online: 28-02 22:21

nero355

ph34r my [WCG] Cows :P

HyperBart schreef op woensdag 26 april 2023 @ 16:25:
   raidz1-0
     SG-SMR-1
     SG-SMR-2
     SG-SMR-3
     SG-SMR-5
     SG-SMR-6 
Waarom SMR HDD's :?

Wees blij dat het geen Rebuild was die moest voltooien... :X

|| Stem op mooiere Topic Search linkjes! :) " || Pi-Hole : Geen advertenties meer voor je hele netwerk! >:) ||


Acties:
  • +1 Henk 'm!
nero355 schreef op vrijdag 28 april 2023 @ 23:51:
[...]

Waarom SMR HDD's :?

Wees blij dat het geen Rebuild was die moest voltooien... :X
Ik heb hier ook alleen maar SMR HDD's in mijn NAS. De bekende 2.5" Seagate 5TB in een drieweg mirror.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!
nero355 schreef op vrijdag 28 april 2023 @ 23:51:
[...]

Waarom SMR HDD's :?

Wees blij dat het geen Rebuild was die moest voltooien... :X
Omdat ik die in bruikleen kreeg van een heel goede vriend, wiens backups ik hier ook stockeer.
De langere rebuilds kan ik wel hebben, het is ook maar een backupserver. Als die twee weken moet rebuilden kan ik dat prima af.

Acties:
  • +2 Henk 'm!

  • jb044
  • Registratie: December 2002
  • Laatst online: 16-06 00:36
Zo eindelijk ook zfs in de praktijk gebracht, in 1 woord: wauw, gewoon wauw! Wat zit dit goed in elkaar zeg :)
Ja ik wist dat het pas tot zijn recht komt met dedidacted hardware, dat het onder Linux in het algemeen en ReHat in het bijzonder wat haken en ogen heeft en vooral dat het materie is waar je wel even de tijd voor moet nemen.

Goed even dacht ik dat ik toch een major issue had gevonden: podman en libvirt ook, gebruiken het SELinux category attribuut (als ik het nou helemaal goed zeg :D) om processen en bestanden met op zich dezelfde SELinux context toch geschieden te houden door nog een extra attribuut toe te voegen. Ik had al eerder gemerkt dat bestaande tooling hier moeite mee heeft, een restorecon -Rv die niets doet maar toch permissie problemen bv. Het motto is geloof ik dat je het maar allemaal aan podman (of libvirt) moet overlaten en dat het dan wel goed komt. Waar heb ik het dan over? Bv de Z optie voor podman volumes die content alleen beschikbaar maakt voor die container, versus lowercase z dat ook SELinux toepast maar dan de volumes deelbaar maakt tussen containers.

Ik liep er tegenaan dat plex juist hierop stuk liep op een eigen dataset binnen mijn ZFS pool, wat op zich al even zoeken was .... was al bezig met zvols en xfs en de tranen stonden bij wijze van spreke al in mijn ogen ;) Wat nou nooit meer partitioneren en gewoon netjes indelen..... Uiteindelijk bleek het natuurlijk en gelukkig gewoon mijn fout: gewoon afblijven van de context opties van zfs en dat allemaal op de default van"none" laten, het OS redt zich er dan wel mee. Gok zelfs dat je dit net als met gewone rechten kan fixen door het mountpoint van de juiste context te voorzien, maar dot vooral dus niet als dataset prop mee te geven!

Wellicht heeft iemand anders hier wat aan, kon hier nl. niet veel over vinden. Sowieso de MLS/MLC optie van SELinux wordt dus wel gebruikt al in het wild op default installaties maar is erg onderbelicht.

Acties:
  • 0 Henk 'm!

  • klokslag
  • Registratie: Juli 2012
  • Laatst online: 15-06 16:04
Goedemiddag,

Ik wil een home server installeren op een oude NUC 7th i5. Bedoeling is wat te experimenteren met docker containers en bepaalde taken te automatiseren (e.g. upload of download taakje op de server doen, misschien ook Plex Mediaserver gebruiken).

Is TrueNAS Scale hier een goede keuze?

Opslag zou op een 500 GB mnve SSD en een SATA 750 GB SSD zijn die ook heb liggen. Nuc heeft 16 GB ram.

M.v.g. Klokslag

Acties:
  • 0 Henk 'm!

  • TRAXION
  • Registratie: Februari 2002
  • Laatst online: 16-05 13:44
Ik had afgelopen week een error op mijn zfs pool bestaande uit 4 usb schijven, zfs heeft een paar byte geresilvered.

In de logs kwam naar voren dat de usb verbinding van die specifieke drive verbroken is geweest "log" zal ik straks nog even copy pasten.

Nu heb ik de error simpelweg gecleared aangezien ik ervanuit ga dat het een hikje is geweest in het usb protocol/hub.

Maar wanneer fault een schijf onder zfs ik heb een aantal weken terug een schijf vervangen vanwege surface errors welke een honderdtal fouten gaf.

Wat is zeg maar de threshold?
Ik heb aardig wat gegoogled maar kan hier geen duidelijk antwoord op vinden.

De betreffende schijven zijn verder 100 uur door badblocks gegaan zonder enig probleem het lijkt voort te komen uit het in standby staan van de disks.

Overigens is er ten tijde van de error geen disk activity geweest.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2023-05-15T01:28:21.744997+00:00 pixelserver kernel: [612201.696975] usb 2-4.1: USB disconnect, device number 8
2023-05-15T01:28:21.804956+00:00 pixelserver kernel: [612201.753430] sd 6:0:0:0: [sdf] Synchronizing SCSI cache
2023-05-15T01:28:22.044911+00:00 pixelserver kernel: [612201.993369] sd 6:0:0:0: [sdf] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
2023-05-15T01:28:22.268915+00:00 pixelserver kernel: [612202.217426] usb 2-4.1: new SuperSpeed USB device number 12 using xhci_hcd
2023-05-15T01:28:22.288948+00:00 pixelserver kernel: [612202.238444] usb 2-4.1: New USB device found, idVendor=0bc2, idProduct=331a, bcdDevice= 9.15
2023-05-15T01:28:22.288961+00:00 pixelserver kernel: [612202.238446] usb 2-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2023-05-15T01:28:22.288962+00:00 pixelserver kernel: [612202.238447] usb 2-4.1: Product: Expansion Desk
2023-05-15T01:28:22.288962+00:00 pixelserver kernel: [612202.238448] usb 2-4.1: Manufacturer: Seagate
2023-05-15T01:28:22.288963+00:00 pixelserver kernel: [612202.238449] usb 2-4.1: SerialNumber: NAABLDQC
2023-05-15T01:28:22.296908+00:00 pixelserver kernel: [612202.246132] scsi host10: uas
2023-05-15T01:28:22.296913+00:00 pixelserver kernel: [612202.246571] scsi 10:0:0:0: Direct-Access     Seagate  Expansion Desk   0915 PQ: 0 ANSI: 6
2023-05-15T01:28:22.296913+00:00 pixelserver kernel: [612202.248621] sd 10:0:0:0: Attached scsi generic sg5 type 0
2023-05-15T01:28:22.296914+00:00 pixelserver kernel: [612202.248818] sd 10:0:0:0: [sdj] 31251759103 512-byte logical blocks: (16.0 TB/14.6 TiB)
2023-05-15T01:28:22.296914+00:00 pixelserver kernel: [612202.248820] sd 10:0:0:0: [sdj] 4096-byte physical blocks
2023-05-15T01:28:22.296915+00:00 pixelserver kernel: [612202.248971] sd 10:0:0:0: [sdj] Write Protect is off
2023-05-15T01:28:22.296915+00:00 pixelserver kernel: [612202.248973] sd 10:0:0:0: [sdj] Mode Sense: 53 00 00 08
2023-05-15T01:28:22.296916+00:00 pixelserver kernel: [612202.249267] sd 10:0:0:0: [sdj] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
2023-05-15T01:28:22.300939+00:00 pixelserver kernel: [612202.249470] sd 10:0:0:0: [sdj] Preferred minimum I/O size 4096 bytes
2023-05-15T01:28:22.300943+00:00 pixelserver kernel: [612202.249472] sd 10:0:0:0: [sdj] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
2023-05-15T01:28:33.656932+00:00 pixelserver kernel: [612213.608465]  sdj: sdj1 sdj9
2023-05-15T01:28:33.656942+00:00 pixelserver kernel: [612213.608599] sd 10:0:0:0: [sdj] Attached SCSI disk
2023-05-15T02:00:49.984942+00:00 pixelserver kernel: [614149.934595] zio pool=dataraid vdev=/dev/disk/by-id/scsi-SSeagate_Expansion_Desk_NAABLDQC-part1 error=5 type=2 offset=1662156537856 size=4096 flags=180880
2023-05-15T02:00:49.984947+00:00 pixelserver kernel: [614149.934618] zio pool=dataraid vdev=/dev/disk/by-id/scsi-SSeagate_Expansion_Desk_NAABLDQC-part1 error=5 type=1 offset=270336 size=8192 flags=b08c1
2023-05-15T02:00:49.984948+00:00 pixelserver kernel: [614149.934624] zio pool=dataraid vdev=/dev/disk/by-id/scsi-SSeagate_Expansion_Desk_NAABLDQC-part1 error=5 type=2 offset=1700811243520 size=4096 flags=180880
2023-05-15T02:00:49.984948+00:00 pixelserver kernel: [614149.934627] zio pool=dataraid vdev=/dev/disk/by-id/scsi-SSeagate_Expansion_Desk_NAABLDQC-part1 error=5 type=1 offset=16000889659392 size=8192 flags=b08c1
2023-05-15T02:00:49.984949+00:00 pixelserver kernel: [614149.934632] zio pool=dataraid vdev=/dev/disk/by-id/scsi-SSeagate_Expansion_Desk_NAABLDQC-part1 error=5 type=1 offset=16000889921536 size=8192 flags=b08c1
2023-05-15T02:00:49.984950+00:00 pixelserver kernel: [614149.934674] zio pool=dataraid vdev=/dev/disk/by-id/scsi-SSeagate_Expansion_Desk_NAABLDQC-part1 error=5 type=2 offset=1662156541952 size=4096 flags=180880
2023-05-15T02:00:49.984951+00:00 pixelserver kernel: [614149.934684] zio pool=dataraid vdev=/dev/disk/by-id/scsi-SSeagate_Expansion_Desk_NAABLDQC-part1 error=5 type=2 offset=1700811247616 size=4096 flags=180880


Heb wel nog wat terug gevonden over usb autosuspend en zal sowieso de kabel maar vervangen.

[ Voor 71% gewijzigd door TRAXION op 20-05-2023 05:52 ]


Acties:
  • 0 Henk 'm!

  • soulcrusher
  • Registratie: Augustus 2009
  • Laatst online: 02-06 17:45
Ik kan niet booten van een bepaalde pool na migratie (zfs send/recieve). Ik krijg de volgende error
code:
1
cannot import 'tank': no such pool available
Dit wordt gevolgd door een kernel panic.

Dit zijn mijn pools:
code:
1
2
3
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
tank   3.62T   752G  2.89T        -         -     0%    20%  1.00x    ONLINE  -
zroot  1.86T   753G  1.12T        -         -     2%    39%  1.00x    ONLINE  -


Wat ik heb gedaan:
Ik heb enige tijd geleden mijn Arch installatie verplaatst van EXT4 naar een ZFS pool met enkele SSD. De SSD heeft een ~600mb grote fat32 partitie voor de EFI partitie en grub zit op de pool. Dit ging redelijk eenvoudig en werkt sinds die tijd vlekkeloos. Nu wil ik die enkele SSD vervangen door een stripe van 2 nieuwe SSD's (ik aanvaard het risico).

Als eerste had ik het idee dat ik de stripe als mirror toe kan voegen aan mijn bestaande pool, dan na resilver de enkele mirror te verwijderen, maar volgens mij kan dat niet. Dus ik heb een nieuwe pool aangemaakt met de stripe (tank) en vervolgens de single disk pool (zroot) ge-zfs send naar de stripe. Dit ging goed en nu heb ik twee pools met identieke dataset.

Het probleem is echter dat ik niet van de nieuwe pool kan booten. Ik heb GRUB opnieuw geinstalleerd en alle relevante GRUB config files die ik eerder aangeraakt heb aangepast zodat ze nu wijzen naar tank in plaats van zroot. Als ik in GRUB de entry aanpas van tank naar zroot dan importeert hij succesvol zroot en start het systeem zonder problemen op, maar als hij verwijst naar tank dan kan hij de pool niet vinden. Na booten handmatig zpool import tank werkt ook gewoon vlekkeloos.

Dit is de GRUB entry.
code:
1
2
3
4
5
6
7
8
9
10
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod zfs
search --no-floppy --fs-uuid --set=root 850410a262eb2b81
echo    'Loading Linux linux-zen ...'
linux   /ROOT/default@/boot/vmlinuz-linux-zen root=ZFS=tank/ROOT/default rw  loglevel=3 quiet
echo    'Loading initial ramdisk ...'
initrd  /ROOT/default@/boot/amd-ucode.img /ROOT/default@/boot/initramfs-linux-zen.img


Iemand enig idee wat hier fout gaat?

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Misschien kan je iets vinden op https://wiki.archlinux.org/title/Install_Arch_Linux_on_ZFS. Of zien wat precies the kernel panic is met:
code:
1
journalctl -b -1

Acties:
  • 0 Henk 'm!

  • Borromini
  • Registratie: Januari 2003
  • Niet online

Borromini

Mislukt misantroop

@soulcrusher /etc/zpool/cache al verwijderd?

Got Leenucks? | Debian Bookworm x86_64 / ARM | OpenWrt: Empower your router | Blogje


Acties:
  • 0 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Die "Install_Arch_Linux_on_ZFS" link noemt o.a. ZFS/GRUB bugs en ZFS/GRUB-compatible pool creation (compatible zpool features).

Acties:
  • +1 Henk 'm!

  • soulcrusher
  • Registratie: Augustus 2009
  • Laatst online: 02-06 17:45
willemw12 schreef op zaterdag 20 mei 2023 @ 07:07:
Die "Install_Arch_Linux_on_ZFS" link noemt o.a. ZFS/GRUB bugs en ZFS/GRUB-compatible pool creation (compatible zpool features).
Dit had ik inderdaad gelezen. Volgens mij heb ik niet dit probleem maar ik had de stappen al doorlopen, mijn /etc/grub.d/10_linux is al aangepast zodat hij direct naar de tank pool verwijst maar dit helpt niet.
Nog niet geprobeerd, bedankt voor de suggestie.

Edit:
Inmiddels opgelost. Ik gebruikte het commando mkinitcpio -p linux terwijl ik de zfs kernel modules alleen voor linux-zen geinstalleerd had en GRUB als default entry Linux-zen gebruikt (en de rest standaard weglaat). Ik had even niet door dat ik mkinitcpio -p linux-zen moest gebruiken en ik had de warnings over het missen van zfs modules over het hoofd gezien omdat het eerder wel werkte. Bedankt in ieder geval voor de suggesties en ik heb weer wat geleerd over het Linux boot process O-) .

[ Voor 27% gewijzigd door soulcrusher op 20-05-2023 18:36 ]

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Ik heb offsite een systeempje draaien dat ZFS datasets van bij mij thuis repliceert (/send & receive dus). Gisteren kreeg ik hiervan een mailtje van een mislukte scrub, dus maar even controleren.

errors: Permanent errors have been detected in the following files:

        backup/nas/tank/user/robert/data@2020-07-02-000000:<0xe2991>

Ik neem aan dat gezien de <0xe2991> dit eerder duid op een metadata error dan op een daadwerkelijke error in een bestand?

Tot voor kort draaide de boel ook in mirror, maar "de andere" HDD (die ~jaartje nieuwer was :X) is recentelijk overleden en heb ik niet vervangen (kosten/baten, dit specifieke systeempje heeft me meer kopzorgen gegeven dan mijn daadwerkelijke thuisserver). Mogelijk dat er dus wel al langer iets aan de hand was (maar stilletjes gerepareerd? Weet niet of Zed daar over informeerd als die niet verbose draait). Maar puur voor de "theorie" is dit nog te herstellen door bv dit snapshot vanaf de primaire locatie "opnieuw" te versturen? Of kan ik me beter de moeite besparen en deze (bijna) 3 jaar oude snapshot verwijderen? Waarschijnlijk bewaar ik zo'n oude snapshots niet eens meer. Weet niet van welke tool/script dit snapshot is, maar gebruik al een hele tijd Pyznap, en die prefixed snapshots met pyznap_, en zal uiteraard geen andere snapshots aanraken/verwijderen.

Acties:
  • +2 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Ik dacht dat een scrub de enige mogelijkheid was. OpenZFS heeft nu een corrective receive voor data maar niet meta-data, denk ik (Is it possible to repair a ZFS snapshot by re-sending it?).

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
willemw12 schreef op donderdag 1 juni 2023 @ 14:21:
Ik dacht dat een scrub de enige mogelijkheid was. OpenZFS heeft nu een corrective receive voor data maar niet meta-data, denk ik (Is it possible to repair a ZFS snapshot by re-sending it?).
Hmm, worth a shot (gaat in beide gevallen om Linux, eenmaal Proxmox gebaseerd op Debian Bullseye en eenmaal ARMBian gebaseerd op bullseye, dus beide OpenZFS).
Die SO link doet mij dan wel twijfelen of het inderdaad een metadata fout is, gezien die post aangeeft dat de metadata meerdere keren wordt opgeslagen. Dan zou het dus ook al meerdere keren corrupt moeten zijn.

Acties:
  • +1 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
"Allemaal niet zo dringend en zo"
willemw12 schreef op donderdag 1 juni 2023 @ 14:21:
Ik dacht dat een scrub de enige mogelijkheid was. OpenZFS heeft nu een corrective receive voor data maar niet meta-data, denk ik (Is it possible to repair a ZFS snapshot by re-sending it?).
Nu even aan het kijken. Deze feature komt pas in 2.2 en die is dus "nog" niet uit -O- Dan maar even laten staan totdat 2.2 uit komt en dan pogen nog eens er aan te denken.

Acties:
  • +2 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Het is zeker het proberen waard maar het ziet erna uit dat het niet gaat werken. https://openzfs.github.io.../man/8/zfs-receive.8.html:
Metadata can not be healed by corrective receive
Wat ook leerzaam is om, evt. na een scrub, te kijken hoeveel snapshots (of nog meer) je moet verwijderen om van die meta-data fout af te komen.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
willemw12 schreef op woensdag 7 juni 2023 @ 21:05:
Het is zeker het proberen waard maar het ziet erna uit dat het niet gaat werken. https://openzfs.github.io.../man/8/zfs-receive.8.html:


[...]
Het is natuurlijk ook een beetje vaag. In dat die vervolgens faalt op de filename. En met metadata die AFAIK vaker, op meerdere plekken, wordt opgeslagen zou ik ook verwachten dat er meer moet falen? Nu lijkt het maar om een bestand te gaan naar mijn idee. Of i.p.v. op meerdere plekken falen enige indicatie dat er ook iets hersteld is (metadata die op "dezelfde" plek staat die hersteld is vanaf de "kopie"). Terwijl de scrub uit komt op "0B repaired".
Wat ook leerzaam is om te kijken hoeveel snapshots (of nog meer) je moet verwijderen om van die meta-data fout af te komen.
Afgaande op de error alleen dat ene snapshot? :X Maar experiment of het te herstellen is vind ik eerlijk gezegd belangrijker. En snapshot verwijderen is natuurlijk destructief waarna ik de herstel actie niet meer kan proberen. (Andersom natuurlijk ook, in a way. Als corrective receive werkt en zijn ding doet blijkt ook niet hoeveel snapshots stuk zijn/waren).

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Zijn er hier toevallig met creatieve oplossingen v.w.b. ZFS (native) encryptie en automatische unlocking op basis van een externe key / ...?

Context: momenteel heb ik een systeem met Proxmox met ZFS (on root), en vervolgens nog een additionele (RAIDZ) pool waarbij een aantal datasets encrypted zijn (en ook raw / encrypted met send & receive gebackupped worden). De encryption key daarvan staat "in plain text" op de root pool. Niet heel handig dus, maar hey, het staat in ieder geval niet op dezelfde pool (en de pool/dataset waar het op staat wordt niet gebackupped. Uiteraard staat de key wel ook nog ergens anders opgeslagen).

Intussen bezig met een nieuw systeempje, Debian met ZFS on root, en zou nu (weer / de) encrypted data op dezelfde pool willen zetten. Echter zet ik dan liever niet de encryption key op dezelfde pool. Van wat ik nu gelezen heb zou het vrij eenvoudig moeten zijn om dropbear op te zetten in het initramfs image en daarmee remote te unlocken. Echter betekent dat handwerk, en dat wil ik niet. Wat ik zo lees zijn er echter ook mogelijkheden om zelf een script te schrijven dat de key inlaad? Wat ik nu aan het denken ben is om de key op mijn (zelfbouw, eveneens Debian based) router te plaatsen (want "24/7" bereikbaar). En op het servertje dan een script dat via SSH inlogt op de router en de keyfile leest en dan dus inlaad. Dus zeg maar een ssh router cat /pad/naar/key | zfs load-key pad/naar/dataset.
Enige catch die ik nu echter al kan zien is bv iets van stroomuitval en dat de router nog (net) niet beschikbaar is. Maar dat is wellicht nog te overzien, al dan niet door een delay in te bakken.

Concreteet dus: hebben jullie hier nog creatieve ideeën / oplossingen voor?

Acties:
  • 0 Henk 'm!
RobertMe schreef op dinsdag 13 juni 2023 @ 21:00:
Van wat ik nu gelezen heb zou het vrij eenvoudig moeten zijn om dropbear op te zetten in het initramfs image en daarmee remote te unlocken. Echter betekent dat handwerk, en dat wil ik niet.
Waarom is dat handwerk? En waarin is jouw voorgestelde methode zo anders.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Omdat ik dan via SSH moet inloggen (in dropbear) om vervolgens de passphrase in te vullen / zfsunlock te doen? (voor zover ik het begrijp)
En waarin is jouw voorgestelde methode zo anders.
Ik zou dan het servertje zelf de passphrase van een ander systeem laten lezen. Dus i.p.v. dat "iets" inlogt op het servertje en passphrase invoert omdraaien zodat het servertje zelf van op een andere locatie de passphrase leest. Waarbij naar mijn idee de veiligheid ook niet echt in het geding komt. Als het servertje niet meer in huis zou zijn kan die natuurlijk ook niet de passphrase van de router lezen, en daarnaast valt in geval van diefstal / ... natuurlijk ook de SSH key van mijn router te verwijderen waardoor die uberhaupt niet meer kan inloggen en dus ook niet de passphrase kan lezen.

Acties:
  • +1 Henk 'm!
RobertMe schreef op dinsdag 13 juni 2023 @ 21:46:
[...]

Omdat ik dan via SSH moet inloggen (in dropbear) om vervolgens de passphrase in te vullen / zfsunlock te doen? (voor zover ik het begrijp)
Je moet het niet via dropbear doen. Je kan ook gewoon een wget / fetch achtig iets programmeren in je initramfs. Als je dan ook zorgt dat hij de cmdline.txt gebruikt om parameters in te lezen kan je het zo modulair maken als je wil.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
CurlyMo schreef op dinsdag 13 juni 2023 @ 21:47:
[...]

Je moet het niet via dropbear doen. Je kan ook gewoon een wget / fetch achtig iets programmeren in je initramfs.
Ja true, SSH (client) is natuurlijk maar een optie. Had ik nog niet zo bij stil gestaan. De "met dropbear / SSH server kun je vanaf remote inloggen en invullen" duwde mij meteen in het SSH pad, terwijl lezen met wget etc natuurlijk net zo goed kan. Behalve dat een HTTP endpoint by default weer niet beveiligd is.
Als je dan ook zorgt dat hij de cmdline.txt gebruikt om parameters in te lezen kan je het zo modulair maken als je wil.
Denk dat dat nog even 5 bruggen te ver is :P Maar neem aan dat je dus gewoon de kernel boot cmdline bedoelt (dus dat ding dat je in Grub / refind / systemd-boot / ... kunt editten en bij kernel aftrap wordt meegegeven)? (Die in initramfs beschikbaar is als een cmdline.txt naar ik aanneem dan).

Maar leest alsof je er ervaring mee hebt. Dus heb je toevallig een opzetje? O-)

Acties:
  • +2 Henk 'm!
RobertMe schreef op dinsdag 13 juni 2023 @ 21:53:
[...]
Denk dat dat nog even 5 bruggen te ver is :P Maar neem aan dat je dus gewoon de kernel boot cmdline bedoelt (dus dat ding dat je in Grub / refind / systemd-boot / ... kunt editten en bij kernel aftrap wordt meegegeven)? (Die in initramfs beschikbaar is als een cmdline.txt naar ik aanneem dan).

Maar leest alsof je er ervaring mee hebt. Dus heb je toevallig een opzetje? O-)
Als je wil weten hoe we dat ooit hebben opgezet voor XBian, zie: https://github.com/xbianonpi/xbian-package-initramfs.

Het parsen van de cmdline.txt t.b.v. een modulaire configuratie van je initramfs:
https://github.com/xbiano...an-initramfs/init#L56-L67

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +2 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Hmm, volgens mij ben ik sowieso te moeilijk aan het denken :X

Gezien het maar om een aantal datasets gaat die niet essentieel zijn "voor het OS" (dus puur user data die er op staat, en dus niet /home, /usr of zo) kan die natuurlijk ook tijdens de normale boot geunlocked worden, middels een systemd unit. By default is er sowieso de zfs-load-key.service die vrij letterlijk de zfs load-key -a doet. Maar in diezelfde fase (After = zfs-import.target, Before = zfs-mount.service & WantedBy = zfs-mount.service) kan ik dus net zo goed een eigen service laten runnen die deze specifieke keys inlaad en "klaar". Dan hoef ik ook nog niet zo, voor mijn idee, tricky te doen met het initramfs image "aanpassen" (/scripts aan toevoegen etc, lastiger debuggen, ...). En door dan de load-key te doen vooraf aan de zfs-mount.service worden ze ook weer automatisch gemount doordat de key beschikbaar is.

Acties:
  • +3 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
RobertMe schreef op dinsdag 13 juni 2023 @ 22:35:
Hmm, volgens mij ben ik sowieso te moeilijk aan het denken :X

Gezien het maar om een aantal datasets gaat die niet essentieel zijn "voor het OS" (dus puur user data die er op staat, en dus niet /home, /usr of zo) kan die natuurlijk ook tijdens de normale boot geunlocked worden, middels een systemd unit. By default is er sowieso de zfs-load-key.service die vrij letterlijk de zfs load-key -a doet. Maar in diezelfde fase (After = zfs-import.target, Before = zfs-mount.service & WantedBy = zfs-mount.service) kan ik dus net zo goed een eigen service laten runnen die deze specifieke keys inlaad en "klaar". Dan hoef ik ook nog niet zo, voor mijn idee, tricky te doen met het initramfs image "aanpassen" (/scripts aan toevoegen etc, lastiger debuggen, ...). En door dan de load-key te doen vooraf aan de zfs-mount.service worden ze ook weer automatisch gemount doordat de key beschikbaar is.
Hmms, blijkt allemaal toch meer voeten in de aarde te hebben. Uiteraard niet stil gestaan bij het feit dat zo vroeg in het boot proces de netwerkverbinding ook nog niet is opgezet. Dus dat lijdt gewoon tot een "could not resolve hostname" en op IP basis "Network is unreachable".
Dat wordt dus dit pas uitvoeren na network online. En dan nog een keer een zfs mount -a doen nadat alle keys zijn geladen. Gaat ook om encryption roots met meerdere sub-datasets, dus direct na de load-key een mount van die dataset doen zal de "subsets" niet mounten.

Edit:
Toch makkelijker dan gedacht. Wachten tot het netwerk online is:
INI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description = Load ZFS encryption keys
DefaultDependencies = no
Wants = network-online.target
After = zfs-import.target network-online.target
Before = zfs-mount.service

[Service]
Type = oneshot
RemainAfterExit = yes
ExecStart=/bin/bash -c 'ssh -i /etc/zfs/ssh_id zfs-keys@192.168.1.1 %i | gpg --batch --decrypt --passphrase-file /boot/zfs-enc-key.txt | zfs load-key %I'
ExecStop=zfs unload-key %I

[Install]
WantedBy = zfs-mount.service

Oftewel, de Wants & After op network-online.target. Dan werkt het prima.

[ Voor 16% gewijzigd door RobertMe op 23-06-2023 10:11 ]


Acties:
  • +1 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
RobertMe schreef op vrijdag 23 juni 2023 @ 10:03:
[...]

Hmms, blijkt allemaal toch meer voeten in de aarde te hebben. Uiteraard niet stil gestaan bij het feit dat zo vroeg in het boot proces de netwerkverbinding ook nog niet is opgezet. Dus dat lijdt gewoon tot een "could not resolve hostname" en op IP basis "Network is unreachable".
Dat wordt dus dit pas uitvoeren na network online. En dan nog een keer een zfs mount -a doen nadat alle keys zijn geladen. Gaat ook om encryption roots met meerdere sub-datasets, dus direct na de load-key een mount van die dataset doen zal de "subsets" niet mounten.

Edit:
Toch makkelijker dan gedacht. Wachten tot het netwerk online is:
INI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description = Load ZFS encryption keys
DefaultDependencies = no
Wants = network-online.target
After = zfs-import.target network-online.target
Before = zfs-mount.service

[Service]
Type = oneshot
RemainAfterExit = yes
ExecStart=/bin/bash -c 'ssh -i /etc/zfs/ssh_id zfs-keys@192.168.1.1 %i | gpg --batch --decrypt --passphrase-file /boot/zfs-enc-key.txt | zfs load-key %I'
ExecStop=zfs unload-key %I

[Install]
WantedBy = zfs-mount.service

Oftewel, de Wants & After op network-online.target. Dan werkt het prima.
En toch, klopt ook dit nog niet :X Nu ik een sub-dataset heb aangemaakt, die ook nog eens een afwijkend mountpoint heeft (encryption root is rpool/user, nu rpool/user/robert aangemaakt met /home/robert/data als mountpoint).

Nu faalt die tijdens de boot weer met een systemd-ask-password prompt. Waarom nu, geen idee. Maar wat dus blijkbaar gebeurt is dat er een "zfs-mount-generator" is. Op basis van een cache file maakt deze (systemd) mount units aan. Daarbij wordt ook gekeken naar de ZFS properties. Heeft de dataset een encroot wordt er een dependency naar zfs-load-key@<encroot> gedefinieerd, en ook daarvoor een service unit gedefinieerd (die op basis van de keylocation weer optioneel dependencies heeft op network-online of local-fs).
Idealiter fix ik dus dat dit gebruik maakt van mijn logica/"script"/commando. Alleen moet ik dan dus puzzelen hoe dat voor elkaar te krijgen. Of worst case org.openzfs.systemd:ignore op on zetten zodat er helemaal niks met dit mount verhaal wordt gedaan.

Acties:
  • +1 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
RobertMe schreef op zaterdag 24 juni 2023 @ 11:08:
[...]

En toch, klopt ook dit nog niet :X Nu ik een sub-dataset heb aangemaakt, die ook nog eens een afwijkend mountpoint heeft (encryption root is rpool/user, nu rpool/user/robert aangemaakt met /home/robert/data als mountpoint).

Nu faalt die tijdens de boot weer met een systemd-ask-password prompt. Waarom nu, geen idee. Maar wat dus blijkbaar gebeurt is dat er een "zfs-mount-generator" is. Op basis van een cache file maakt deze (systemd) mount units aan. Daarbij wordt ook gekeken naar de ZFS properties. Heeft de dataset een encroot wordt er een dependency naar zfs-load-key@<encroot> gedefinieerd, en ook daarvoor een service unit gedefinieerd (die op basis van de keylocation weer optioneel dependencies heeft op network-online of local-fs).
Idealiter fix ik dus dat dit gebruik maakt van mijn logica/"script"/commando. Alleen moet ik dan dus puzzelen hoe dat voor elkaar te krijgen. Of worst case org.openzfs.systemd:ignore op on zetten zodat er helemaal niks met dit mount verhaal wordt gedaan.
Problem solved, met deze service unit:
INI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[Unit]
Description = Load ZFS encryption keys
DefaultDependencies = no
Wants = network-online.target
After = network-online.target
Before = zfs-load-key@%i.service

[Service]
Type=oneshot
RemainAfterExit=yes
# This avoids a dependency loop involving systemd-journald.socket if this
# dataset is a parent of the root filesystem.
StandardOutput=null
StandardError=null
ExecStart=/bin/bash -c 'ssh -i /etc/zfs/ssh_id zfs-keys@192.168.1.1 %i | gpg --batch --decrypt --passphrase-file /boot/efi/zfs-enc-key.txt | zfs load-key %I'

[Install]
WantedBy = zfs-load-key@%i.service

De service depend nu dus alleen op network-online.target, en moet worden uitgevoerd vooraf aan, en is nodig voor, zfs-load-key@%i.service.
Als ik nu dus bv systemctl enable zfs-load-remote-key@rpool-user doe zal deze service automatisch worden uitgevoerd vooraf aan zfs-load-key@rpool-user en zal de key als alles goed is worden ingeladen. Deze vorm zorgt er ook nog eens voor dat de fallback naar de prompt (systemd-ask-password | zfs load-key) blijft werken. Want de door ZFS gegenereerde zfs-load-key@....service controleert eerst de keystatus propery (van de dataset) en doet zijn ding alleen als die unavailable is.

Echter... was dit vrij makkelijk te verzinnen, alleen werkte het niet :X. De boot logde een dependency loop op local-fs.target. Oorzaak daarvan is dat de ZFS gegenereerde mount unit dan een WantedBy = local-fs.target heeft, en/maar... network-online.target (dependency van mijn unit) depend op network.target en daarin, blijkbaar, een networking.service zit die ergens stiekem / "onzichtbaar" (niet te zien met systemctl list-dependencies networking.service) ook een dependency naar local-fs.target heeft. Deze unit blijkt vervolgens onderdeel te zijn van Debians ifupdown package en de magic achter /etc/network/{ifup,ifdown,interfaces}.d te zijn. En aangezien ik dat niet gebruik (maar systemd-networkd), dat package verwijderd en dan werkt de boot prima. systemd-networkd leest uiteraard ook config files uit /etc. Maar die heeft een expliciete dependency naar -.mount aka het root filesystem, en dus niet "alle lokale filesystems"

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Weet iemand hier een leuke SATA naar USB adapter? :X
Heb vandaag deze Sabrent ontvangen. Maar uhm, die doet het niet (goed?)

Langer verhaal:
Zoals hier al vaker aangegeven heb ik offsite een OrangePi liggen die backups maakt. Nadat eerder dit jaar een van de twee (Seagate 2,5") schijfjes stuk bleek (in mirror, dus "geen" issue), en later de ander strub failures begon te geven (ook hier over geschreven) maar eens wat ter vervanging gekocht (Samsung 870 Evo 4TB :X). Ding in mijn NAS gestopt, zpool create backup ata-Samsung-...., ding gevuld. In eerste instantie wilde ik gewoon de SATA - USB adapter van een Seagate schijfje gebruiken, maar... die werken niet lekker met SMART. Daarom bovengenoemde SATA - USB adapter besteld. Maar "die weigert dienst" :? Als in: de schijf wordt herkent, maar de partities niet (1 & 9 zijn dat dan uit mijn hoofd, bij gebruik volledige schijf). In eerste instantie dacht ik aan faal van block size (geen ashift=12 opgegeven). Met Seagate adapter geeft fdisk een block size van 512 aan, met Sabrent adapter 4096. En dat daardoor wellicht de partitie tabel niet gelezen kon worden. En doordat het sowieso al een faal was geen ashift op te geven maar opnieuw begonnen, alleen dan meteen testen. SSD weer in de NAS geplaatst zpool create backup -o ashift=12 ata-Samsung... -f, netjes geexport, met Sabrent adapter op PC aangesloten, en... niks. /dev/sdc verschijnt wel, maar dus geen partities. Met ook deze mooie output van fdisk:
`--> sudo fdisk -l /dev/sdc 
Disk /dev/sdc: 3,64 TiB, 4000787030016 bytes, 976754646 sectors
Disk model:                 
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 32768 bytes / 32768 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors Size Id Type
/dev/sdc1           1 4294967295 4294967295  16T ee GPT

SSD is intussen dus ook 4x zo groot :P

Mijn vermoeden is dus dat de adapter de boel niet 1 op 1 doorgeeft? Volgens mij is dat bv een quirk die de adapter in WD Elements HDDs heeft, die snoept ergens wat sectoren op. Maar volgens mij wordt dat dan weer gedetecteerd als corrupte paritietabel? Doordat die aan begin & eind staat? En maar aan 1 kant de sectoren "wegvallen".
Oftewel: mijn vertrouwen in deze adapter ben ik nu al kwijt ;w Moet ook niet de bedoeling zijn dat ik de SSD dadelijk alleen met deze adapter kan uitlezen en als de adapter stuk gaat de SSD "onbruikbaar" is (geformateerd moet worden).

Edit:
Als "second opinion" maar eens mijn Ewent HDD dock uit gehaald. Die "pakt" hem wel gewoon zoals het hoort.

Acties:
  • +1 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 17-06 18:46
RobertMe schreef op vrijdag 21 juli 2023 @ 22:24:
In eerste instantie dacht ik aan faal van block size (geen ashift=12 opgegeven).
Morrelen aan ashift is nog steeds onnodig en overbodig, laat dat gewoon aan zfs over.

Thralas in "Het grote ZFS topic"

Tenzij de adapter de physical sector size niet goed doorgeeft natuurlijk
Met Seagate adapter geeft fdisk een block size van 512 aan, met Sabrent adapter 4096.
Dat is precies de kern van je 'probleem'. Sommige adapters emuleren een logical sector size van 4096, daardoor klopt je partitietabel niet meer.

Dat is zo verholpen. Kwestie van een nieuwe GPT schrijven met alle sector offsets /8 of *8 afhankelijk van welke kant je opgaat.

[ Voor 5% gewijzigd door Thralas op 21-07-2023 22:44 ]


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Thralas schreef op vrijdag 21 juli 2023 @ 22:43:
[...]


Morrelen aan ashift is nog steeds onnodig en overbodig, laat dat gewoon aan zfs over.

Thralas in "Het grote ZFS topic"

Tenzij de adapter de physical sector size niet goed doorgeeft natuurlijk
ZFS heeft de pool aangemaakt terwijl deze in mijn NAS "fysiek" was aangesloten direct op SATA van het moederbord). En een 512B sector size lijkt mij voor een "nieuwe" SSD van 4TB toch wel onlogisch? 4K is naar mijn weten toch echt de standaard sinds "meerdere" jaren al. zpool get ashift backup gaf als ashift 0 (unset / auto?). zdb -C backup gaf echter een sector size van 9, dus deze was (inderdaad) 512 en geen quirk door een adapter of zo (+ dus "direct" op moederbord aangesloten geweest toen die was aangemaakt).

Gek genoeg heb ik overigens paar maanden terug dezelfde SSD gekocht, ik meen ook gewoon een zfs create tank ... gedaan, zonder ashift dus, maar die heeft wel een ashift van 12 (volgens zdb -C, maar ook volgens zpool get ashift, dus twijfel nu toch of ik hem niet alsnog met -o ashift=12 heb aangemaakt).
[...]


Dat is precies de kern van je 'probleem'. Sommige adapters emuleren een logical sector size van 4096, daardoor klopt je partitietabel niet meer.

Dat is zo verholpen. Kwestie van een nieuwe GPT schrijven met alle sector offsets /8 of *8 afhankelijk van welke kant je opgaat.
Ik wil gewoon iets hebben dat werkt zonder "hacks". Het moet gewoon goed, out of the box, werken. Anders weet ik natuurlijk ook niet of het nog werkt als het ding stuk gaat of wat dan ook.

Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
Vreemd probleempje hier...

pool: poolname
Wordt gemount in /poolname
Hier onder een aantal datasets, laten we zeggen:
poolname/data1
poolname/data2
poolname/data3

Als ik poolname importeer en mount zijn er geen datasets in /poolname/ óf zijn het wel de namen van de datasets maar zijn ze 'leeg'. (zfs list laat duidelijk zien dat er genoeg data overal staat.)

Als ik dan doe:
code:
1
2
zfs set mountpoint=none poolname
zfs set mmountpoint=/poolname poolname

En dan unmount en mount, is het er opeens wel...
Ook de datasets per stuk mounten zorgt voor de data.

Het is alsof de poolname root alles wat er onder ligt eerst bedekt.
Hoe dit op te lossen?
Of mis ik iets en moet je daadwerkelijk per dataset mounten?

Edit:

Eens getest in een VM. Daar gebeurt hetzelfde na het mounten van poolname op /poolname. Bij het schrijven naar map /poolname/data1, is met het zfs list commando te zien dat poolname groeit maar dataset poolname/data1 niet.

[ Voor 21% gewijzigd door Saturnus op 29-07-2023 20:01 ]


Acties:
  • +1 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
Weet je zeker dat /data1 /data2 en /data3 datasets zijn en niet stiekem folders? Of dat /data123 datasets zijn, maar dat er ook folders zijn met dezelfde namen?

[ Voor 202% gewijzigd door GioStyle op 29-07-2023 20:20 ]


Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
GioStyle schreef op zaterdag 29 juli 2023 @ 20:13:
Weet je zeker dat /data1 /data2 en /data3 datasets zijn en niet stiekem folders? Of dat /data123 datasets zijn, maar dat er ook folders zijn met dezelfde namen?
Het zijn sowieso datasets maar ook folders als zijnde mountpoint folders. Echter had ik die ‘childs’ automatisch gemount verwacht. Maar misschien is mijn verwachting fout.

Acties:
  • +1 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
Saturnus schreef op zaterdag 29 juli 2023 @ 20:23:
[...]

Het zijn sowieso datasets maar ook folders als zijnde mountpoint folders. Echter had ik die ‘childs’ automatisch gemount verwacht. Maar misschien is mijn verwachting fout.
Als ik een pool importeer, dan importeert ie ook automatisch de datasets inclusief mountpoints.

Kan je de pool exporteren, importeren en dan de output van de commando 'zfs list' tonen?

Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
GioStyle schreef op zaterdag 29 juli 2023 @ 20:32:
[...]


Als ik een pool importeer, dan importeert ie ook automatisch de datasets inclusief mountpoints.

Kan je de pool exporteren, importeren en dan de output van de commando 'zfs list' tonen?
code:
1
2
3
4
5
root@VM:/home/saturnus# zfs list
NAME         USED  AVAIL     REFER  MOUNTPOINT
tank        18.1M  9.34G     16.4M  /tank
tank/data1   234K  9.34G      234K  /tank/data1
tank/data2   234K  9.34G      234K  /tank/data2


Vervolgens doe ik: zfs mount tank
En verwacht ik dat de datasets data1 en data2 'meekomen', maar dat blijkt niet het geval. Zoals ik zei, misschien zit mijn verwachting fout.

Edit:
https://www.reddit.com/r/...y_to_mount_all_the_child/
https://www.reddit.com/r/...id_zfs_mount_a_mount_all/
https://forum.proxmox.com...tasets-bind-mounts.55852/

Deze links wijzen erop dat mijn verwachting fout is.

[ Voor 18% gewijzigd door Saturnus op 29-07-2023 20:49 ]


Acties:
  • +1 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
code:
1
zfs get -r canmount tank


Staat deze eigenschap bij alle datasets op 'on'?

Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
GioStyle schreef op zaterdag 29 juli 2023 @ 20:49:
code:
1
zfs get -r canmount tank


Staat deze eigenschap bij alle datasets op 'on'?
Yes.

(Vorige post bijgewerkt met nieuwe info.)

Acties:
  • +2 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Probeer
code:
1
zfs mount -a
Dit mount alle datasets.

code:
1
zfs mount <filesystem>
mount misschien alleen die ene filesystem/dataset.

[ Voor 10% gewijzigd door willemw12 op 30-07-2023 00:13 ]


Acties:
  • 0 Henk 'm!

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
willemw12 schreef op zondag 30 juli 2023 @ 00:04:
Probeer
code:
1
zfs mount -a
Dit mount alle datasets.

code:
1
zfs mount <filesystem>
mount misschien alleen die ene filesystem/dataset.
Dit is inderdaad correct.

Al met al ga ik er vanuit dat mijn initiële verwachting incorrect was.

Acties:
  • +1 Henk 'm!
ZFS doet bij een reboot een `zfs mount -a` maar niet tijdens het wijzigen van je mountpoints inderdaad, dan moet je die handmatig even zelf doen :)

Even niets...


Acties:
  • +4 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
FireDrunk schreef op maandag 31 juli 2023 @ 10:45:
ZFS doet bij een reboot een `zfs mount -a`
Dat ligt nogal aan de hoe en wat. ZFS levert onder Linux ook systemd generators mee. Daarbij wordt een situatie gecreëerd dat bij het "beheer" van de datasets een ZED script wordt uitgevoerd dat (IIRC per zpool) een file genereert met alle datasets, mountpoints, en relevante (overige) properties. Tijdens boot draait vervolgens de systemd generator voor ZFS die dynamisch allemaal .mount units genereert. Deze mount units hebben vervolgens een WantedBy local-fs.target (of remote-fs.target als je ZFS encryptie gebruikt met remote keys). Waardoor deze ook al vroeg in de boot worden uitgevoerd.
De "klassieke" zfs-mount.service, die dan zfs mount -a doet bestaat wel nog. Maar deze wordt pas later in het boot proces uitgevoerd, en is dus niet (meer) nodig.

Ter voorbeeld zo'n gegenereerde mount unit file:
`--> cat /run/systemd/generator/home-robert.mount
# Automatically generated by zfs-mount-generator

[Unit]
SourcePath=/etc/zfs/zfs-list.cache/rpool
Documentation=man:zfs-mount-generator(8)

Before=zfs-mount.service local-fs.target
After=
Wants=

[Mount]
Where=/home/robert
What=rpool/home/robert
Type=zfs
Options=defaults,atime,relatime,dev,exec,rw,suid,nomand,zfsutil


Wat dan is gegeneerd op basis van:
`--> grep rpool/home/robert /etc/zfs/zfs-list.cache/rpool
rpool/home/robert       /home/robert    on      on      on      on      on               off      on      off     -       none    -       -       -       -       -                -


En dan ook maar een linkje naar de man page van het script: https://openzfs.github.io...fs-mount-generator.8.html

Acties:
  • +1 Henk 'm!
RobertMe schreef op maandag 31 juli 2023 @ 11:32:
[...]

Dat ligt nogal aan de hoe en wat. ZFS levert onder Linux ook systemd generators mee. Daarbij wordt een situatie gecreëerd dat bij het "beheer" van de datasets een ZED script wordt uitgevoerd dat (IIRC per zpool) een file genereert met alle datasets, mountpoints, en relevante (overige) properties. Tijdens boot draait vervolgens de systemd generator voor ZFS die dynamisch allemaal .mount units genereert. Deze mount units hebben vervolgens een WantedBy local-fs.target (of remote-fs.target als je ZFS encryptie gebruikt met remote keys). Waardoor deze ook al vroeg in de boot worden uitgevoerd.
De "klassieke" zfs-mount.service, die dan zfs mount -a doet bestaat wel nog. Maar deze wordt pas later in het boot proces uitgevoerd, en is dus niet (meer) nodig.

Ter voorbeeld zo'n gegenereerde mount unit file:
`--> cat /run/systemd/generator/home-robert.mount
# Automatically generated by zfs-mount-generator

[Unit]
SourcePath=/etc/zfs/zfs-list.cache/rpool
Documentation=man:zfs-mount-generator(8)

Before=zfs-mount.service local-fs.target
After=
Wants=

[Mount]
Where=/home/robert
What=rpool/home/robert
Type=zfs
Options=defaults,atime,relatime,dev,exec,rw,suid,nomand,zfsutil


Wat dan is gegeneerd op basis van:
`--> grep rpool/home/robert /etc/zfs/zfs-list.cache/rpool
rpool/home/robert       /home/robert    on      on      on      on      on               off      on      off     -       none    -       -       -       -       -                -


En dan ook maar een linkje naar de man page van het script: https://openzfs.github.io...fs-mount-generator.8.html
Je hebt helemaal gelijk, mijn `zfs mount -a` was een sterke vereenvoudiging van het proces :+
Dat is met de jaren sterk verbeterd in ZoL gelukkig.

Even niets...


Acties:
  • +2 Henk 'm!
Ik zat er wat mee te worstelen, hopelijk heeft de volgende er wat aan, zoniet ga ik het hier ooit wel terugvinden want dit is ook een beetje mijn kennisdatabank ;-)

Ik heb altijd mijn disks gepartitioneerd volgens de guide van @FireDrunk , helaas is die recent verdwenen door het verdwijnen van Tweakblogs, dus voor de volledigheid geef ik die hier ook nog even mee via waybackmachine:
De meest aan mij gestelde vraag de afgelopen tijd is wel: "Hoe richt ik mijn schijven nou in onder Linux als ik ZFS wil gebruiken?".

Dat is eigenlijk heel simpel: met gdisk!

Gdisk is eigenlijk fdisk, maar dan (fatsoenlijk) geschikt voor GPT partities.

apt-get install gdisk


Let op: SOMMIGE WIJZIGINGEN MET GDISK ZIJN DIRECT VAN TOEPASSING, EN HOEF JE DUS NIET MEER TE BEVESTIGEN, LET DUS OP DAT JE DE GOEDE DISK KIEST!

Je kan een disk gewoon aanspreken via zijn standaard linux Identifier.

gdisk /dev/sdb


Kies optie O voor nieuwe GPT layout.

Kies optie N voor een nieuwe partitie.

Partition Number
Druk op [enter] omdat we het standaard Partitienummer willen.

First Sector
Kies hier voor +2M, dat zorgt er voor dat je een offset hebt van 2MB wat eigenlijk altijd goed is om een fatsoenlijke alignment te krijgen.

Last Sector
Je kan hier kiezen wat je wil, voor SSD's kan je hier iets als +50G kiezen, voor hardeschijven kan je hier iets als +3.5T kiezen, het is maar net wat je zelf wil.

Partition Type:
We kiezen hier voor FreeBSD ZFS, omdat Linux geen eigen ZFS partitie ID heeft, (en dat is ook helemaal niet nodig, want ZFSonLinux herkend gewoon FreeBSD ZFS partities :) ). Het Type ID is dan dus: a504.

Als het goed is kom je nu weer terug in het hoofdmenu, en kan je met p zien dat je schijf een partitie bevat!

Nu gaan we deze een GPT naam geven zodat deze straks herkenbaar is in je Operating System en ZFS.

Kies in het menu voor optie c en kies de partitie die je wil hernoemen (of een nieuwe naam wil geven) als je maar 1 partitie hebt, neemt gdisk aan dat je die partitie bedoeld en zal je geen keuze meer geven.

Mijn advies: Zet het serienummer van de schijf (of een gedeelte er van) in de naam! Op die manier weet je precies welke schijf er kapot is als je ooit problemen ondervindt!

Je kan het serienummer van een schijf achterhalen met het commando:

hdparm -i /dev/sda | grep SerialNo


Je krijgt dan het type van de schijf, de firmwareversie en het serienummer.

root@NAS:~# hdparm -i /dev/sda | grep SerialNo
Model=ST4000DM000-1F2168, FwRev=CC51, SerialNo=Z3009899


Als voorbeeld zou je dus: DATAPOOL-A-Z3009899 als naam kunnen gebruiken.

Druk op enter om de naam te bevestigen.

Kies daarna voor w om de wijzigingen door te voeren op de schijf.

Herhaal bovenstaande stappen tot je alle partities hebt aangemaakt.

Om nu een mooie pool te maken met ZFS kunnen we de partities benaderen via hun naam!
En wel zo:

zpool create datapool raidz /dev/disk/by-partlabel/DATAPOOL-A-Z3009899 /dev/disk/by-partlabel/DATAPOOL-B-Z3009891 /dev/disk/by-partlabel/DATAPOOL-C-Z3009892 /dev/disk/by-partlabel/DATAPOOL-D-Z3009893 /dev/disk/by-partlabel/DATAPOOL-E-Z3009894


Als je het op deze manier doet zie je in zpool status -v

pool: datapool
state: ONLINE
config:

NAME STATE READ WRITE CKSUM
datapool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
datapool-A-Z3009899 ONLINE 0 0 0
datapool-B-Z3009891 ONLINE 0 0 0
datapool-C-Z3009892 ONLINE 0 0 0
datapool-D-Z3009893 ONLINE 0 0 0
datapool-E-Z3009894 ONLINE 0 0 0

errors: No known data errors


En is je ZFS pool klaar voor gebruik!
"Probleem" of gevolg van mijn risicobeperking was dat ik bij mijn uitbreiding van 12TB naar 20TB ook op de 20TB disks partities had aangemaakt die even groot waren als de partities op de 12TB, zodat als er toch problemen waren ik niet vast zat en snel 1 oude disk terug in dienst kon stellen.

Ik had niet veel zin om manueel partities te zitten gaan aanpassen dus was op zoek naar een eenvoudig commando/manier om de partities te resizen. Via Gparted was geen oplossing (kan geen ZFS partities resizen) maar uiteindelijk bleed parted wel de oplossing te bieden en dan zelfs nog heel eenvoudig:


parted /dev/sde resizepart 1 100%

Acties:
  • +1 Henk 'm!
HyperBart schreef op donderdag 3 augustus 2023 @ 10:39:
Ik had niet veel zin om manueel partities te zitten gaan aanpassen dus was op zoek naar een eenvoudig commando/manier om de partities te resizen.
Bij deze wel even een bevestiging dat bij het manueel aanpassen van partitie grootte middels bijv. fdisk het ook gewoon werkt :) Regelmatig zo gedaan.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Harddisken van dezelfde grootte (bijv. 20TB) kunnen onderling in grootte een beetje verschillen.

Het kan beter zijn om aan het eind van de harddisk wat ruimte te reserveren (bijv. 10GiB) door de paritite iets kleiner te maken. Je kan dan later nog een harddisk aan je pool toevoegen, die net iets kleiner is (bijv. 4GB kleiner).

Met sgdisk (of sfdisk) kan je het aanmaken van een partitie evt. in een scriptje zetten (als documentatie), zodat je dat niet handmatig hoef te doen.

[ Voor 3% gewijzigd door willemw12 op 03-08-2023 12:26 ]


Acties:
  • +1 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Kopen jullie dan niet altijd grotere schijven? :p
In 2020 3x 8TB in een RAIDZ pool gezet. In 2021 een vervangen door een 14TB model, in 2022 eentje vervangen door een 18TB model. Met de prime days nu vergeten te kijken of ze weer in de aanbieding waren.
Dan kan ik en geen last hebben van "allemaal uit dezelfde batch en hetzelfde gebruikt" en beetje bij beetje zou uiteindelijk de pool kunnen resizen (als laatste 8TB vervangen is, door dan waarschijnlijk 18TB+, komt er netto dus ~12TB bij), en ik hoef niet weer alles in een keer te vervangen.

En v.w.b. dezelfde (grote) schijven die toch verschillen: ik meen eens gelezen te hebben dat dat of een broodje aap was en ze wel altijd identieke aantal sectoren hebben, en dat ZFS, als je hele HDD opgeeft, daar ook al rekening mee houd (aangezien die alsnog de HDD formateerd en dan ook net iets minder sectoren gebruikt).
10GB ruimte vrijhouden lijkt mij in ieder geval sowieso zwaar overdreven. Áls er al een afwijking is zal dat in de orde van KBs of MBs zijn. Tenzij je bewust iets anders koopt (Pricewatch staan IIRC SSDs in van 2TB en 1,98TB. Dan weet je natuurlijk dat het verschil er is. Maar twee verschillende die beiden als 2TB verkocht worden zal niet een enkele GBs kleiner bij zijn. En die 10GB ongebruikte ruimte helpt in dit geval ook niet).

Acties:
  • 0 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Soms wil je niet een grotere harddisk kopen, bijv. wanneer je een harddisk meteen moet vervangen.


Misschien reserveert ZFS (nu wel) voldoende ruimte op een harddisk voor alle gevallen (variaties tussen harddisks), wanneer je de hele schijf aan ZFS geeft i.p.v. een partitie. Als dat zo is, dan is dat misschien de beste optie.


Mijn ervaring:

ZFS op partities, niet op hele schijven. 8TB harddisks. 2GiB reserve aan het einde van de partitietabel.

De details weet ik niet meer. Misschien tijdens het creeren van een pool of tijdens experimenteren met ZFS maar 1 harddisk was net te klein. Met meer reserve (10GiB) op de andere schijf/schijven was de harddisk niet te klein. (De afwijking zal wel ongeveer 4GiB zijn geweest.)

Voor een 20TB harddisk zou ik zelf meer reserveren: 20 GiB.

[ Voor 4% gewijzigd door willemw12 op 03-08-2023 17:46 ]


Acties:
  • +1 Henk 'm!
willemw12 schreef op donderdag 3 augustus 2023 @ 11:59:
Harddisken van dezelfde grootte (bijv. 20TB) kunnen onderling in grootte een beetje verschillen.

Het kan beter zijn om aan het eind van de harddisk wat ruimte te reserveren (bijv. 10GiB) door de paritite iets kleiner te maken. Je kan dan later nog een harddisk aan je pool toevoegen, die net iets kleiner is (bijv. 4GB kleiner).

Met sgdisk (of sfdisk) kan je het aanmaken van een partitie evt. in een scriptje zetten (als documentatie), zodat je dat niet handmatig hoef te doen.
Dat is inmiddels al opgelost. Er is volgens mij al heel wat jaren een standaard tussen de fabrikanten dat ze dezelfde grootte disks hebben om uitwisseling van disks te versimpelen.
Voor zover ik weet doen alle grote vendors daar aan mee.

Even niets...


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Uit interesse, zijn er hier ZFS (on root) gebruikers op hun desktop/laptop? En waarom (niet)?

Ikzelf heb ~1,5 jaar terug een herinstallatie gedaan en daarbij ZFS on root toegepast. Maar nu ik vandaag een nieuw systeem (/onderdelen) krijg denk ik dat ik maar weer van ZFS af ga zien. Ik maak eigenlijk geen gebruik van de ZFS features zoals scrubbing, quotas, reservations, send & receive, .... Waarbij er eigenlijk dus ook geen belangrijke zaken op het systeem staan (documenten etc gaan via SyncThing naar twee systemen, waar wel ZFS op gebruikt wordt incl. snapshots, send & receive etc) en de data integriteit voordelen van ZFS eigenlijk niet nodig zijn.
Nu maakt dat an zich allemaal natuurlijk niet uit, zolang... het werkt. En ik gebruik Arch Linux. Daarbij zit ZFS echter niet in de officiële repos. Nu is er wel een 3th party repo voor, met precompiled packages (IIRC ook van een Arch core member), alleen is Arch dus ook rolling release en bleeding edge. Gevolg daarvan is dat de precompiled packages sowieso hard gekoppeld zijn aan Linux versies/packages en daardoor (zeer regelmatig) systeem updates niet mogelijk zijn (doordat een update van de kernel niet kan door de harde eependency van ZFS op de huidige kernel versie). Maar daarnaast is een switch naar het zfs-dkms package ook lastig doordat Arch bleeding edge is. Bij bv de 6.13 kernel update heeft het nog weken geduurd voordat er uberhaupt een upstream ZFS versie was die ook compatible was met 6.13. Dus met DKMS loop ik dan een nog groter risico: kernel updates waarna het DKMS proces faalt en dus een niet werkend systeem als gevolg.

Oplossing daarvoor zou dan wel kunnen zijn het switchen naar de LTS kernel (minder frequent updates en wat ouder dus ook compatible met ZFS upstream). Maar in combinatie met dat ik geen ZFS features gebruik neig ik toch meer naar weer gewoon teruggaan naar ext4.

Acties:
  • 0 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Setup bij mij is nu:

Op het systeem (de "ZFS send" kant) met de ZFS data pool en de backups van andere systemen:

- root op Ext4. Misschien ga ik later over op Btrfs (single disk) on root, niet naar ZFS on root.
- ZFS is geïnstalleerd met DKMS voor de normale kernel en de LTS kernel.

Op andere "kleine" systemen (laptop, Raspberry Pi, ...):

- geen ZFS.
- root op Btrfs (single disk). Voordelen t.o.v. Ext4: file checksums, lokaal meerdere snapshots, snapshots maken is "instant", Btrfs send/receive is, bij mij, vele malen sneller dan rsync.
- SyncThing synct enkele folders tussen de systemen en tussen Android.
- Backups: Btrfs send/receive van alle subvolumes (inclusief de SyncThing folders) en vervolgens rsync van de laatst ontvangen snapshots naar de ZFS (data) pool.

Acties:
  • +1 Henk 'm!
Ik heb nu op mijn Laptop btrfs (default van Fedora), en heb wel eens zitten denken om ZFS te gebruiken, maar zoals je zelf al zegt, ik gebruik al die functies niet echt.
De enige fijne functie die voor een workstation handig kan zijn is snapshots maken voordat je een 'major' upgrade gaat doen. Dan kan je terug als het mis gaat.
Maar aan de andere kant, hoe vaak gaan die dingen nog echt mis. En het is misschien ook juist wel leuk om dan het probleem op te zoeken en te fixen.

In mijn server ook geen ZFS on Root, ik draai 99% in Docker, en kan na een verse installatie een `docker stack deploy -c <file>.yaml` doen om mijn hele server weer in de lucht te krijgen.
Die Docker files staan op mijn pool, dus raak ik ook niet zomaar kwijt.

Enige wat ik even met de hand moet doen is NFS en Samba (want dat draait niet in Docker).

Even niets...


Acties:
  • 0 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
Ik gebruik nu op mijn server zfs-auto-snapshot, deze snapshots stuur ik handmatig door middel van zfs send and receive naar een andere ssd op de server, via ssh naar een tweede server en om de zoveel tijd ook nog eens naar een externe harde schijf.

Werkt op zich prima, maar het vergt wel een beetje discipline. Heeft iemand nog een goede tip om zfs snapshots automatisch te backuppen? :P

Acties:
  • +2 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
@GioStyle: Met een cronjob of met een systemd timer/service combinatie (zelfmaken of gebruik maken van de .timer en .service bestanden die met de backup tool meegeleverd worden). Zie bijv. de sanoid/syncoid backup tool.

[ Voor 10% gewijzigd door willemw12 op 05-08-2023 12:13 ]


Acties:
  • +2 Henk 'm!
GioStyle schreef op zaterdag 5 augustus 2023 @ 12:00:
Ik gebruik nu op mijn server zfs-auto-snapshot, deze snapshots stuur ik handmatig door middel van zfs send and receive naar een andere ssd op de server, via ssh naar een tweede server en om de zoveel tijd ook nog eens naar een externe harde schijf.

Werkt op zich prima, maar het vergt wel een beetje discipline. Heeft iemand nog een goede tip om zfs snapshots automatisch te backuppen? :P
Ik gebruik sanoid om automatisch backups te maken, en @HyperBart haalt ze hier via SSH & ZFS receive automatisch op. Volgens mij ging dat ook met sanoid, maar ik kan het mis hebben.

Even niets...


Acties:
  • +3 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Sanoid en Syncoid zijn programma's van het sanoid project.

Syncoid is de ZFS send/receive tool voor Sanoid snapshots.

Acties:
  • +1 Henk 'm!
Ja precies, die gebruiken we :)

Even niets...


Acties:
  • 0 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
Sanoid sluit inderdaad goed bij mijn wensen aan. Ik heb momenteel zfs-auto-snapshot uitgezet/verwijderd en Sanoid ingesteld. Even de komende dagen kijken hoe dat uitpakt... :)

Acties:
  • +2 Henk 'm!
GioStyle schreef op zaterdag 5 augustus 2023 @ 14:27:
Sanoid sluit inderdaad goed bij mijn wensen aan. Ik heb momenteel zfs-auto-snapshot uitgezet/verwijderd en Sanoid ingesteld. Even de komende dagen kijken hoe dat uitpakt... :)
Sanoid doet automatische snapshotting, dus dat is je vervanger voor ZFS auto snapshot.

Syncoid vult het gat op wat je nu nog manueel doet: snapshotjes overpompen.

En. Dat. Werkt. Magnifiek. _/-\o_

Die setup die je beschrijft is zelfs bijna een van de demo cases dacht ik. Alleen de externe hdd detectie weet ik niet.

De server in het tuinhuis/schuur gaat 45 min per dag aan via een geschakelde klok, doet zijn ding met least privilege en zfs permissions, schrijft een logje weg naar de server die gebackupped wordt en sluit zich netjes af. Als er iets is gooi ik het door naar een Telegram script.

Echt boilerplate sequentieel scriptje, ik ben geen coder en ik ben geen held in Bash maar een paar ifjes en datjes kan ik wel 🫣

[ Voor 35% gewijzigd door HyperBart op 05-08-2023 15:02 ]


Acties:
  • +2 Henk 'm!

  • Kaspers
  • Registratie: Juni 2004
  • Laatst online: 16-06 09:55
HyperBart schreef op zaterdag 5 augustus 2023 @ 14:53:
[...]

Syncoid vult het gat op wat je nu nog manueel doet: snapshotjes overpompen.

En. Dat. Werkt. Magnifiek. _/-\o_
Jep, het is idd prachtig.
Hier mijn script, wat dagelijks via een systemd timer wordt afgetrapt.
Via wake-on-lan wordt de target eerst gewekt. Na de backup wordt de target weer in suspend gezet.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh

set -e
# Any subsequent(*) commands which fail will cause the shell script to exit immediately

echo "Waking up backup.lan via WoL"
wakeonlan <mac:ad:res>
echo "Wait 10 seconds"
sleep 10

#target:
USER=koos
HOST=backup.lan

# alleen datasets opnemen waarvan ook daadwerkelijk backups worden gemaakt. dus skip bijvoorbeeld zfspool/koos!
echo "Sending snapshots of koos/configuration"
syncoid --no-sync-snap  zfspool/koos/configuration $USER@$HOST:zfspool2/koos/configuration  --no-privilege-elevation
echo "Sending snapshots of koos/documents"
syncoid --no-sync-snap  zfspool/koos/documents     $USER@$HOST:zfspool2/koos/documents  --no-privilege-elevation
echo "Sending snapshots of koos/home"
syncoid --no-sync-snap  zfspool/koos/home          $USER@$HOST:zfspool2/koos/home  --no-privilege-elevation
echo "Sending snapshots of koos/kubernetes"
syncoid --no-sync-snap  zfspool/koos/kubernetes    $USER@$HOST:zfspool2/koos/kubernetes  --no-privilege-elevation
echo "Sending snapshots of koos/macbook"
syncoid --no-sync-snap  zfspool/koos/macbook       $USER@$HOST:zfspool2/koos/macbook  --no-privilege-elevation
echo "Sending snapshots of koos/photos"
syncoid --no-sync-snap  zfspool/koos/photos        $USER@$HOST:zfspool2/koos/photos  --no-privilege-elevation
echo "Sending snapshots of koos/videos"
syncoid --no-sync-snap  zfspool/koos/videos        $USER@$HOST:zfspool2/koos/videos  --no-privilege-elevation
echo "Sending snapshots of koos/books"
syncoid --no-sync-snap  zfspool/koos/books         $USER@$HOST:zfspool2/koos/books  --no-privilege-elevation
echo "Sending snapshots of koos/zfsmngmnt"
syncoid --no-sync-snap  zfspool/koos/zfsmngmnt     $USER@$HOST:zfspool2/koos/zfsmngmnt  --no-privilege-elevation
echo "Finished sending snapshots to $HOST"
echo "Suspending $HOST"
#now suspend the backup target:
ssh koos@backup.lan -t 'sudo systemctl suspend'
echo "Done."


Systemd service:
code:
1
2
3
4
5
6
7
[Unit]
Description=Run syncoid
OnFailure=email-notification@%i.service

[Service]
Type=simple
ExecStart=/zfspool/koos/configuration/storage-server/syncoid/backup.sh


Zoals je ziet: bij een failure word ik via een email hierop geattendeerd:

code:
1
2
3
4
5
6
[Unit]
Description=%i failure email notification 

[Service]
Type=oneshot
ExecStart=/bin/bash -c ' ( echo "Subject: [%i] failure notification" & /bin/systemctl status %i ) | ssmtp -vvv koos@kaspe.rs -f root@storage '

Acties:
  • 0 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
Sanoid doet hier prima zijn ding. Ik heb de namen van de oude snapshots zodanig van naam gewijzigd dat het 'herkend' wordt door sanoid. Betekent dat ik nu definitief van zfs-autobackup af ben.

Ik moest wel een kleine aanpassing doen bij de smb shares. Omdat sanoid gebruik maakt van colon (dubbele puntjes) in de naam van de snapshots werkten de schaduwkopies via Windows niet meer. Met een omweg is het nu weer werkend. Bij elke smb share waar ik schaduwkopies beschikbaar wil hebben via Windows heb ik het volgende gewijzigd:

code:
1
2
3
4
5
6
7
8
   vfs objects = shadow_copy2, catia
   catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
   shadow:snapdir = .zfs/snapshot
   shadow:sort = desc
   shadow:format = _%Y-%m-%d_%H:%M:%S
   shadow:snapprefix = ^autosnap
   shadow:delimiter = _
   shadow:localtime = no


Nu ben ik verder aan het kijken naar syncoid. Ook dat werkt goed, precies wat ik in gedachten heb. Alleen hoe kan ik dit op een nette manier automatiseren?

Ik wil het commando:

code:
1
15 6 * * * syncoid --no-sync-snap rpool/documents dpool/backups/documents


toevoegen aan crontab -e.

Ik wil eigenlijk nog wel een specifieke user aanmaken voor deze automatisering en de juiste rechten (zfs allow) toekennen aan deze user, zodat het niet onder root gedraaid hoeft te worden. Is dit een nette manier? Of kan ik dit beter anders aanpakken?

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
GioStyle schreef op zondag 6 augustus 2023 @ 19:47:
Ik wil eigenlijk nog wel een specifieke user aanmaken voor deze automatisering en de juiste rechten (zfs allow) toekennen aan deze user, zodat het niet onder root gedraaid hoeft te worden. Is dit een nette manier? Of kan ik dit beter anders aanpakken?
Als jouw systeem / OS systemd gebruikt kun je er waarschijnlijk beter een systemd service van maken die je via een systemd timer periodiek laat uitvoeren. Timers is dan het cronjob equivalent. service is het ding dat een of meerdere commando's uitvoert waarbij je precies de omgeving kunt "regelen", waaronder ook de user waaronder de commando's worden uitgevoerd.

IIRC heeft zelfs iemand een voorbeeld van een shell script + systemd service (die het script aanroept) + systemd timer geplaatst hier afgelopen dagen ergens?

Acties:
  • 0 Henk 'm!

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

Thanks, nog meer leesvoer om door te nemen. Ik ga even terug naar de tekentafel. ;)

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
GioStyle schreef op zondag 6 augustus 2023 @ 21:25:
@RobertMe

Thanks, nog meer leesvoer om door te nemen. Ik ga even terug naar de tekentafel. ;)
Dat voorbeeld staat trouwens exact boven jouw post :p "Hoe laat ik syncoid periodiek uitvoeren?" => zie de post boven de vraag :p

Acties:
  • 0 Henk 'm!

  • GioStyle
  • Registratie: Januari 2010
  • Nu online
RobertMe schreef op zondag 6 augustus 2023 @ 21:33:
[...]

Dat voorbeeld staat trouwens exact boven jouw post :p "Hoe laat ik syncoid periodiek uitvoeren?" => zie de post boven de vraag :p
Ja, ik zie het, maar soms is het even abracadabra voor mij. Het zag er voor mij te moeilijk uit, maar nu begint het langzaam te dagen.

Acties:
  • +1 Henk 'm!
Om de pret niet te drukken zou ik vooral uit gaan van een "if it works it works". Bij mij staat ook alles gewoon in cronjobs. Dat werkt.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
CurlyMo schreef op zondag 6 augustus 2023 @ 21:56:
Om de pret niet te drukken zou ik vooral uit gaan van een "if it works it works". Bij mij staat ook alles gewoon in cronjobs. Dat werkt.
Nouja, gezien @GioStyle het rootless wilt draaien... Uiteraard kan cron ook onder een andere user het commando uitvoeren. Maar als dan toch gepuzzeld moet worden daarop kan het zijstapje naar systemd stuff ook wel erbij :p Scheelt ook weer het draaien van extra software en potentieel dus iets zuiniger :p Gezien GioStyle ook in zuinige server topic rond hangt.

Acties:
  • +1 Henk 'm!
RobertMe schreef op zondag 6 augustus 2023 @ 22:03:
[...]

Nouja, gezien @GioStyle het rootless wilt draaien... Uiteraard kan cron ook onder een andere user het commando uitvoeren. Maar als dan toch gepuzzeld moet worden daarop kan het zijstapje naar systemd stuff ook wel erbij :p Scheelt ook weer het draaien van extra software en potentieel dus iets zuiniger :p Gezien GioStyle ook in zuinige server topic rond hangt.
Alles hier in cron hoor, zonder root.

Heb wel wat permissions moeten geven aan de user die ik er voor aangemaakt had.

Ik vind het hier thuis echt een heel elegante oplossing: offline automated backup, van de stroom af en alles met unattended upgrades wordt gepatched.

Ik kan nu met een gerust hart zeggen: ik heb backups op orde.

Al moeten we nog altijd eens een restore-test doen he @FireDrunk })

Acties:
  • 0 Henk 'm!
Restoretest kan alleen als jij mij weer toegang geeft tot de data :+
Dat is het nadeel van een 'pickup'-ssh user. Je kan niet remote weer bij je backup.

Even niets...


Acties:
  • +1 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
HyperBart schreef op maandag 7 augustus 2023 @ 09:43:
[...]


Alles hier in cron hoor, zonder root.

Heb wel wat permissions moeten geven aan de user die ik er voor aangemaakt had.
Ik schreef ook niet dat het niet kon. Alleen zou het voor mij (meer) uitzoek werk zijn. Bij systemd weet ik dat ik maar User=pietje toe hoef te voegen in de service unit file. En als GioStyle nog onbekend is / zou zijn met cron en met systemd (hiervoor) dan lijkt mij dat ee opgedane kennis v.w.b. veel breder toepasbaar is (immers kun je met services ook gewoon software starten tijdens boot ("maar dat kan cron ook met @reboot"), dependencies opgeven om een start volgorde te hebben (en dat kan cron niet)).

Is het trouwens uberhaupt niet raar dat je een cron gebruikt om iets uit te voeren op een systeem dat altijd uit staat? :p Je wilt nu toch gewoon dat het wordt uitgevoerd tijdens boot (dus "@reboot")? Dan was een init script (of systemd service unit) toch logischer? En hoefde die systemd service unit nog maar periodiek afgetrapt te worden door een systemd timer :p

Overigens is leuke feature van systemd timers die cron AFAIK niet dat timers persistent kunnen zijn. Dan slaat die de volgende runtime echt op en als het systeem opstart worden de (persistent) timers die die in het verleden uitgevoerd hadden moeten worden alsnog uitgevoerd. Dus bv een timer met "elke maandag om 10 uur" en dat dan net het systeem uit staat wordt netjes ingehaald de volgende boot. Bij cron kan dat AFAIK niet en zou die het pas een week later gebeuren, of dus dubbele regel met een keer een @reboot, maar dan wordt het (bij boots) dus extra uitgevoerd terwijl het niet nodig is.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Ik kreeg net een mailtje waar ik minder blij van werd, namelijk Zed.

Scrub waarbij er op de rpool (Samsung 980, non Pro) errors waren opgetreden. zpool status -v rpool melde 17 errors, waarvan 16x alleen maar hex codes en 1x verwijzing naar een snapshot. Vervolgens weer een scrub gedaan en bleef alleen het snapshot over. Nog een scrub en wederom alleen het snapshot. Oftewel:
code:
1
2
3
errors: Permanent errors have been detected in the following files:

        rpool/user/<knip>@pyznap_2023-08-12_00:00:02_daily:<0x0>

Gevoelsmatig is dit een "stale" error die ik zou moeten kunnen clearen (zpool clear) en klaar? Alleen beetje gek dan dat die andere errors (die ik dus niet meer bij de hand heb) ineens weg zijn.

Scrub heeft (blijkbaar) ook overdag gedraaid terwijl er wat CPU intensieve zaken liepen. Dus ik gok dat er daardoor "kortsluiting" is ontstaan. Systeempje is ook maar een no-name Chinese mini PC met N5105. Dus kwaliteit wellicht net wat minder.

Acties:
  • +1 Henk 'm!
In theorie kan de data in een 'sector' zitten die alleen nog relevant is in dat snapshot.
Als je later die data overschreven hebt, is er geen 'actieve' referentie meer naar die data, anders dan dat snapshot.

Dat is wat mijn gevoel zegt, maar zeker weten is lastig.

Even niets...


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Stom. zpool clear heeft natuurlijk betrekking op fouten met de disk / vdev of communicatie. Terwijl het in dit geval op een data fout gaat. Dus dat doet niks. Mogelijk had die er wel een disk fout van gemaakt in een mirror / raidz opstelling? En ieder geval had het dan waarschijnlijk geen permanent error opgeleverd, als het om een communicatie fout ging.
FireDrunk schreef op zondag 13 augustus 2023 @ 13:04:
In theorie kan de data in een 'sector' zitten die alleen nog relevant is in dat snapshot.
Als je later die data overschreven hebt, is er geen 'actieve' referentie meer naar die data, anders dan dat snapshot.

Dat is wat mijn gevoel zegt, maar zeker weten is lastig.
Gezien het format blijkbaar [dataset / snapshot]:[inode / filename] is, lijkt mij dat die met 0x0 juist naar iets anders dan een (oude) file verwijst? Ik zou dan eerder verwachten dat 0x0 een plekje in de metadata is.

Overigens zou ik als het goed is wel een offsite backup hiervan moeten hebben. Naast dat hier alleen data in staat die via SyncThing gevuld wordt en de bron (PC/laptop) zowel rechtstreeks naar dit "servertje" schrijft als naar mijn oude "server" die nu alleen als nas dienst doet. Dus ook buiten ZFS snapshots en send & receive staat de data op twee plekken. Dus daar ook maar eens in neuzen.
Jammer dat ZFS 2.2 nog niet uit is (/in RC en dus nog zeer zeker niet in Debian stable repos). Dan kon ik de corrective receive (mogelijk) proberen :p. Waarbij ik een tijd terug een ZFS fout had op offsite HDD, waarbij ik op deze corrective receive ben gewezen in dit topic. HDD is intussen vervangen (SMART begon te rammelen, bad sectors), door een SSD, maar heb de HDD wel nog liggen om tzt eens wat te proberen met die corrective receive.

Wat ik in de case at hand wellicht kan doen is het snapshot gewoon verwijderen en opnieuw scrubben (?). Daily snapshots bewaar ik sowieso niet lang. Als zonder dit snapshot de scrub op een ander (/snapshot van vandaag) begint te rammelen is er duidelijk meer aan de hand. Maar ik verwacht dat een (checksum) fout tijdens de scrub (onterecht) als permanent is aangemerkt en niet meer "cleared" for whatever reason. Ook gezien:
code:
1
2
3
4
5
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
...
Error Information (NVMe Log 0x01, 16 of 64 entries)
No Errors Logged

Aldus smartctl. Anders had ik ook ergens wel iets in SMART verwacht.

Acties:
  • 0 Henk 'm!
Het zou kunnen dat hij het adres weergeeft omdat het niet om de hele file gaat, maar om een deel van een file in een snapshot. Als de file op dit moment helemaal niet meer bestaat, is dat mogelijk een oorzaak.

Ik zou dat overigens wel een 'bugje' vinden omdat het natuurlijk netter is als hij de oude filename zou weergeven.

Jouw argument dat het metadata is, kan natuurlijk ook, maar ik zou verwachten dat het dan nog steeds te relateren is aan een file.

Of het zou een superblock moeten zijn, maar dat zou denk ik wat meer alarmbellen af moeten laten gaan...

Even niets...


Acties:
  • +1 Henk 'm!

  • willemw12
  • Registratie: Maart 2015
  • Laatst online: 14-06 18:05
Als je het verder apart wil uitzoeken, dan kan je evt. de hele SSD inhoud dumpen naar een file met bijv. dd. Vervolgens een nieuw pool creëren van die image file en dan daarop experimenteren.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Hmm, blijkbaar is er toch wel iets ernstigers aan de hand:
code:
1
2
`--> sudo zfs send rpool/user/<knip>@pyznap_2023-08-12_00:00:02_daily | cat > /dev/null
warning: cannot send 'rpool/user/<knip>@pyznap_2023-08-12_00:00:02_daily': Input/output error


Maar er overheen springen werkt wel:
code:
1
`--> sudo zfs send -i rpool/user/<knip>@pyznap_2023-08-11_00:00:02_daily rpool/user/<knip>@pyznap_2023-08-13_00:00:02_daily | cat > /dev/nul

| cat > /dev/null omdat die anders een invalid argument error geeft. Rechtstreeks outputten naar /dev/null mag niet waarbij meteen deze workaround als suggestie wordt gegeven.

En dit op basis van dat offsite ook de snapshots van deze dataset missen sinds het bewuste moment / snapshot dus. ZFS krijgt het snapshot dus echt niet meer verwerkt. En daardoor heb ik offsite geen backups meer sinds dat moment waarvan ik niet op de hoogte ben gebracht :X (mijn fout, geen monitoring, en pyznap rammelt sowieso een beetje. Die geeft altijd een succes status, ook als een of meerdere datasets errors gaven)

Dus @FireDrunk, ik doelde met metadata op snapshot metadata, wat dan dus de door jouw genoemde superblocks zijn? En daar lijkt dus ook daadwerkelijk wat te rammelen.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
Dus... snapshot verwijderd, scrub gedaan:
code:
1
2
3
errors: Permanent errors have been detected in the following files:

        <0x7c6b>:<0x0>

-O-

Dat wordt zeker de hele pool "dumpen" naar een file / andere drive, en op deze drive een nieuwe pool maken en de hele shebang weer terug zetten vanaf de file. * RobertMe is not amused.

Acties:
  • 0 Henk 'm!
Als je een realtime input/output error krijgt, kan ZFS het intern ook niet oplossen, dat is wel heel gek, want alle metadata zou redundant moeten zijn :|

Je mag het snapshot in kwestie niet verwijderen?

Even niets...


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
FireDrunk schreef op zondag 13 augustus 2023 @ 14:07:
Als je een realtime input/output error krijgt, kan ZFS het intern ook niet oplossen, dat is wel heel gek, want alle metadata zou redundant moeten zijn :|

Je mag het snapshot in kwestie niet verwijderen?
Just to be sure, gezien waarschijnlijk gekruist: RobertMe in "Het grote ZFS topic"

Acties:
  • +1 Henk 'm!
RobertMe schreef op zondag 13 augustus 2023 @ 14:08:
[...]

Just to be sure, gezien waarschijnlijk gekruist: RobertMe in "Het grote ZFS topic"
Ah ja, mogelijk kan je die wel `zpool clear`-en, waarna een scrub geen fouten meer zou moeten geven (hoop ik).

Even niets...


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 22:05
FireDrunk schreef op zondag 13 augustus 2023 @ 14:10:
[...]

Ah ja, mogelijk kan je die wel `zpool clear`-en, waarna een scrub geen fouten meer zou moeten geven (hoop ik).
code:
1
errors: No known data errors

Pfoe, dus toch. Maar clear heeft toch alleen betrekking op device errors (ook volgens de man page)? Of zou het de dubbele scrub zijn geweest? Waarbij de tweede scrub nu toevallig na een clear kwam. Error was ook pas weg toen de scrub klaar was. Na de clear was die er nog, tijdens de scrub ook nog aantal keren gekeken en was die er ook nog.
Pagina: 1 ... 210 ... 214 Laatste

Let op:
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.