Benutzer-Werkzeuge

Webseiten-Werkzeuge


server_und_serverdienste:linux_zfs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
server_und_serverdienste:linux_zfs [2019/07/20 11:47] – [Memorylimit setzen] boospyserver_und_serverdienste:linux_zfs [2025/05/27 12:13] (aktuell) loma
Zeile 1: Zeile 1:
-{{datei:zfs-linux.png?nolink}}+{{datei:zfs-linux.png?300}}
  
-====== Linux ZFS ====== 
  
 +====== Linux ZFS ======
  
 +Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! 🙏 \\
 +[[https://www.paypal.com/donate/?hosted_button_id=KE592Y5993ZKW|{{:spenden.gif|}}]] \\
 +\\
 +Zum frei verfügbaren [[:apt-repository|Apt-Repository]]
 +\\
 +GITLAB: [[https://git.osit.cc|{{:gitlab_logo.png?nolink&60|}}]]
 +\\
 +\\
 ZFS (ursprünglich Zettabyte File System) wird oft als Dateisystem angesehen, was im Grunde genommen ein Missverständnis darstellt. ZFS kann ein Dateisystem sein, aber beherrscht auch noch einiges mehr. Es vereint die Funktionalität eines Logical Volume Managers und eines Software-RAID mit einem Copy-on-Write-Dateisystem (COW). Das heißt, dass es (aufgrund seiner Kenntnisse der Festplattenbelegung) effizienter als jedes Hardware-RAID arbeitet, Daten-Integrität per Transaktionen ähnlich wie bei relationalen Datenbanken sichert und im Falle von Daten-Redundanz (Mehrfachspeicherung) sogar selbständig Daten repariert. ZFS (ursprünglich Zettabyte File System) wird oft als Dateisystem angesehen, was im Grunde genommen ein Missverständnis darstellt. ZFS kann ein Dateisystem sein, aber beherrscht auch noch einiges mehr. Es vereint die Funktionalität eines Logical Volume Managers und eines Software-RAID mit einem Copy-on-Write-Dateisystem (COW). Das heißt, dass es (aufgrund seiner Kenntnisse der Festplattenbelegung) effizienter als jedes Hardware-RAID arbeitet, Daten-Integrität per Transaktionen ähnlich wie bei relationalen Datenbanken sichert und im Falle von Daten-Redundanz (Mehrfachspeicherung) sogar selbständig Daten repariert.
  
Zeile 10: Zeile 18:
   *  Kernel: 3.10.0-10-pve / 4.2.3-2-pve / 4.10.17-4-pve   *  Kernel: 3.10.0-10-pve / 4.2.3-2-pve / 4.10.17-4-pve
  
-Alles was unter diese Version liegt, ist entweder durch Bugs, oder fehlende Features wie z.B. das ZFS die Geräte per ID anspricht, nicht brauchbar.+Alleswas unter diese Version liegt, ist entweder durch Bugs, oder fehlende Features wie z.B. das ZFS die Geräte per ID anspricht, nicht brauchbar.
  
  
Zeile 46: Zeile 54:
   arc_summary   arc_summary
  
-Wenn man möchte kann man ZFS ein Memorylimit setzten.+Wenn man möchtekann man ZFS ein Memorylimit setzten.
      
   nano  /etc/modprobe.d/zfs.conf   nano  /etc/modprobe.d/zfs.conf
Zeile 56: Zeile 64:
 Danach noch die initram updaten und rebooten. Danach noch die initram updaten und rebooten.
      
-  update-initramfs -u+  update-initramfs -u -k all
  
  
Zeile 71: Zeile 79:
   zpool create -f -o ashift=12 v-machines mirror ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D0KRWP ata-WDC_WD20EARX-00ZUDB0_WD-WCC1H0343538 mirror ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D688XW ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D63WM0   zpool create -f -o ashift=12 v-machines mirror ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D0KRWP ata-WDC_WD20EARX-00ZUDB0_WD-WCC1H0343538 mirror ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D688XW ata-WDC_WD2001FFSX-68JNUN0_WD-WMC5C0D63WM0
  
-Wichtig ist immer die ID'zu benutzen. Würde man z.B. sda oder sdb nehmen, wird es vorkommen das sich die Reihenfolge beim booten irgendwann mal ändert, und dann fehlen Platten. Insbesondere wenn man mehrere SAS/SATA Controller zur Verfügung hat. Die IDs kann man hier auslesen: Als Beispiel SDB+Wichtig ist immer die IDs zu benutzen. Würde man z.B. sda oder sdb nehmen, wird es vorkommen das sich die Reihenfolge beim Booten irgendwann mal ändert, und dann fehlen Platten. Insbesondere wenn man mehrere SAS/SATA Controller zur Verfügung hat. Die IDs kann man hier auslesen: Als Beispiel SDB
      
   ls  /dev/disk/by-id/ -l | grep sdb   ls  /dev/disk/by-id/ -l | grep sdb
Zeile 84: Zeile 92:
   lrwxrwxrwx 1 root root 10 May 23 11:50 wwn-0x50014ee003f548a4-part9 -> ../../sdb9   lrwxrwxrwx 1 root root 10 May 23 11:50 wwn-0x50014ee003f548a4-part9 -> ../../sdb9
  
-Wenn man eine Festplatte einsteckt, werden auch im Syslog alle wichtigen Infos angezeigt. Um dann noch zwei weitere Platten zu unserem 4er Gespann hinzuzufügen bedient man diesen Befehl:+Wenn man eine Festplatte einsteckt, werden auch im Syslog alle wichtigen Informationen angezeigt. Um dann noch zwei weitere Platten zu unserem 4er Gespann hinzuzufügenbedient man diesen Befehl:
      
   zpool add -o ashift=12 v-machines mirror ata-WDC_WD20EARX-00ZUDB0_WD-WCC1H0381420 ata-WDC_WD20EURS-63S48Y0_WD-WMAZA9381012   zpool add -o ashift=12 v-machines mirror ata-WDC_WD20EARX-00ZUDB0_WD-WCC1H0381420 ata-WDC_WD20EURS-63S48Y0_WD-WMAZA9381012
Zeile 114: Zeile 122:
 Die Daten werden bei einer Erweiterung nicht gesynct. Somit ist der Erweitungsprozess binnen Minuten abgeschlossen. Unabhängig von der Speichergröße. Daten werden erst dann auf die neuen Platten verteilt wenn diese das erste mal geschrieben werden.  Die Daten werden bei einer Erweiterung nicht gesynct. Somit ist der Erweitungsprozess binnen Minuten abgeschlossen. Unabhängig von der Speichergröße. Daten werden erst dann auf die neuen Platten verteilt wenn diese das erste mal geschrieben werden. 
  
-**Wichtig ist auch zu erwähnen das die neu hinzugefügten Platten zuerst bevorzugt auf den Füllstand der anderen Platten gebracht werden, erst dann werden wieder immer alle HDD's gleichzeitg verwendet.**+**Wichtig ist auch zu erwähnen, dass die neu hinzugefügten Platten zuerst bevorzugt auf den Füllstand der anderen Platten gebracht werden, erst dann werden wieder immer alle HDD's gleichzeitg verwendet.** 
 + 
 +Als Add-on kann man noch eine spare disk hinzfügen, die man in Falle eines Ausfalls der produktiven Disks verwenden kann: 
 + 
 + zpool add <poolname> spare <device>
  
  
Zeile 168: Zeile 180:
  
 Nachdem dies ein Rpool ist, danach nicht vergessen Grub auf allen hinzugefügten Platten zu installieren.  Nachdem dies ein Rpool ist, danach nicht vergessen Grub auf allen hinzugefügten Platten zu installieren. 
 +
 +===== Hinzufüge eines Special Device =====
 +
 +Ein "Special Device" kann die Geschwindigkeit eines Pools verbessern, der aus langsam drehenden Festplatten mit vielen Metadatenänderungen besteht. Beispielsweise profitieren Arbeitslasten, die das Erstellen, Aktualisieren oder Löschen einer großen Anzahl von Dateien beinhalten, vom Vorhandensein eines speziellen Geräts. ZFS-Datensätze können auch so konfiguriert werden, dass ganze kleine Dateien auf dem Spezialgerät gespeichert werden, was die Leistung weiter verbessern kann. Verwende schnelle SSDs für das Special Device.
 +
 +Die Redundanz des speziellen Geräts sollte mit der des Pools übereinstimmen, da das spezielle Gerät eine Ausfallstelle für den gesamten Pool darstellt.
 +
 +<WRAP center round tip 60%>
 +Das Hinzufügen eines speziellen Geräts zu einem Pool kann nicht rückgängig gemacht werden!
 +</WRAP>
 +
 +
 +Im folgenden Beispiel werden 2 Mirrors für das Special Devices verwendet. 
 +
 + zpool add <poolname> special mirror <device1> <device2> mirror <device3> <device4> 
 +
  
 ===== Korrupte Daten ===== ===== Korrupte Daten =====
Zeile 190: Zeile 218:
  
  
-Um eine defekte Fesplatte zu ersetzen geht man folgender Maßen vor. Um event. Probleme zu vermeiden kann man die Platte vorher auch partitionslos machen.+Um eine defekte Fesplatte zu ersetzengeht man folgendermaßen vor. Um event. Probleme zu vermeiden kann man die Platte vorher auch partitionslos machen.
      
   zpool replace <poolname> <alte ID> <neue ID>   zpool replace <poolname> <alte ID> <neue ID>
Zeile 200: Zeile 228:
  
  
-Im Rpool ist etwas mehr zu tun, da Linux nicht von ZFS booten kann. Wir gehen hier davon aus wir die Platte im gleichen Festplattenslot tauschen, was bei einen Rpool auf z.B. SSD nicht ungewöhnlich ist. Zuerst übernehmen wir mal den Partiontable einer anderen Platte im Pool. Hier ein RaidZ-1.+Im Rpool ist etwas mehr zu tun, da Linux nicht von ZFS booten kann. Wir gehen hier davon aus wir die Platte im gleichen Festplattenslot tauschen, was bei einem Rpool auf z.B. SSD nicht ungewöhnlich ist. Zuerst übernehmen wir mal den Partiontable einer anderen Platte im Pool. Hier ein RaidZ-1.
  
 SDB ist die neue Platte und war gleichzeitig auch die defekte. SDA ist eine andere Platte im Rpool.  SDB ist die neue Platte und war gleichzeitig auch die defekte. SDA ist eine andere Platte im Rpool. 
Zeile 210: Zeile 238:
   sgdisk -G /dev/sdb   sgdisk -G /dev/sdb
  
-Nun den Resilverprozess anstoßen.+Nun den Resilverprozess der Partition anstoßen.
      
   zpool replace -f rpool sdb2 sdb2   zpool replace -f rpool sdb2 sdb2
   Make sure to wait until resilver is done before rebooting.   Make sure to wait until resilver is done before rebooting.
  
-Da wir ja den gleichen Festplattenslot verwenden ersetzen wir die Platte mit sich selbst. Zum Besseren Verständnis kann man natürlich immer mit den DiskID's arbeiten. **/dev/disk/by-id/** +Da wir ja den gleichen Festplattenslot verwenden ersetzen wir die Platte mit sich selbst. Zum besseren Verständnis kann man natürlich immer mit den DiskID's arbeiten. **/dev/disk/by-id/** 
-Es es wirklich die gleiche Platte, also nicht nur der gleiche Anschluss, genügt ein+das dies wirklich die gleiche Platte ist, also nicht nur der gleiche Anschluss, genügt ein
      
   zpool online rpool sdb2   zpool online rpool sdb2
Zeile 267: Zeile 295:
   Write failed: Broken pipe   Write failed: Broken pipe
  
 +Neuere Proxmoxsysteme haben ZFS immer beides. Grub und EFI. Verwendet man zum Booten Grub, verwendet man den ''grub-install''. Verwendet man EFI, bedient man sich systemd-boot: 
 +<code> 
 +pve-efiboot-tool format <new disk's ESP> 
 +pve-efiboot-tool init <new disk's ESP> 
 +</code>
  
 ===== Die wichtigsten ZFS-Befehle auf einen Blick ===== ===== Die wichtigsten ZFS-Befehle auf einen Blick =====
Zeile 276: Zeile 308:
 | zpool list| Zeigt alle Zpools in Kurzform an | | zpool list| Zeigt alle Zpools in Kurzform an |
 | zfs list| Zeigt alle ZFS-Pools und Datasets inkl. Einhängepunkte an | | zfs list| Zeigt alle ZFS-Pools und Datasets inkl. Einhängepunkte an |
-| zpool iostat -v| Zeigt alle Festplattenaktiviäten genau an |+| zpool iostat -v| Zeigt alle Festplattenaktiviäten genau an, inkl. Füllstände \\ der einzellnen Festplatten |
 | zfs set compression=lz4 <pool-name>| Aktiviert die Komprimierung des Dateisystem, empfohlen gut 7mal so schnell wie ohne. | | zfs set compression=lz4 <pool-name>| Aktiviert die Komprimierung des Dateisystem, empfohlen gut 7mal so schnell wie ohne. |
 | zpool upgrade <poolname>| Hebt den geannten Pool auf eine neue ZFSversion. | | zpool upgrade <poolname>| Hebt den geannten Pool auf eine neue ZFSversion. |
Zeile 290: Zeile 322:
 | zpool import -d /dev/disk/by-id/ -a| ersetzt SDX durch die ID der Festplatte | | zpool import -d /dev/disk/by-id/ -a| ersetzt SDX durch die ID der Festplatte |
 | zpool import v-machines neuepoolname| importiert einen bestehenden Pool mit einem anderen Namen | | zpool import v-machines neuepoolname| importiert einen bestehenden Pool mit einem anderen Namen |
 +| zpool import -f -R /mnt rpool| importiert einen Rootpool auf einen anderen Mountpoint |
 | zfs list -t snapshot| zeigt alle Snapshots an | | zfs list -t snapshot| zeigt alle Snapshots an |
 | zpool set listsnapshots=on rpool| zeigt bei "zfs list" auch snapshots an | | zpool set listsnapshots=on rpool| zeigt bei "zfs list" auch snapshots an |
 | zfs list -r -t snapshot -o name,creation rpool| Snapshots mit Datum anzeigen | | zfs list -r -t snapshot -o name,creation rpool| Snapshots mit Datum anzeigen |
-| zfs get volsize v-machines/HDD-vmdata-KVM/vm-113-disk-1  NAME                                     PROPERTY  VALUE    SOURCE  v-machines/HDD-vmdata-KVM/vm-113-disk-1  volsize   36G      local| zeigt den maximal möglichen Speicher eines Volumes an |+| zfs get volsize v-machines/HDD-vmdata-KVM/vm-113-disk-1 | zeigt den maximal möglichen Speicher eines Volumes an |
 | zfs set volsize=32g v-machines/HDD-vmdata-KVM/vm-113-disk-1| Verkleinert/Vergrößert das zvol auf 32GB \\ (Blockdevice)| | zfs set volsize=32g v-machines/HDD-vmdata-KVM/vm-113-disk-1| Verkleinert/Vergrößert das zvol auf 32GB \\ (Blockdevice)|
 | zfs create -V 5gb tank/vol| legt ein neues zvol mit einer maximalen Größe von 5G an \\ (Blockdevice) | | zfs create -V 5gb tank/vol| legt ein neues zvol mit einer maximalen Größe von 5G an \\ (Blockdevice) |
 | zfs set quota=50g tank/backupfolder | setzt die Quota eines normalen Datesets auf 50g | | zfs set quota=50g tank/backupfolder | setzt die Quota eines normalen Datesets auf 50g |
 | zfs rename -p rpool/test rpool/server123 | Verschiebt eine Dataset | | zfs rename -p rpool/test rpool/server123 | Verschiebt eine Dataset |
 +| zfs set reservation=5G mypool | Reserviert 5G damit im Falle von Disk voll \\ noch Aktionen gesetzt werden können |
 | zfs list -o space | Speicherauslastung inkl. wie viel für Snapshots verbraucht wird | | zfs list -o space | Speicherauslastung inkl. wie viel für Snapshots verbraucht wird |
 | mount -t zfs -o ro v-machines/home@rep_home_2017-07-05_00:36:48 /mnt/zfsmountsnap | Snapshot mounten | | mount -t zfs -o ro v-machines/home@rep_home_2017-07-05_00:36:48 /mnt/zfsmountsnap | Snapshot mounten |
Zeile 324: Zeile 358:
   rpool/swap                4.25G   841G  85.2K  -   rpool/swap                4.25G   841G  85.2K  -
  
-Hier sieht man der Rpool aus den Datasets pve-1,swap und home besteht. Die Einträge mit dem "@" sind snapshots. Um nun ein Snapshot zurück zu spielen z.B. am Dataset home bedient man sich diesem Befehle:+Hier sieht man der Rpool aus den Datasets pve-1,swap und home besteht. Die Einträge mit dem "@" sind snapshots. Um nun ein Snapshot zurückzuspielen z.B. am Dataset home bedient man sich diesem Befehle:
      
   zfs rollback rpool/home@Freitag   zfs rollback rpool/home@Freitag
Zeile 333: Zeile 367:
  
 Sind neuere Snapshots vorhanden muss man die vorher löschen. Man kann das aber auch gleich im obigen Befehle mit der Option "r" forcen und includen. Sind neuere Snapshots vorhanden muss man die vorher löschen. Man kann das aber auch gleich im obigen Befehle mit der Option "r" forcen und includen.
-Natürlich kommt es Rootfilesystem auf die Änderungen an. Wenn man z.B. den Teil vernichtet der für die Snapshots zuständig ist, geht das dann natürlich nicht mehr. Deswegen sollte man ich immer den Rpool nur für das nackte System verwenden und eigene Pools mit eigenen Datasets generieren um solchen Dingen zu entgehen. Wann Snapshots erstellt wurden kann mit folgenden Befehl gut sehen: Hier mit dem Rpool.+Natürlich kommt es Rootfilesystem auf die Änderungen an. Wenn man z.B. den Teil vernichtetder für die Snapshots zuständig ist, geht das dann natürlich nicht mehr. Deswegen sollte man ich immer den Rpool nur für das nackte System verwenden und eigene Pools mit eigenen Datasets generieren um solchen Dingen zu entgehen. Wann Snapshots erstellt wurden kann mit folgenden Befehl gut sehen: Hier mit dem Rpool.
      
   zfs list -r -t snapshot -o name,creation rpool   zfs list -r -t snapshot -o name,creation rpool
Zeile 345: Zeile 379:
 ==== Snapshots Remote abspeichern ==== ==== Snapshots Remote abspeichern ====
  
-Um nun auch wirkliche Backups zu generieren muss man die Snapshots natürlich außerhalb des Servers ablegen. In unserem ersten Beispiel senden wir einen Snapshot auf eine Backupfestplatte in unserem Server. +Um nun auch wirkliche Backups zu generierenmuss man die Snapshots natürlich außerhalb des Servers ablegen. In unserem ersten Beispiel senden wir einen Snapshot auf eine Backupfestplatte in unserem Server. 
      
    zpool list backup    zpool list backup
Zeile 393: Zeile 427:
   zfs umount backup/home   zfs umount backup/home
  
-Möchte man nun das Backup zurück spielen, geht man gleicher Maßen vor, nur umgekehrt:+Möchte man nun das Backup zurückspielen, geht man gleichermaßen vor, nur umgekehrt:
      
   zfs send -v backup/home@Dienstag | zfs receive  rpool/home -F   zfs send -v backup/home@Dienstag | zfs receive  rpool/home -F
Zeile 438: Zeile 472:
   zfs destroy rpool/home@Freitag   zfs destroy rpool/home@Freitag
  
-Um nun das Snapshot von unserem zweiten Beispiel von /backup wieder zurück zu spielen geht man folgender maßen vor. +Um nun das Snapshot von unserem zweiten Beispiel von /backup wieder zurückzuspielen, geht man folgendermaßen vor. 
      
   pigz -d -c /backup/home@bla1.gz | zfs receive -F rpool/home   pigz -d -c /backup/home@bla1.gz | zfs receive -F rpool/home
Zeile 489: Zeile 523:
 Ist "autoexpand" aktiviert vergrößert sich der Festplattenspeicher beim Tausch einer kleineren durch eine größere Platte automatisch. Beispiel: Man hat ein Raid1 mit 2x500GB Festplatten. Man tauscht die platten nacheinander aus (replace/resilvern). Ist die zweite Platte getauscht ist der Mehrspeicher sofort verfügbar.  Ist "autoexpand" aktiviert vergrößert sich der Festplattenspeicher beim Tausch einer kleineren durch eine größere Platte automatisch. Beispiel: Man hat ein Raid1 mit 2x500GB Festplatten. Man tauscht die platten nacheinander aus (replace/resilvern). Ist die zweite Platte getauscht ist der Mehrspeicher sofort verfügbar. 
  
-Um für alle Pools abzugragen ob die Funktion aktiv ist gibt man folgendes Befehl ein:+Um für alle Pools abzugragenob die Funktion aktiv ist gibt man folgendes Befehl ein:
      
   zpool get autoexpand   zpool get autoexpand
Zeile 505: Zeile 539:
 ==== Autoexpand auf einem Rootpool ==== ==== Autoexpand auf einem Rootpool ====
  
-Das ganze ist ein wenig komplizierter da man die GPT Bootpartion beachten muss. Zuerst erstellt auf der neuen getauschten Disk eine GPT Partition:+Das Ganze ist ein wenig komplizierter da man die GPT Bootpartion beachten muss. Zuerst erstellt auf der neuen getauschten Disk eine GPT Partition:
      
-  sgdisk -Z /dev/sdf # löscht nur gpt und mbr struktur +<code> 
-  sgdisk -Z -o /dev/sdf # löscht auch Partitionen +sgdisk -Z /dev/sdf # löscht nur gpt und mbr struktur 
-  sgdisk -a1 -n1:34:2047 -t1:EF02 -n9:-8M:0 -t9:BF07 -n2:2048:0 -t2:BF01 -c 2:zfs /dev/sdf +sgdisk -Z -o /dev/sdf # löscht auch Partitionen 
-  zpool replace rpool 10714300945297318711 sdf2 +sgdisk -a1 -n1:34:2047 -t1:EF02 -n9:-8M:0 -t9:BF07 -n2:2048:0 -t2:BF01 -c 2:zfs /dev/sdf 
-  grub-install /dev/sdf+partx -s /dev/sdf (hier sieht man die Partionierung) 
 +zpool replace rpool 10714300945297318711 sdf2 
 +grub-install /dev/sdf 
 +</code>
  
 Das natürlich mit jeder Platte wiederholen. Das natürlich mit jeder Platte wiederholen.
Zeile 522: Zeile 559:
  
 9: reserved space (8MB) 9: reserved space (8MB)
 +
 +=== Partitionieren ab Proxmox-Boot-Tool ===
 +Bei neuen Systemen wird nicht mehr Grub, sondern Proxmox Boottool verwendet. Dabei wird für EFI eine extra 512MB Partition benötigt. Der Befehl dazu sieht dann so aus: Die erste zwei Befehle können auch über die Webgui durch einen Mausklick ausgeführt werden (Initialisiere Disk mit GPT)
 +<code>
 +sgdisk -Z /dev/disk/by-id/ata-ST8000VN004-3CP101_XXXXXX # löscht nur gpt und mbr struktur
 +sgdisk -Z -o /dev/disk/by-id/ata-ST8000VN004-3CP101_XXXXXX # löscht auch Partitionen
 +sgdisk -a1 -n1:34:2047 -t1:EF02 -n2:2048:+512M -t2:EF00 -n3:0:0 -t3:BF01 -c 3:zfs /dev/sdX
 +partx -s /dev/disk/by-id/ata-ST8000VN004-3CP101_XXXXXX (hier sieht man die Partionierung)
 +zpool replace rpool 10714300945297318711 ata-ST8000VN004-3CP101_XXXXXX-part3
 +proxmox-boot-tool format /dev/disk/by-id/ata-ST8000VN004-3CP101_XXXXXX-part2
 +proxmox-boot-tool init /dev/disk/by-id/ata-ST8000VN004-3CP101_XXXXXX-part2
 +</code>
 +==== Autoexpand of an Raidz2 Pool ====
 +For example: 
 +<code>
 +zpool status                                                                                               
 +  pool: backup_pool_1
 + state: ONLINE
 +config:
 +
 +        NAME                                      STATE     READ WRITE CKSUM
 +        backup_pool_1                             ONLINE               0
 +          raidz2-0                                ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi1  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi2  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi3  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi4  ONLINE               0
 +</code>
 +
 +Switch drive offline:
 + zpool offline backup_pool_1 scsi-0QEMU_QEMU_HARDDISK_drive-scsi4
 +
 +<code>
 +pool: backup_pool_1
 + state: DEGRADED
 +status: One or more devices has been taken offline by the administrator.
 +        Sufficient replicas exist for the pool to continue functioning in a
 +        degraded state.
 +action: Online the device using 'zpool online' or replace the device with
 +        'zpool replace'.
 +config:
 +
 +        NAME                                      STATE     READ WRITE CKSUM
 +        backup_pool_1                             DEGRADED             0
 +          raidz2-0                                DEGRADED             0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi1  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi2  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi3  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi4  OFFLINE      0         0
 +</code>
 +Remove your old drive (or not if you have enouth bay's) and replace it with your new bigger one ''zpool replace -f <pool> <old device> <new device>''
 + zpool replace backup_pool_1 scsi-0QEMU_QEMU_HARDDISK_drive-scsi4 scsi-0QEMU_QEMU_HARDDISK_drive-scsi5
 +
 +<code>
 +pool: backup_pool_1
 + state: ONLINE
 +  scan: resilvered 768K in 00:00:00 with 0 errors on Mon Jul 15 14:57:10 2024
 +config:
 +
 +        NAME                                      STATE     READ WRITE CKSUM
 +        backup_pool_1                             ONLINE               0
 +          raidz2-0                                ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi1  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi2  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi3  ONLINE               0
 +            scsi-0QEMU_QEMU_HARDDISK_drive-scsi5  ONLINE               0
 +</code>
 +Then the next drive.
  
 ==== Umwandeln eines Rpool Singledisk in einen Mirror inkl. Autoexpand ==== ==== Umwandeln eines Rpool Singledisk in einen Mirror inkl. Autoexpand ====
Zeile 587: Zeile 692:
 ===== Proxmox spezifisches ===== ===== Proxmox spezifisches =====
  
-Unter Proxmox wird LVM defaultmäßing mitinstalliert, man im Installer wählen kann ob man ZFS oder EXT4 mit LVM haben möchte. Unter ZFS kann LVM einen Filter erstellen damit der HOST die LVMs von den Gästen nicht sieht. Ist sauberer.+Unter Proxmox wird LVM defaultmäßing mitinstalliert, man im Installer wählen kannob man ZFS oder EXT4 mit LVM haben möchte. Unter ZFS kann LVM einen Filter erstellen damit der HOST die LVMs von den Gästen nicht sieht. Ist sauberer.
      
   nano /etc/lvm/lvm.conf   nano /etc/lvm/lvm.conf
Zeile 638: Zeile 743:
 </code> </code>
 Das Dataset löschen, löscht natürlich auch die Freigabe. Das Dataset löschen, löscht natürlich auch die Freigabe.
-Um zu sehen welche Freigaben nun aktiv sind gibt es mehrere Möglichkeiten. Am Host selbst:+Um zu sehenwelche Freigaben nun aktiv sindgibt es mehrere Möglichkeiten. Am Host selbst:
 <code> <code>
 cat /etc/dfs/sharetab cat /etc/dfs/sharetab
server_und_serverdienste/linux_zfs.1563623264.txt.gz · Zuletzt geändert: von boospy