天天看點

在Linux上安裝和使用ZFS

  • ZFS 檔案系統的英文名稱為 ZettabyteFileSystem,也叫動态檔案系統,是第一個 128 位檔案系統。最初是由 Sun 公司為 Solaris10 作業系統開發的檔案系統。作為 OpenSolaris 開源計劃的一部分,ZFS 于 2005 年 11 月釋出,被 Sun 稱為是終極檔案系統,經曆了 10 年的活躍開發,而最新的開發将全面開放,并重新命名為 OpenZFS。
  • ZFS 是一種先進的、高度可擴充的檔案系統,最初是由 Sun Microsystems 開發的,現在 OpenZFS 是項目的一部分。有這麼多檔案系統可用在 Linux 上,那自然要問 ZFS 有什麼特别之處。不同于其它檔案系統,它不僅是一個檔案系統邏輯卷管理器。
在Linux上安裝和使用ZFS

在Linux上安裝和使用ZFS

1. ZFS 檔案系統介紹

ZFS 檔案系統是一種革新性的新檔案系統,可從根本上改變檔案系統的管理方式,并具有目前面市的其他任何檔案系統所沒有的功能和優點。ZFS 強健可靠、可伸縮、易于管理。

ZFS 非常的優秀,這是一個真正現代的檔案系統,内置的功能對于處理大量的資料很有意義。現在,如果您正在考慮将 ZFS 用于您的超高速 NVMe SSD,這可能不是一個最佳選擇。 它比别的檔案系統要慢,不過,這完全沒有問題, 它旨在存儲大量的資料并保持安全。

  • ZFS 消除了建立傳統 RAID 陣列(獨立磁盤備援陣列)的需要。 相反,您可以建立 ZFS 池,甚至可以随時将驅動器添加到這些池中。ZFS 池的行為操作與 RAID 幾乎完全相同,但功能内置于檔案系統中。
  • ZFS 也可以替代 LVM(邏輯盤卷管理),使您能夠動态地進行分區和管理分區,而無需處理底層的細節,也不必擔心相關的風險。
  • 這也是一個 CoW(寫時複制)檔案系統。 這裡不會提及太多的技術性,這意味着 ZFS 可以保護您的資料免受逐漸損壞的影響。 ZFS 會建立檔案的校驗和,并允許您将這些檔案復原到以前的工作版本。

[1] ZFS 使其受歡迎的特性是:

  • 資料完整性 —— 資料一緻性和完整性通過即寫即拷和校驗技術保證。
  • 存儲空間池 —— 可用存儲驅動器一起放入稱為 zpool 的單個池。
  • 軟體 RAID —— 像發出一個指令一樣,建立一個 raidz 數組。
  • 内置的卷管理器 —— ZFS 充當卷管理器。
  • Snapshots、克隆、壓縮 —— 這些都是一些 ZFS 提供的進階功能。

[2] ZFS 的常用的術語:

  • Pool存儲驅動器的邏輯分組,它是 ZFS 的基本建構塊,從這裡将存儲空間配置設定給資料集。
  • DatasetsZFS 檔案系統的元件即檔案系統、克隆、快照和卷被稱為資料集。
  • Mirror一個虛拟裝置存儲相同的兩個或兩個以上的磁盤上的資料副本,在一個磁盤失敗的情況下,相同的資料是可以用其他磁盤上的鏡子。
  • Resilvering在恢複裝置時将資料從一個磁盤複制到另一個磁盤的過程。
  • Scrub擦除用于一緻性檢驗在 ZFS 像在其他檔案系統如何使用 fsck。

[3] 參考連結位址:

  • ZFS 官方網站位址
  • Oracle Solaris ZFS 管理指南
  • 如何在 Centos7 上安裝和使用 ZFS
  • 如何在 Ubuntu 上使用 ZFS 檔案系統
  • Oracle Solaris ZFS 故障排除和池恢複

2. 在 CentOS7 上安裝

zfs install on centos7.8
# 需要先安裝支援包EPEL倉庫
# 然後在ZFS存儲庫上安裝所需的ZFS包
$ yum localinstall --nogpgcheck http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
$ yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm
           
