Skip to content

ZFS-Pool - Do not use (sda & sdb) to create a pool!

Linux
  • Was ist passiert?

    root@pve:~# zpool status
      pool: ZFS-Pool
     state: DEGRADED
    status: One or more devices could not be used because the label is missing or
    	invalid.  Sufficient replicas exist for the pool to continue
    	functioning in a degraded state.
    action: Replace the device using 'zpool replace'.
       see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
      scan: resilvered 841G in 01:52:53 with 0 errors on Sun Oct 17 10:18:42 2021
    config:
    
    	NAME                                          STATE     READ WRITE CKSUM
    	ZFS-Pool                                      DEGRADED     0     0     0
    	  mirror-0                                    DEGRADED     0     0     0
    	    ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26  ONLINE       0     0     0
    	    8992518921607088473                       UNAVAIL      0     0     0  was /dev/sdb1
    
    errors: No known data errors
    

    Ich hatte die Tage den ZFS-Pool für meinen Proxmox mit einer Devicebezeichnung /dev/sdb angelegt. Wie ich schon kurz danach begriffen hatte, keine gute Idee. Ich war aber in der Annahme, das das nicht so häufig passiert, das die Laufwerksbezeichnungen sich verschieben.

    Da ich heute das Gehäuse komplett fertig montiert habe, Laufwerke festgemacht usw. , habe ich bewusst kein SATA-Kabel angefasst, ausgesteckt usw. Es hat nichts geholfen, nach einen Neustart des Proxmox waren die Laufwerksbezeichnungen durcheinander.

    dev.png

    Ich habe zwei ZFS_Pools, der ZFS-Pool für den Proxmox und einen Pool, der an eine VM durchgereicht wird. Den hatte ich korrekt mit den IDs aus /dev/disk/by-id angelegt. Darum ist der auch noch intakt.

    root@debian1:~# zpool status
      pool: NAS
     state: ONLINE
      scan: resilvered 232K in 00:00:01 with 0 errors on Sun Oct 17 16:38:46 2021
    config:
    
    	NAME                                      STATE     READ WRITE CKSUM
    	NAS                                       ONLINE       0     0     0
    	  mirror-0                                ONLINE       0     0     0
    	    scsi-0QEMU_QEMU_HARDDISK_drive-scsi1  ONLINE       0     0     0
    	    scsi-0QEMU_QEMU_HARDDISK_drive-scsi2  ONLINE       0     0     0
    
    errors: No known data errors
    

    Ok, wie bekommen wir das gefixt? Der Fehler schreibt ja genau, was zu machen ist.

    ZFS zeigt uns genau die Ursache

    status: One or more devices could not be used because the label is missing or
        	invalid.  Sufficient replicas exist for the pool to continue
        	functioning in a degraded state.
    

    und das was man machen soll.

    action: Replace the device using 'zpool replace'.
           see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
    

    Ich habe mich dafür entschieden, das hier zu machen.

     zpool replace test c0t0d1
    

    Ok, was brauche ich? Die ID der Platte.

    root@pve:/dev/disk/by-id# ls -lha
    total 0
    drwxr-xr-x 2 root root 860 Oct 18 09:03 .
    drwxr-xr-x 8 root root 160 Oct 18 09:03 ..
    lrwxrwxrwx 1 root root   9 Oct 18 09:03 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52 -> ../../sdc
    lrwxrwxrwx 1 root root  10 Oct 18 09:03 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52-part1 -> ../../sdc1
    lrwxrwxrwx 1 root root  10 Oct 18 09:03 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52-part9 -> ../../sdc9
    lrwxrwxrwx 1 root root   9 Oct 18 09:03 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 -> ../../sda
    lrwxrwxrwx 1 root root  10 Oct 18 09:03 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26-part1 -> ../../sda1
    lrwxrwxrwx 1 root root  10 Oct 18 09:03 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26-part9 -> ../../sda9
    [..gekürzt..]
    

    zpool status zeigt mir an, welche Platte im Pool intakt ist.

    ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26
    

    Ok, dann brauche ich jetzt die andere

    ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52
    

    Soweit die Theorie. Nasse Hände? Ein wenig 🙂 Dann mal los....

    zpool replace ZFS-Pool ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52
    

    Ok, geht nicht.

    root@pve:/dev/disk/by-id# zpool replace ZFS-Pool ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52
    invalid vdev specification
    use '-f' to override the following errors:
    /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52-part1 is part of active pool 'ZFS-Pool'
    

    Hmm, also nachdenken. Das Laufwerk muss raus aus dem Pool, also das hier 8992518921607088473

    root@pve:~# zpool detach ZFS-Pool 8992518921607088473
    

    Status danach

    root@pve:~# zpool status
      pool: ZFS-Pool
     state: ONLINE
      scan: resilvered 841G in 01:52:53 with 0 errors on Sun Oct 17 10:18:42 2021
    config:
    
    	NAME                                        STATE     READ WRITE CKSUM
    	ZFS-Pool                                    ONLINE       0     0     0
    	  ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26  ONLINE       0     0     0
    
    errors: No known data errors
    

    Gut, jetzt die richtige Platte wieder hinzufügen. Ich hatte erst noch einen Replace probiert, aber er meckert, logisch, über eine nicht vorhandene Platte im Pool. Also, wieder hinzufügen, so wie ich das am Anfang gemacht habe. Aber diesmal mit der richtigen ID.

    zpool attach ZFS-Pool ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52
    

    Kam nix, kein Fehler. Juhu! Kontrolle...

    root@pve:~# zpool status
      pool: ZFS-Pool
     state: ONLINE
    status: One or more devices is currently being resilvered.  The pool will
    	continue to function, possibly in a degraded state.
    action: Wait for the resilver to complete.
      scan: resilver in progress since Mon Oct 18 15:32:05 2021
    	52.7G scanned at 5.85G/s, 324K issued at 36K/s, 1.19T total
    	0B resilvered, 0.00% done, no estimated completion time
    config:
    
    	NAME                                          STATE     READ WRITE CKSUM
    	ZFS-Pool                                      ONLINE       0     0     0
    	  mirror-0                                    ONLINE       0     0     0
    	    ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26  ONLINE       0     0     0
    	    ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52  ONLINE       0     0     0
    
    errors: No known data errors
    

    Ok, der Pool wird wieder neu gespiegelt oder was auch immer 🙂 Fertig!!

    Merksatz

    NIE, NIE einen ZPoll mit Laufwerksbezeichnungen anlegen. Auch wenn das hunderte Webseiten so im Netz zeigen. NIEMALS! Immer die IDs benutzen!!

  • Hier kurz vor dem Abschluss der Spiegelung.

    d54abd23-aa52-482d-b9e1-52ece09106ec-grafik.png

    Und alles wieder gut und eine Menge gelernt 🤓

    594b6283-bbbe-4cec-8401-d57cce52012b-grafik.png

  • Fritzbox - Proxmox - pfSense - IPv6

    Verschoben Linux
    1
    10
    0 Stimmen
    1 Beiträge
    594 Aufrufe
    Niemand hat geantwortet
  • ZFS - Wichtige Befehle

    Linux
    2
    0 Stimmen
    2 Beiträge
    743 Aufrufe
    FrankMF
    Unter dem Beitrag sammel ich mal ein paar Beispiele, für mich zum Nachlesen Den Anfang macht die ZFS-Replication Ich hatte Am Anfang ein wenig Verständnisprobleme, bis es klar war, das diese Replication von Pool zu Pool funktioniert. Also brauchen wir zwei vorhandene ZFS-Pools. root@pbs:/mnt/datastore/datapool/test# zfs list NAME USED AVAIL REFER MOUNTPOINT Backup_Home 222G 677G 222G /mnt/datastore/Backup_Home datapool 2.36G 1.75T 2.36G /mnt/datastore/datapool Wir erzeugen ein Dataset im datapool zfs create datapool/docs -o mountpoint=/docs Wir erzeugen eine Datei mit Inhalt echo "version 1" > /docs/data.txt Wir erzeugen einen Snapshot zfs snapshot datapool/docs@today Kontrolle root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 0B - 96K - Wir replizieren den vorhandenen Snapshot zum ZFS-Pool Backup_Home und speichern ihn da im Dataset test. zfs send datapool/docs@today | zfs receive Backup_Home/test Nun befinden sich die Daten in dem anderen ZFS-Pool root@pbs:/mnt/datastore/datapool/test# ls /mnt/datastore/Backup_Home/test/ data.txt Und was mich am meisten interessiert, ist wie man das zu einem anderen Server schickt zfs send datapool/docs@today | ssh otherserver zfs receive backuppool/backup Den Test reiche ich dann später nach. Quelle: https://www.howtoforge.com/tutorial/how-to-use-snapshots-clones-and-replication-in-zfs-on-linux/ ZFS inkrementelle Replication Als, nur die geänderten Daten senden! Wir erzeugen ein paar Dateien root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data1.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data2.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data3.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data4.txt Neuer Snapshot zfs snapshot datapool/docs@17:02 Liste der Snapshots root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 56K - 96K - datapool/docs@17:02 0B - 112K - Wir senden dieinkrementelle Replication zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K cannot receive incremental stream: destination Backup_Home/test has been modified since most recent snapshot Dazu schreibt die Anleitung, die ich unten verlinkt habe, das die Daten verändert wurden. Warum, verstehe ich aktuell noch nicht. Mit -F im send Befehl erzwingt man einen Rollback zum letzten Snapshot. zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive -F Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K Und Kontrolle ls /mnt/datastore/Backup_Home/test/ data1.txt data2.txt data3.txt data4.txt data.txt Quelle: https://klarasystems.com/articles/introduction-to-zfs-replication/
  • MSI B550I Gaming Edge WiFi

    Linux
    2
    4
    0 Stimmen
    2 Beiträge
    152 Aufrufe
    FrankMF
    Einige Tage später, bin ich mit meinem neuen Projekt (grob) fertig. Der Rechner hostet jetzt eine Proxmox VE auf der eine VM mit pfSense läuft, die meinem Netzwerk als Sicherung dient. Dazu ist eine zusätzliche Netzwerkkarte in den freien Grafikkartenslot verbaut worden. Jo, es hatte schon seinen Grund einen AMD Ryzen5 5600G zu nehmen 10:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 10:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) Somit hatte ich die benötigten Netzwerkkarten für mein Setup. WAN - Netzwerkschnittstelle auf dem Bord LAN - Intel Corporation 82576 OPT1 - Intel Corporation 82576 LAN ist das Netzwerk für meine Geräte, OPT1 ist mein Netzwerk für alle Geräte denen ich nicht besonders vertraue. TV FireTV PS5 usw. Das läuft auch mit guter Geschwindigkeit. [image: 1634547750365-speed.png] Was mir hier richtig Zeit gekostet hatte, war ein Denkfehler im Konzept. Ich habe ja mein aktuelles NAS aufgelöst und hatte den ZFS-Pool des Proxmox dafür benutzt. Das ging auch, aber mir gefielen da einige Aspekte nicht. lief im falschen Netz auf dem Proxmox Host lief der NFS Suboptimal, das musste besser gehen. Also habe ich mich damit beschäftigt, wie man Festplatten an eine VM durchreicht. Das Ergebnis [image: 1634547982208-4ad18f09-4098-41c8-a92d-bb5fd3392999-grafik.png] Aus diesen beiden Platten habe ich dann einen ZFS-Pool gemacht. root@debian1:~# zpool status pool: NAS state: ONLINE scan: resilvered 232K in 00:00:01 with 0 errors on Sun Oct 17 16:38:46 2021 config: NAME STATE READ WRITE CKSUM NAS ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ONLINE 0 0 0 scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 ONLINE 0 0 0 errors: No known data errors Warum ZFS? Kann ich auch nicht beantworten, da immer mehr das nutzen (Ubuntu, pfSense usw.) habe ich gedacht, wir probieren es mal aus. Da ZFS sehr speicherhungrig ist, was ich vorher wusste, hat die Kiste auch 64GB RAM (Host). Ich hoffe das langt. Die Debian VM läuft zur Zeit mit 4GB. Mal sehen, ob das in Zukunft ausreicht. root@debian1:~# free gesamt benutzt frei gemns. Puffer/Cache verfügbar Speicher: 4025628 119896 3801808 508 103924 3732976 Swap: 998396 0 998396 Das Ganze ist jetzt fertig aufgebaut und das Gehäuse ist zugeschraubt. Verbaut sind aktuell 2 * 4TB HDD ZFS-Pool Host 2 * 2TB HDD ZFS-Pool für NAS (VM100) Nächster Schritt ist die Datensicherung des NAS und grundsätzlich die Vervollständigung der Konfiguration. Da habe ich bei der Testerei doch einiges ignoriert.... [image: 1634549004086-20211018_111551_ergebnis.jpg]
  • Proxmox - Neuer Host eingerichtet

    Proxmox
    2
    0 Stimmen
    2 Beiträge
    305 Aufrufe
    FrankMF
    Meine Webseiten & Foren, alles was ich so betreibe ist erfolgreich umgezogen. Den Aufwand habe ich ein ganzes Stück unterschätzt. Aber Am Ende war alles erfolgreich. Möchte hier nicht zu sehr ins Detail gehen, deshalb nur ein grober Überblick. verschiedene Webserver MySQL Datenbank diverse andere Dienste Warum Proxmox? Ich kann jetzt einfach komplette Server sichern, clonen usw. Kann vor dem Ausprobieren, was ich oft mache, mal eben zur Sicherheit einen Snapshot machen. Geht was schief, kann ich schnell wieder zurück. Optimal für ein Spielkind. Sollte jemand Fehler finden, sagt mir bitte kurz Bescheid. Ich versuche das dann zu fixen.
  • Proxmox - Backups

    Proxmox
    2
    0 Stimmen
    2 Beiträge
    397 Aufrufe
    FrankMF
    Ok, heute auf Twitter mitbekommen, das er aktualisiert hat. https://twitter.com/ayufanpl/status/1155595529184829441 Der Inhalt des Ordners root@frank-mankel:~/pve-patches# ls -lha total 572K drwxr-xr-x 3 root root 4.0K Jul 29 16:27 . drwx------ 7 root root 4.0K Jul 29 16:27 .. drwxr-xr-x 8 root root 4.0K Jul 29 16:27 .git -rwxr-xr-x 1 root root 13K Jul 29 16:27 pve-2.2-diff-backup-addon -rwxr-xr-x 1 root root 14K Jul 29 16:27 pve-2.3-diff-backup-addon -rwxr-xr-x 1 root root 14K Jul 29 16:27 pve-3.0-diff-backup-addon -rwxr-xr-x 1 root root 14K Jul 29 16:27 pve-3.1-diff-backup-addon -rwxr-xr-x 1 root root 14K Jul 29 16:27 pve-3.2-diff-backup-addon -rwxr-xr-x 1 root root 14K Jul 29 16:27 pve-3.3-diff-backup-addon -rwxr-xr-x 1 root root 14K Jul 29 16:27 pve-3.4-14-diff-backup-addon -rwxr-xr-x 1 root root 14K Jul 29 16:27 pve-3.4-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.0-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.1-22-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.1-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.2-17-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.2-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.3-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.4-13-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-4.4-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-5.0-diff-backup-addon -rwxr-xr-x 1 root root 20K Jul 29 16:27 pve-5.1-48-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-5.1-diff-backup-addon -rwxr-xr-x 1 root root 16K Jul 29 16:27 pve-5.2-2-diff-backup-addon -rwxr-xr-x 1 root root 18K Jul 29 16:27 pve-5.3-9-diff-backup-addon -rwxr-xr-x 1 root root 18K Jul 29 16:27 pve-5.4-5-diff-backup-addon -rwxr-xr-x 1 root root 18K Jul 29 16:27 pve-6.0-1-diff-backup-addon -rwxr-xr-x 1 root root 18K Jul 29 16:27 pve-6.0-5-diff-backup-addon -rwxr-xr-x 1 root root 713 Jul 29 16:27 pve-verify-backups -rwxr-xr-x 1 root root 70K Jul 29 16:27 pve-xdelta3_3.0.5-1_amd64.deb -rwxr-xr-x 1 root root 70K Jul 29 16:27 pve-xdelta3_3.0.6-1_amd64.deb -rw-r--r-- 1 root root 6.7K Jul 29 16:27 README.md Meine Version [image: 1564411815350-00c8e918-7109-47bb-bd48-50958f632597-grafik.png] Da hat der Patch natürlich nicht funktioniert.
  • Proxmox - TOTP

    Verschoben Proxmox
    2
    2
    0 Stimmen
    2 Beiträge
    402 Aufrufe
    FrankMF
    Als Ergänzung, nein das darf nicht die einzige Maßnahme sein. Firewall fail2ban usw.
  • Proxmox - Erster Container

    Verschoben Proxmox
    4
    1
    0 Stimmen
    4 Beiträge
    467 Aufrufe
    FrankMF
    Eine spannende Frage, die ich nicht beantworten kann. Aber Versuch macht klug Aber ich gehe im Moment nicht davon aus, so als Baugefühl. Edit: https://forum.proxmox.com/threads/arm64-vm-emulation-on-proxmox-5-3-amd64.49699/
  • Proxmox - VE 6.0-4

    Verschoben Proxmox
    2
    5
    0 Stimmen
    2 Beiträge
    457 Aufrufe
    FrankMF
    War eine schöne Zeit Der lokale Proxmox ging mir doch ein wenig auf die Nerven, die Lüfter Somit musste ich dieses Projekt einstampfen. Außerdem war der Stromverbrauch auch etwas zu viel, in der heutigen Zeit nicht zu vernachlässigender Faktor. Man hat ja schon genug am Laufen Proxmox ist eine tolle Sache. Der Rechner bekommt jetzt einen anderen Standort und wird vermutlich einstauben. Abwarten, mir fällt sicherlich irgendwann wieder was nettes ein. Die pfSense, die ich virtualisiert hatte ist jetzt in mein altes NAS umgezogen. Da bin ich jetzt mit ca. 10W unterwegs. Das kann dann auch 24/7 an sein.