單一分區上的 ZFS 與其他分區混合

單一分區上的 ZFS 與其他分區混合

我在一家醫療設備供應商工作。我們在一台機器上有幾個分割區:SquashFS(用於作業系統文件,兩個作業系統分割區,只讀的squashfs),一些引導分割區(3x FAT32)和一個DATA分割區(120Gb,rw,ext4)。

問題是,作為醫院使用的設備,有時他們會拔掉設備的插頭,有時我們會遇到隨機問題,這些問題似乎與 DATA 分割區上的資料損壞有關。問題是,醫療軟體會記錄很多內容,所以我想有時會發生寫入,機器可能會硬關閉,並且它似乎會損壞相鄰檔案。

不管怎樣,我想也許將資料分割區上的 ext4 變更為像 ZFS 這樣的寫入時複製 FS 會有所幫助。但有一件事是…ZFS 是否要求整個磁碟都是 ZFS(zpool 的東西),或者我們可以讓 ZFS 分割區與其他具有不同 FS 的分割區共存於同一磁碟上。

謝謝!

答案1

您不必將整個磁碟格式化為 ZFS。 zpool 可以由整個磁碟和分割區的任意組合建構。

如果確實與同一磁碟上的其他分割區共用 ZFS 成員,則應記住輸入/輸出 (I/O) 效能也是共用的。

在最簡單的配置中,您可以擁有一個由一個 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(mirror、raidz、raidz2、draid 等),ZFS 可以偵測靜默資料損壞,但無法修正它,因為資料的唯一副本已損壞。

您應該考慮建立一個具有一個或多個冗餘 vdev 的 zpool。

這是我的另一台電腦磁碟陣列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

入門

補充閱讀

相關內容