# /etc/yum.repos.d/zfs.repo
[zfs]
name=ZFS on Linux for EL 7 - dkms
baseurl=http://download.zfsonlinux.org/epel/7/$basearch/
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux

[zfs-kmod]
name=ZFS on Linux for EL 7 - kmod
baseurl=http://download.zfsonlinux.org/epel/7/kmod/$basearch/
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
           
# 現在安裝核心開發和zfs包
# 核心開發的軟體包是需要ZFS建立子產品和插入到核心中
$ sudo yum install epel-release
$ sudo yum install kernel-devel zfs
           

3. 在 Ubuntu18.04 上安裝

zfs install on ubutu18.04
# Ubuntu16.04LTS
$ sudo apt install zfs

# Ubuntu17.04及以後
# 在Ubuntu上安裝ZFS非常簡單
$ sudo apt install zfsutils
           

4. 在 ZFS 池的常用操作

我們這裡隻介紹了 ZFS 的基本用法 => 官方位址

ZFS 會在您的池的根檔案系統中建立一個目錄。 您可以使用 GUI 檔案管理器或 CLI 按名稱浏覽它們。ZFS 非常強大,還有很多其它的東西可以用它來做,但這些都是基礎。 這是一個優秀的存儲負載檔案系統,即使它隻是一個用于檔案的硬碟驅動器的 RAID 陣列。 ZFS 在 NAS 系統上也非常出色。無論 ZFS 的穩定性和可靠性如何,在您的硬碟上實施新的功能時,最好備份您的資料。

在Linux上安裝和使用ZFS

在Linux上安裝和使用ZFS

# 不用執行了,我優化的輸出内容
escape@abbzz:~$ sudo zpool --help

# 建立和銷毀
zpool create [-fnd] [-o property=value] ...
    [-O file-system-property=value] ...
    [-m mountpoint] [-R root] <pool> <vdev> ...
zpool destroy [-f] <pool>

# 添加和删除
zpool add [-fgLnP] [-o property=value] <pool> <vdev> ...
zpool remove <pool> <device> ...

# 檢視池狀态
list [-gHLPv] [-o property[,...]] [-T d|u] [pool] ... [interval [count]]
iostat [-gLPvy] [-T d|u] [pool] ... [interval [count]]
status [-gLPvxD] [-T d|u] [pool] ... [interval [count]]

# 标記磁盤資訊
online <pool> <device> ...
offline [-t] <pool> <device> ...
clear [-nF] <pool> [device]
reopen <pool>

# 故障時的操作
attach [-f] [-o property=value] <pool> <device> <new-device>
detach <pool> <device>
replace [-f] [-o property=value] <pool> <device> [new-device]
split [-gLnP] [-R altroot] [-o mntopts]
    [-o property=value] <pool> <newpool> [<device> ...]

# 檢查資料完整性的最簡單的方法,對池中所有資料啟動顯式清理操作
scrub [-s] <pool> ...

# 磁盤資料遷移和恢複
import [-d dir] [-D]
import [-d dir | -c cachefile] [-F [-n]] <pool | id>
import [-o mntopts] [-o property=value] ...
    [-d dir | -c cachefile] [-D] [-f] [-m] [-N] [-R root] [-F [-n]] -a
import [-o mntopts] [-o property=value] ...
    [-d dir | -c cachefile] [-D] [-f] [-m] [-N] [-R root] [-F [-n]]
    <pool | id> [newpool]
export [-af] <pool> ...
upgrade
upgrade -v
upgrade [-V version] <-a | pool ...>
reguid <pool>

# 檢視日志資訊
history [-il] [<pool>] ...
events [-vHfc]

# 擷取和設定資訊
get [-pH] <"all" | property[,...]> <pool> ...
set <property=value> <pool>           

4.1 建立和銷毀池

建立池: zpool create -f <pool name> <dev> > 銷毀池: zpool destroy <pool name>
  • 環境準備
