ZFS auf einer einzelnen Partition gemischt mit anderen Partitionen

ZFS auf einer einzelnen Partition gemischt mit anderen Partitionen

Ich arbeite für einen Hersteller medizinischer Geräte. Wir haben auf einer einzigen Maschine einige Partitionen, die SquashFS sind (für Betriebssystemdateien, zwei Betriebssystempartitionen, schreibgeschütztes SquashFS), einige Bootpartitionen (3x FAT32) und eine DATA-Partition (120 GB, rw, ext4).

Die Sache ist, dass es sich um ein Gerät handelt, das in Krankenhäusern verwendet wird. Manchmal wird das Gerät ausgesteckt und manchmal treten zufällige Probleme auf, die mit einer Datenbeschädigung auf der DATA-Partition zusammenhängen. Die medizinische Software protokolliert eine Menge, daher nehme ich an, dass manchmal ein Schreibvorgang stattfindet und die Maschine möglicherweise hart heruntergefahren wird, was dazu führt, dass benachbarte Dateien irgendwie beschädigt werden.

Wie auch immer, ich dachte, vielleicht könnte es helfen, ext4 auf der Datenpartition in ein Copy-on-Write-FS wie ZFS zu ändern. Eine Frage ist jedoch: Erfordert ZFS, dass die gesamte Festplatte ZFS ist (das Zpool-Ding), oder können wir eine ZFS-Partition auf derselben Festplatte mit anderen Partitionen mit einem anderen FS koexistieren lassen?

Danke!

Antwort1

Sie müssen nicht eine ganze Festplatte als ZFS formatieren. Ein Zpool kann aus jeder beliebigen Kombination ganzer Festplatten und Partitionen erstellt werden.

Wenn Sie ein ZFS-Mitglied mit anderen Partitionen auf derselben Festplatte gemeinsam nutzen, sollten Sie bedenken, dass auch die Eingabe-/Ausgabeleistung (I/O) geteilt wird.

In der einfachsten Konfiguration können Sie einen Zpool haben, der aus einem Vdev besteht, das nur eine Partition oder ein Gerät ist. Ich habe einen Computer, der wie folgt formatiert ist:

root@craptop [~]# zpool status -P
  pool: rpool
 state: ONLINE
  scan: scrub repaired 0B in 00:00:30 with 0 errors on Sun Nov 14 00:24:31 2021
config:

        NAME                                                                 STATE     READ WRITE CKSUM
        rpool                                                                ONLINE       0     0     0
          /dev/disk/by-id/ata-LITEONIT_LSS-24L6G_S45N8470Z1ZNDW089292-part4  ONLINE       0     0     0

errors: No known data errors

Das ZFS-Mitglied ist eine Partition unter /dev/sda:

root@craptop [~]# blkid /dev/sda4
/dev/sda4: LABEL="rpool" UUID="3735190874680832032" UUID_SUB="15024274719792138025" TYPE="zfs_member" PARTUUID="a9a5ae01-90cd-4945-a9dd-fbccbfbfc075"
root@craptop [~]# lsblk -p
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/sda      8:0    0  22.4G  0 disk 
├─/dev/sda1   8:1    0  1000K  0 part 
├─/dev/sda2   8:2    0   512M  0 part /boot/efi
├─/dev/sda3   8:3    0     1G  0 part /boot
└─/dev/sda4   8:4    0  20.9G  0 part 
/dev/sdb      8:16   0 931.5G  0 disk 
├─/dev/sdb1   8:17   0  1000M  0 part 
├─/dev/sdb2   8:18   0   260M  0 part 
├─/dev/sdb3   8:19   0  1000M  0 part 
├─/dev/sdb4   8:20   0   128M  0 part 
├─/dev/sdb5   8:21   0   884G  0 part 
├─/dev/sdb6   8:22   0  25.2G  0 part 
└─/dev/sdb7   8:23   0    20G  0 part 
/dev/sdc      8:32   1  58.6G  0 disk 
└─/dev/sdc1   8:33   1    58G  0 part

Ohne ein redundantes oder Paritäts-vdev (Mirror, Raidz, Raidz2, Draid usw.) kann ZFS stille Datenbeschädigungen erkennen, aber nicht korrigieren, da die einzige Kopie der Daten fehlerhaft ist.

Sie sollten die Erstellung eines Zpools mit einem oder mehreren redundanten vdevs in Erwägung ziehen.

Hier ist ein weiterer meiner Computer mitRAID 1Äquivalente vdevs, sogenannte Mirrors:

root@box1 [~]# zpool status -P
  pool: fastpool
 state: ONLINE
  scan: scrub repaired 0B in 00:04:39 with 0 errors on Sun Nov 14 00:28:40 2021
config:

        NAME                STATE     READ WRITE CKSUM
        fastpool            ONLINE       0     0     0
          mirror-0          ONLINE       0     0     0
            /dev/nvme0n1p3  ONLINE       0     0     0
            /dev/nvme1n1p3  ONLINE       0     0     0

errors: No known data errors

  pool: slowpool
 state: ONLINE
  scan: scrub repaired 0B in 05:45:50 with 0 errors on Sun Nov 14 06:09:52 2021
config:

        NAME              STATE     READ WRITE CKSUM
        slowpool          ONLINE       0     0     0
          mirror-0        ONLINE       0     0     0
            /dev/sda1     ONLINE       0     0     0
            /dev/sdb1     ONLINE       0     0     0
        logs
          /dev/nvme0n1p5  ONLINE       0     0     0
          /dev/nvme1n1p5  ONLINE       0     0     0
        cache
          /dev/nvme0n1p4  ONLINE       0     0     0
          /dev/nvme1n1p4  ONLINE       0     0     0

errors: No known data errors

Erste Schritte

Weitere Informationen

verwandte Informationen