他のパーティションと混在する単一のパーティション上の ZFS

他のパーティションと混在する単一のパーティション上の ZFS

私は医療機器サプライヤーで働いています。1 台のマシンに、SquashFS (OS ファイル用、2 つの OS パーティション、読み取り専用 squashfs) のパーティションがいくつかあり、ブート パーティション (3 つの FAT32) と DATA パーティション (120 Gb、rw、ext4) があります。

問題は、病院で使用されているデバイスであるため、デバイスのプラグが抜かれることがあり、場合によっては、DATA パーティションのデータ破損に関連すると思われるランダムな問題が発生することです。問題は、医療ソフトウェアが多くの情報をログに記録するため、書き込みが発生し、マシンが強制シャットダウンされ、隣接するファイルが破損する可能性があるということです。

とにかく、データ パーティションの ext4 を ZFS のようなコピーオンライト FS に変更すると役立つかもしれないと思いました。ただし、1 つ気になるのは、ZFS ではディスク全体を ZFS (zpool のこと) にする必要があるのか​​、それとも ZFS パーティションを、異なる FS を持つ他のパーティションと同じディスク上に共存させることができるのかということです。

ありがとう!

答え1

ディスク全体を ZFS としてフォーマットする必要はありません。zpool は、ディスク全体とパーティションの任意の組み合わせから構築できます。

同じディスク上の他のパーティションと ZFS メンバーを共有する場合は、入出力 (I/O) パフォーマンスも共有されることに留意する必要があります。

最も単純な構成では、パーティションまたはデバイスである 1 つの vdev で構成された zpool を作成できます。私は次のようにフォーマットされたコンピューターを持っています。

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

ZFS メンバーは次のパーティションです/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

冗長またはパリティ vdev (ミラー、raidz、raidz2、draid など) がない場合、ZFS はサイレント データ破損を検出できますが、データのコピーのみが不良であるため、それを修正することはできません。

1 つ以上の冗長 vdev を持つ zpool を作成することを検討する必要があります。

これは私のもう一つのコンピュータでRAID 1ミラーと呼ばれる同等の vdev:

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

はじめる

追加資料

関連情報