[root@li1467-130 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 Mar 16 08:12 /dev/sda
brw-rw---- 1 root disk 8, 16 Mar 16 08:12 /dev/sdb
brw-rw---- 1 root disk 8, 32 Mar 16 08:12 /dev/sdc
brw-rw---- 1 root disk 8, 48 Mar 16 08:12 /dev/sdd
brw-rw---- 1 root disk 8, 64 Mar 16 08:12 /dev/sde
brw-rw---- 1 root disk 8, 80 Mar 16 08:12 /dev/sdf
           
  • 建立池 => zfspool
# 建立一個池的驅動器
# zpool create <pool name> <dev>....
$ sudo zpool create -f zfspool sdc sdd sde sdf

# zpool狀态的指令顯示可用池的狀态
$ sudo zpool status
pool: zfspool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zfspool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
errors: No known data errors
           
# 驗證如果池建立成功
# 使用zpool創造了一個池的名字zfspool大小3.7GB的空間,同時挂載在/zfspool
$ df -h
Filesystem     Size     Used     Avail     Use%    Mounted on
/dev/sda        19G     1.4G       17G       8%    /
devtmpfs       488M        0      488M       0%    /dev
tmpfs          497M        0      497M       0%    /dev/shm
tmpfs          497M      50M      447M      11%    /run
tmpfs          497M        0      497M       0%    /sys/fs/cgroup
tmpfs          100M        0      100M       0%    /run/user/0
zfspool        3.7G        0      3.7G       0%    /zfspoolv
           
  • 銷毀池 => zfspool
# 銷毀一個位址池
$ sudo zpool destroy zfspool
           

4.2 添加和删除磁盤

  • 更新池
# 當你更新ZFS時,你也需要更新你的池

# 更新指定池
$ sudo zpool upgrade zfspool

# 更新全部池
$ sudo zpool upgrade -a
           
  • 添加磁盤
# 您也可以随時将驅動器添加到池中
$ sudo zpool add zfspool -f /dev/sdx
           
  • 删除磁盤
# 您也可以随時将驅動器從池中删除
$ sudo zpool remove zfspool -f /dev/sdx
           

4.3 快速建立 RAID 池

來來來,你要進階操作來了!
  • [1] RAID0

RAID0 隻是把你的硬碟集中到一個池子裡面,就像一個巨大的驅動器一樣。 它可以提高你的驅動器速度(資料條帶化後,并行通路,可以提高檔案讀取速度)但是如果你的驅動器有損壞,你可能會失丢失資料。要使用 ZFS 實作 RAID0,隻需建立一個普通的池。

# RAID0
$ sudo zpool create -f zfspool /dev/sdc /dev/sdd
           
  • [2] RAID1(鏡像)

您可以在 ZFS 中使用 mirror 關鍵字來實作 RAID1 功能。 RAID1 會建立一個一對一的驅動器副本。 這意味着您的資料一直在備份。 它也提高了性能。 當然,你将一半的存儲空間用于了複制。

# RAID1
$ sudo zpool create -f zfspool mirror /dev/sdc /dev/sdd
           
  • [3] RAID5/RAIDZ1

ZFS 将 RAID5 功能實作為 RAIDZ1。 RAID5 要求驅動器至少是 3 個。并允許您通過将備份奇偶校驗資料寫入驅動器空間的 1/n(n 是驅動器數),留下的是可用的存儲空間。 如果一個驅動器發生故障,陣列仍将保持聯機狀态,但應盡快更換發生故障的驅動器。

# RAID5/RAIDZ
$ sudo zpool create -f zfspool raidz1 /dev/sdc /dev/sdd /dev/sde
           
  • [4] RAID6/RAIDZ2

RAID6 與 RAID5 幾乎完全相同,但它至少需要四個驅動器。 它将奇偶校驗資料加倍,最多允許兩個驅動器損壞,而不會導緻陣列關閉。

# RAID6/RAIDZ2
$ sudo zpool create -f zfspool raidz2 /dev/sdc /dev/sdd /dev/sde /dev/sdf
           
  • [5] RAID10(條帶化鏡像)

RAID10 旨在通過資料條帶化提高存取速度和資料備援來成為一個兩全其美的解決方案。 你至少需要四個驅動器,但隻能使用一半的空間。 您可以通過在同一個池中建立兩個鏡像來建立 RAID10 中的池

# RAID10
$ sudo zpool create -f zfspool mirror /dev/sdc /dev/sdd mirror /dev/sde /dev/sdf
           

4.4 檢視 zpool 池狀态

主要用于檢視和排除問題使用的指令
# 檢視池狀态
$ sudo zpool status
$ sudo zpool status -x

# 檢視池狀态
$ sudo zpool list

# 檢視池狀态
$ sudo zpool get all

# 顯示以前修改了池狀态資訊
$ sudo zpool history           
# 對應資訊解釋
$ sudo zpool status
  pool: data2   # 池的名稱
 state: ONLINE  # 池的目前運作狀況
  scan: scrub repaired 0 in 0h39m with 0 errors on Sun Dec  8 01:03:48 2019

config: # 發出讀取請求時出現I/O錯誤|發出寫入請求時出現I/O錯誤|校驗和錯誤
  NAME        STATE     READ WRITE CKSUM
  data2       ONLINE       0     0     0
    vdd       ONLINE       0     0     0
    vde       ONLINE       0     0     0

errors: No known data errors  # 确定是否存在已知的資料錯誤           

5. 在 ZFS 池建立快照

快照是檔案系統或卷的隻讀副本。快照幾乎可以即時建立,而且最初不占用池中的其他磁盤空間。但是,當活動資料集中的資料發生更改時,快照通過繼續引用舊資料占用磁盤空間,進而阻止釋放磁盤空間。
  • ZFS 快照具有以下特征可在系統重新開機後存留下來,理論最大快照數是 2 的 64 次方個快照直接占用存儲池(從中建立這些快照的檔案系統或卷所在的存儲池)中的磁盤空間遞歸快照可作為一個原遞歸快照可作為一個原子操作快速建立。要麼一起建立快照(一次建立所有快照),要麼不建立任何快照。原子快照操作的優點是始終在一個一緻的時間捕獲快照資料,即使跨後代檔案系統也是如此。
在Linux上安裝和使用ZFS

在Linux上安裝和使用ZFS

5.1 建立和銷毀快照

  • 快照是使用 zfs snapshot 指令建立的,該指令将要建立的快照的名稱用作其唯一參數。
# 快照名稱必須滿足ZFS 元件命名要求中所述的命名要求
$ sudo zfs snapshot filesystem@snapname
$ sudo zfs snapshot volume@snapname
           
# 檢視現在使用的zfs檔案系統
$ zfs list
NAME    USED  AVAIL  REFER  MOUNTPOINT
data      1T   888G     1T  /data

# 建立快照
$ sudo zfs snapshot data@2020-04-28

# 建立之後直接檢視容量
$ sudo zfs list -t snapshot
NAME               USED  AVAIL  REFER  MOUNTPOINT
data@2020-04-28   221K      -      1T  -

# 删除一些檔案之後檢視容量發現USED占用很多
# 這是因為現在檔案系統這些檔案已經删除了,但是快照還占用着沒有釋放
$ zfs list -t snapshot
NAME               USED  AVAIL  REFER  MOUNTPOINT
data@2020-04-28   28.2G      -     1T  -
           
  • 通過使用 -r 選項為所有後代檔案系統建立快照,如 /data 目錄各個子目錄都挂載了獨立的 zfs 檔案系統。
# 通過使用-r選項可為所有後代檔案系統建立快照
$ sudo zfs snapshot -r data@2020-04-28

#  檢視建立的快照清單
$ sudo zfs list -t snapshot -r data@2020-04-28
NAME                     USED  AVAIL  REFER  MOUNTPOINT
data@2020-04-28             0      -    34K  -
data/home@2020-04-28        0      -  2.00G  -
data/app@2020-04-28         0      -  1.00G  -
data/postgres@2020-04-28    0      -  2.00G  -
           
  • 使用 zfs destroy 指令可以銷毀快照
# 沒有使用-r參數來建立快照
$ sudo zfs destroy data@2020-04-28

# 使用-r參數來建立快照的話,需要先删除下層快照
$ sudo zfs destroy data@2020-04-28
cannot destroy 'data@2020-04-28': filesystem has children
use '-r' to destroy the following datasets:
data/home@2020-04-28
data/app@2020-04-28
data/postgres@2020-04-28

# 删除下層快照
$ sudo zfs destroy data/home@2020-04-28
$ sudo zfs destroy data/app@2020-04-28
$ sudo zfs destroy data/postgres@2020-04-28
$ sudo zfs destroy data@2020-04-28
           
  • 保持 ZFS 快照顧名思義,就是保持快照防止它被不小心銷毀了。每個快照都有一個關聯的使用者引用計數,其初始值為 0。在一個快照上設定一個保持标志時,此計數遞增 1;釋放一個保持标志時,此計數遞減 1。
# 保持一個快照或一組快照
$ sudo zfs hold keep data@2020-04-28

# 使用-r選項遞歸保持所有後代檔案系統的快照
$ sduo zfs hold -r keep data@2020-04-28

# 防止快照不小心銷毀掉了
$ sudo zfs destroy data@2020-04-28
cannot destroy 'data@2020-04-28': dataset is busy

# 要銷毀保持的快照,須使用-d選項
$ sudo zfs destroy -d data@2020-04-28

# 顯示受保持的快照清單
$ sudo zfs holds data@2020-04-28
$ sudo zfs holds -r data@2020-04-28

# 釋放對一個快照或一組快照的保持
$ sudo zfs release -r keep data@2020-04-28

# 釋放快照後銷毀快照
$ sudo zfs destroy -r data@2020-04-28
           
  • 重命名 ZFS 快照顧名思義,就是重命名快照,但是必須在從中建立它們的池和資料集中對它們進行重命名。
# 單個快照重命名
$ sudo zfs rename data@2020-04-28 data@2020-04-27

# 以遞歸方式重命名快照
$ sudo zfs rename -r data@2020-04-28 @2020-04-27
           

5.2 顯示和通路快照

  • 可以通過 listsnapshots 池屬性啟用或禁用 zfs list 輸出中的快照清單顯示。預設情況下,此屬性處于啟用狀态。如果禁用了此屬性,則可以使用 zfs list -t snapshot 指令來顯示快照資訊。或者啟用 listsnapshots 池屬性。
# 擷取屬性
$ sudo zpool get listsnapshots data
NAME  PROPERTY       VALUE      SOURCE
data  listsnapshots  on        default

# 設定屬性
$ sudo zpool set listsnapshots=off data

# 檢視已經修改了
$ sudo zpool get listsnapshots data
NAME  PROPERTY       VALUE      SOURCE
data  listsnapshots  off         local
           
  • 可以列出快照,也可以列出為特定檔案系統建立的快照。
# 預設顯示
$ sudo zfs list -t snapshot -r tank/home
NAME                       USED  AVAIL  REFER  MOUNTPOINT
tank/home/cindy@today         0      -  2.00G  -
tank/home/mark@today          0      -  2.00G  -
tank/home/matt@tuesday      20K      -  1.00G  -

# 列出為特定檔案系統建立的快照
$ sduo zfs list -r -t snapshot -o name,creation tank/home
NAME                      CREATION
tank/home/cindy@today     Fri May  6  6:32 2020
tank/home/mark@today      Fri May  6  6:22 2020
tank/home/matt@tuesday    Tue May  3  6:27 2020
           

5.3 快照恢複和復原

  • 快照恢複即我們沒有辦法直接将檔案系統復原到之前建立快照的時候,比如在該檔案系統同時産生了多個服務的資料,而我們隻需要将一個服務的資料進行復原操作。這個時候就需要,我們手動恢複資料了。
# 将快照挂載到一個臨時目錄,手動進行資料恢複
$ sudo mount -t zfs data@2020-04-28 /mnt/recovery
           
  • 可以使用 zfs rollback 指令放棄自特定快照建立以來對檔案系統所做的全部更改。檔案系統恢複到建立快照時的狀态。預設情況下,該指令無法復原到除最新快照以外的快照。要復原到早期快照,必須銷毀所有的中間快照。可以通過指定 -r 選項銷毀早期的快照。如果存在任何中間快照的克隆,則還必須指定 -R 選項以銷毀克隆。
# 示例快照清單
$ sudo zfs list -t snapshot -r tank/home
NAME                       USED  AVAIL  REFER  MOUNTPOINT
tank/home/matt@today         0      -  2.00G  -
tank/home/mark@today          0      -  2.00G  -
tank/home/matt@tuesday      20K      -  1.00G  -
tank/home/matt@wednesday    20K      -  1.00G  -
tank/home/matt@thursday       0      -  1.00G  -

# 會将tank/home/matt檔案系統復原到tuesday快照
$ sudo zfs rollback tank/home/matt@tuesday
cannot rollback to 'tank/home/matt@tuesday': more recent snapshots exist
use '-r' to force deletion of the following snapshots:
tank/home/matt@wednesday
tank/home/matt@thursday

# 删除中間的快照即可恢複到之前的版本
$ sudo zfs rollback -r tank/home/matt@tuesday
           
  • 确定 ZFS 快照的差異即可以通過 diff 指令來對比快照之間的檔案差異。
# 确定兩個快照之間的差異
$ sudo zfs diff tank/home/tim@snap1 tank/home/timh@snap2
M       /tank/home/tim/
+       /tank/home/tim/fileB
           

6. 在 ZFS 池管理裝置

很少會使用到,如果使用到的話,可以檢視檢視連結!
  • 一旦建立一個池,從池中可以添加或删除熱備件和緩存裝置,從鏡像池替換裝置中連接配接或者分離,但是備援和 raidz 裝置不能從池中删除。
# 建立一個池稱為testpool成的兩個裝置(sdc和sdd)
$ sudo zpool create -f testpool sdc sdd

# 另一個裝置sde将被添加到這裡
$ sudo zpool add testpool sde

# 正如前面提到的,我不能删除這個新添加的裝置(因為它是一個備援或raidz池)
$ sudo zpool remove testpool sde
cannot remove sde: only inactive hot spares, cache, top-level, or log devices can be removed

# 标記磁盤狀态為運作
$ sudo zpool online testpool sdc

# 在有故障的時候,标記磁盤狀态為非運作
$ sudo zpool offline testpool sdc
           
  • 作為組合的檔案系統和卷管理器,ZFS 可以呈現許多不同的故障。
# 但我可以在這個池添加一個空閑磁盤和删除它
$ sudo zpool add testpool spare sdf

# 如果已使用熱備件自動替換了故障磁盤,則您可能需要在替換故障磁盤後分離該熱備件
# 例如: 如果替換故障磁盤後,sdf仍為活動熱備件,則對其進行附加
# 例如: 如果替換故障磁盤後,sdf仍為活動熱備件,則對其進行分離
$ sudo zpool attach testpool sdf
$ sudo zpool detach testpoll sdf

# 當裝置發生故障或損壞,我們可以使用replace指令替換故障磁盤sdc
$ sudo zpool replace testpool sdc sdd

# 在鏡像配置當中我們将爆力的測試一個裝置
$ sudo zpool create -f testpool mirror sdd sde

# 這将建立一個鏡像磁盤池組成的SDD和SDE
# 現在,讓我們故意損壞SDD寫零到磁盤中
$ sudo dd if=/dev/zero of=/dev/sdd

# 我們将使用“scrub”指令來檢測這種損壞
$ sudo zpool scrub testpool

# 現在我們用SDC替換SDD
$ sudo zpool replace testpool sdd sdc; zpool status
           

7. 在 ZFS 池的遷移

很少會使用到,如果使用到的話,可以檢視檢視連結!
  • 我們可以使用導出和導入指令在不同的主機之間遷移存儲池,需要注意的是,在池中使用的磁盤應該從兩個系統中可用,才能正常遷移資料。
[root@li1467-130 ~]# zpool export testpool
[root@li1467-130 ~]# zpool status
no pools available
           
  • 使用 zpool import 指令列出所有可以利用的池。
[root@li1467-131 ~]# zpool import
pool: testpool
id: 3823664125009563520
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
testpool ONLINE
sdc ONLINE
sdd ONLINE
sde ONLINE
           
  • 執行這個系統指令,現在導入要求的池。
[root@li1467-131 ~]# zpool import testpool
[root@li1467-131 ~]# zpool status
  pool: testpool
 state: ONLINE
  scan: none requested
config:
    NAME     STATE  READ WRITE CKSUM
    testpool ONLINE    0     0     0
        sdc  ONLINE    0     0     0
        sdd  ONLINE    0     0     0
        sde  ONLINE    0     0     0
errors: No known data errors
           

文章作者: Escape

文章連結: https://www.escapelife.site/posts/caf259ea.html