かいていちゅう

過去記事:CentOS/zfs

zfsはオラクル様で作られたファイルシステム. 本当はSun Microsystems かな 現在はOpenZFSが音頭を取ってる. Linux向けには ZFS on Linux としてリリースされている.
本家様 https://openzfs.org/wiki/Main_Page
ドキュメント https://openzfs.github.io/openzfs-docs/
ZFS on Linux: https://zfsonlinux.org/

ここではRockyLinux8にOpenZFSを入れてみる.

導入

専用のリポジトリを追加します.
導入にはdkms版とkABI版がある. ここでは dkms 版を使います. kABI版はよく分からん

まずはdkms環境を準備します

[root@rockylinux8zfs ~]# dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
[root@rockylinux8zfs ~]# dnf groupinstall "Development Tools"
[root@rockylinux8zfs ~]# dnf install epel-release
[root@rockylinux8zfs ~]# dnf install dkms

次にOpenZFSのリポジトリを導入します.
OSバージョン毎のリポジトリはhttps://openzfs.github.io/openzfs-docs/Getting%20Started/RHEL-based%20distro/index.htmlを参照して下記のように入れる.

[root@rockylinux8zfs ~]# dnf install https://zfsonlinux.org/epel/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm

そしてzfsカーネルモジュールを導入します

[root@rockylinux8zfs ~]# dnf install zfs

関連パッケージのインストール後に dkms経由で zfs カーネルモジュールが作成されます

[root@rockylinux8zfs ~]# ls -l /lib/modules/$(uname -r)/extra
total 1364
-rw-r--r--. 1 root root 100316 Jul 21 13:44 icp.ko.xz
-rw-r--r--. 1 root root  40044 Jul 21 13:44 spl.ko.xz
-rw-r--r--. 1 root root   4904 Jul 21 13:44 zavl.ko.xz
-rw-r--r--. 1 root root  29464 Jul 21 13:44 zcommon.ko.xz
-rw-r--r--. 1 root root 921160 Jul 21 13:44 zfs.ko.xz
-rw-r--r--. 1 root root  68996 Jul 21 13:44 zlua.ko.xz
-rw-r--r--. 1 root root  23716 Jul 21 13:44 znvpair.ko.xz
-rw-r--r--. 1 root root  32500 Jul 21 13:44 zunicode.ko.xz
-rw-r--r--. 1 root root 161824 Jul 21 13:44 zzstd.ko.xz
 
[root@rockylinux8zfs ~]# dkms status
zfs/2.1.12, 4.18.0-477.10.1.el8_8.x86_64, x86_64: installed
 
[root@rockylinux8zfs ~]#

作ったカーネルモジュールを組み込んでみます

[root@rockylinux8zfs ~]# modprobe zfs
[root@rockylinux8zfs ~]# lsmod |grep zfs
zfs                  3887104  0
zunicode              335872  1 zfs
zzstd                 512000  1 zfs
zlua                  176128  1 zfs
zavl                   16384  1 zfs
icp                   319488  1 zfs
zcommon               102400  2 zfs,icp
znvpair                90112  2 zfs,zcommon
spl                   114688  6 zfs,icp,zzstd,znvpair,zcommon,zavl
[root@rockylinux8zfs ~]#

もし「modprobe zfs」で
modprobe: ERROR: could not insert 'zfs': Required key not available
と表示されるなら、、これはセキュアブート関連で、セキュアブートを無効いすれば大丈夫みたい.

これでzfsのカーネルモジュールの組み込みが完了しました

構築

次に複数のHDDを使ったzfsストレージプールを作成します.
windows10らと同じようにまずはストレージプールを作ってそこからマウント領域を切り出して使う感じです.
ストレージプールの作成段階でそのプールの性質というか筋が決まります.
ストライプにするかパリティーを持たせるかとかです. RAIDで言うなら RAID10, RAID1, RAID5, RAID6..とか

ここでは4つのドライブがあるのでRAIDZ構成で作ってみる
ドライブの指定方法は、ドキュメントによれば10個以内なら /dev/disk/by-id/ を使い、10個以上なら /dev/disk/by-path/ の使用を推奨している.

また44 slotsとか90slotsのJBODとかなら別途 /etc/zfs/vdev_id.conf ファイルを作成して簡便に済ますことも可能みたい.

*この選択が非常に重要... もしHDDが飛んだ際、交換対象がどこであるかと示しやすいように. /dev/sdXだと最悪かな. JBOD装置だとこの辺は楽かな

[root@rockylinux8zfs ~]# ls -l /dev/disk/by-path/
total 0
lrwxrwxrwx. 1 root root  9 Jul 21 14:06 pci-0000:02:02.0-ata-1 -> ../../sr0
lrwxrwxrwx. 1 root root  9 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:0:0 -> ../../sda
lrwxrwxrwx. 1 root root 10 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx. 1 root root 10 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:0:0-part2 -> ../../sda2
lrwxrwxrwx. 1 root root 10 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:0:0-part3 -> ../../sda3
lrwxrwxrwx. 1 root root 10 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:0:0-part4 -> ../../sda4
lrwxrwxrwx. 1 root root  9 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:1:0 -> ../../sdb
lrwxrwxrwx. 1 root root  9 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:2:0 -> ../../sdc
lrwxrwxrwx. 1 root root  9 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:3:0 -> ../../sdd
lrwxrwxrwx. 1 root root  9 Jul 21 14:06 pci-0000:03:00.0-scsi-0:0:4:0 -> ../../sde
[root@rockylinux8zfs ~]#
 
(raid-zでストレージプールを作成)
[root@rockylinux8zfs ~]# zpool create tank raidz \
           pci-0000:03:00.0-scsi-0:0:1:0 \
           pci-0000:03:00.0-scsi-0:0:2:0 \
           pci-0000:03:00.0-scsi-0:0:3:0 \
           pci-0000:03:00.0-scsi-0:0:4:0
 
(確認)
[root@rockylinux8zfs ~]# zpool status tank
  pool: tank
 state: ONLINE
config:
 
        NAME                               STATE     READ WRITE CKSUM
        tank                               ONLINE       0     0     0
          raidz1-0                         ONLINE       0     0     0
            pci-0000:03:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            pci-0000:03:00.0-scsi-0:0:2:0  ONLINE       0     0     0
            pci-0000:03:00.0-scsi-0:0:3:0  ONLINE       0     0     0
            pci-0000:03:00.0-scsi-0:0:4:0  ONLINE       0     0     0
 
errors: No known data errors
[root@rockylinux8zfs ~]#

*ESXiでby-idで構築するなら、「構成パラメータ」で「disk.EnableUUID = TRUE」を入れる必要がある

mount

「zpool create」で用意したストレージプール名称がmountポイントとなる.
この作ったストレージプールから必要量を切り出して、特定のmountpointに配置するのが一般的みたい

[root@rockylinux8zfs ~]# df -lTh -F zfs
Filesystem     Type  Size  Used Avail Use% Mounted on
tank           zfs    93G  128K   93G   1% /tank
[root@rockylinux8zfs ~]#

この場所を変更するには「zfs set mountpoint」で行います。事前に現在のmountpointは「zfs get mountpoint」で得られる

[root@centos8-zfs ~]# zfs get mountpoint
NAME  PROPERTY    VALUE       SOURCE
tank  mountpoint  /tank       default
 
[root@centos8-zfs ~]# zfs set mountpoint=/data tank
 
[root@centos8-zfs ~]# zfs get mountpoint
NAME  PROPERTY    VALUE       SOURCE
tank  mountpoint  /data       local
 
[root@centos8-zfs ~]# df -lTh -F zfs
Filesystem     Type  Size  Used Avail Use% Mounted on
tank           zfs    23G  128K   23G   1% /data
[root@centos8-zfs ~]#

データを流し込んでみた

[root@centos8-zfs ~]# df -lTh -F zfs
Filesystem     Type  Size  Used Avail Use% Mounted on
tank           zfs    23G   13G   11G  55% /data
 
[root@centos8-zfs ~]# ls -lh /data
total 13G
-rw-r--r--. 1 root root 7.7G Jul 22 23:42 CentOS-8.2.2004-x86_64-dvd1.iso
-rw-r--r--. 1 root root 4.8G Aug  9  2017 en_visual_studio_community_2013_with_update_5_x86_dvd_6816332.iso
 
[root@centos8-zfs ~]#

ストレージプールにディスクを追加

一旦マシンを止めて、新に 16GBのHDDを追加して再起動します.
新規のHDDは/dev/sdbとして認識され、by-pathでは「pci-0000:04:00.0-scsi-0:0:0:0」と認識されている.

[root@centos8-zfs ~]# cat /proc/partitions
major minor  #blocks  name
 
   8       16   16777216 sdb
   8        0    8388608 sda
 :
[root@centos8-zfs ~]# ls -l /dev/disk/by-path/ |grep sdb
lrwxrwxrwx. 1 root root  9 Jul 25 05:38 pci-0000:04:00.0-scsi-0:0:0:0 -> ../../sdb

まあ、失敗するのだが、HDD4本で作ったRAID-ZなストレージプールにHDDを1個追加はできない.

[root@centos8-zfs ~]# zpool add tank raidz pci-0000:04:00.0-scsi-0:0:0:0
invalid vdev specification: raidz requires at least 2 devices
 
(二個なら)
[root@centos8-zfs ~]# zpool add tank raidz pci-0000:04:00.0-scsi-0:0:0:0 pci-0000:04:00.0-scsi-0:0:1:0
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses 4-way raidz and new vdev uses 2-way raidz
 
(三個なら)
[root@centos8-zfs ~]# zpool add tank raidz pci-0000:04:00.0-scsi-0:0:0:0 pci-0000:04:00.0-scsi-0:0:1:0 pci-0000:04:00.0-scsi-0:0:2:0
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses 4-way raidz and new vdev uses 3-way raidz
 
[root@centos8-zfs ~]#

このようなエラーが生じされる。っで4個だと

[root@centos8-zfs ~]# zpool add tank raidz \
     pci-0000:04:00.0-scsi-0:0:0:0 \
     pci-0000:04:00.0-scsi-0:0:1:0 \
     pci-0000:04:00.0-scsi-0:0:2:0 \
     pci-0000:04:00.0-scsi-0:0:3:0
 
[root@centos8-zfs ~]#

とエラーなく完了して

[root@centos8-zfs ~]# zpool status
  pool: tank
 state: ONLINE
  scan: none requested
config:
 
        NAME                               STATE     READ WRITE CKSUM
        tank                               ONLINE       0     0     0
          raidz1-0                         ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:2:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0  ONLINE       0     0     0
          raidz1-1                         ONLINE       0     0     0
            pci-0000:04:00.0-scsi-0:0:0:0  ONLINE       0     0     0
            pci-0000:04:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            pci-0000:04:00.0-scsi-0:0:2:0  ONLINE       0     0     0
            pci-0000:04:00.0-scsi-0:0:3:0  ONLINE       0     0     0
 
errors: No known data errors
[root@centos8-zfs ~]#

と新たな「raidz1-1」として構成され、ストレージプール「tank」に組み込まれる

ストレージプールの構成要素を外してみる...できない

ここで

[root@centos8-zfs ~]# zpool list -v
NAME                                SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
tank                                 95G  16.6G  78.4G        -         -     0%    17%  1.00x    ONLINE  -
  raidz1                           31.5G  16.6G  14.9G        -         -     0%  52.8%      -  ONLINE
    pci-0000:13:00.0-scsi-0:0:0:0      -      -      -        -         -      -      -      -  ONLINE
    pci-0000:13:00.0-scsi-0:0:1:0      -      -      -        -         -      -      -      -  ONLINE
    pci-0000:13:00.0-scsi-0:0:2:0      -      -      -        -         -      -      -      -  ONLINE
    pci-0000:13:00.0-scsi-0:0:3:0      -      -      -        -         -      -      -      -  ONLINE
  raidz1                           63.5G    49K  63.5G        -         -     0%  0.00%      -  ONLINE
    pci-0000:04:00.0-scsi-0:0:0:0      -      -      -        -         -      -      -      -  ONLINE
    pci-0000:04:00.0-scsi-0:0:1:0      -      -      -        -         -      -      -      -  ONLINE
    pci-0000:04:00.0-scsi-0:0:2:0      -      -      -        -         -      -      -      -  ONLINE
    pci-0000:04:00.0-scsi-0:0:3:0      -      -      -        -         -      -      -      -  ONLINE
[root@centos8-zfs ~]#

で、新しく作った場所(raidz1-1)を外せるかなって思ったのだが、

[root@centos8-zfs ~]# zpool remove tank raidz1-1
cannot remove raidz1-1: invalid config; all top-level vdevs must have the same sector size and not be raidz.
 
[root@centos8-zfs ~]#

とまだできないご様子。目下「zpool removal」ができるのはストライプとミラー構成だけのご様子.

RAID-Zを構成する1つのHDDがこけた.

[root@centos8-zfs ~]# zpool status
  pool: tank
 state: ONLINE
  scan: none requested
config:
 
        NAME                               STATE     READ WRITE CKSUM
        tank                               ONLINE       0     0     0
          raidz1-0                         ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:2:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0  ONLINE       0     0     0
 
errors: No known data errors
[root@centos8-zfs ~]#

この状態で1個のHDDをわざと故障させてみる. っと言ってもesxiなので、この仮想マシンをshutdownしてRAID-Zを構成しているHDDを削除します
2020y07m26d_054126567.png
ちょうどscsi1:2に該当する「pci-0000:13:00.0-scsi-0:0:2:0」に該当する部分を削除しました。
scsi1:2は、仮想マシンのscsiボードの2chの3番目を使っている意味であるが、、、この辺はscsiの知識が必要

それで再起動を掛けます

ファイルは存在しているものの、

[root@centos8-zfs ~]# ls -lh /data/
total 11G
-rw-r--r--. 1 root root 7.7G Jul 22 23:42 CentOS-8.2.2004-x86_64-dvd1.iso
-rw-r--r--. 1 root root 4.8G Aug  9  2017 en_visual_studio_community_2013_with_update_5_x86_dvd_6816332.iso
 
[root@centos8-zfs ~]#

「zpool status」からはエラー表示となる

[root@centos8-zfs ~]# zpool status
  pool: tank
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
        invalid.  Sufficient replicas exist for the pool to continue
        functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: none requested
config:
 
        NAME                               STATE     READ WRITE CKSUM
        tank                               DEGRADED     0     0     0
          raidz1-0                         DEGRADED     0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            4296232046464137477            UNAVAIL      0     0     0  was /dev/disk/by-path/pci-0000:13:00.0-scsi-0:0:2:0-part1
            pci-0000:13:00.0-scsi-0:0:3:0  ONLINE       0     0     0
 
errors: No known data errors
[root@centos8-zfs ~]#

既にesxiでvmdkファイルを削除したので、再度HDDをesxiにて用意します。その際、同じくscsi1:2に用意します。別でも構わないが。
仮想マシンは起動中です 起動しながらHDDをリムーバブルslotに入れた状態でしょうか
2020y07m26d_055144543.png
その直後、dmesを確認すると、HDDが装着されたことが分かります。

[  802.174968] vmw_pvscsi: msg type: 0x0 - MSG RING: 1/0 (5)
[  802.174969] vmw_pvscsi: msg: device added at scsi0:2:0
[  802.175676] scsi 3:0:2:0: Direct-Access     VMware   Virtual disk     1.0  PQ: 0 ANSI: 2
[  802.176072] sd 3:0:2:0: Attached scsi generic sg5 type 0
[  802.176277] sd 3:0:2:0: [sde] 16777216 512-byte logical blocks: (8.59 GB/8.00 GiB)
[  802.176316] sd 3:0:2:0: [sde] Write Protect is off
[  802.176317] sd 3:0:2:0: [sde] Mode Sense: 61 00 00 00
[  802.176355] sd 3:0:2:0: [sde] Cache data unavailable
[  802.176356] sd 3:0:2:0: [sde] Assuming drive cache: write through
[  802.177481] sd 3:0:2:0: [sde] Attached SCSI disk
 :

この「sde」は

[root@centos8-zfs ~]# ls -l /dev/disk/by-path/ | grep sde
lrwxrwxrwx. 1 root root  9 Jul 26 05:55 pci-0000:13:00.0-scsi-0:0:2:0 -> ../../sde
 
[root@centos8-zfs ~]#

と認識されました。

留意

元の場所に差し込んだから、自動的にre-buildされてRAID-Zが元に戻る....訳ではありません

自分で操作しないと正常には戻りません. この辺、HW-RAIDカードが楽かなぁーって思う箇所かな

っで作業は「zpool replace」コマンドを使います。

[root@centos8-zfs ~]# zpool replace tank pci-0000:13:00.0-scsi-0:0:2:0
 
(確認)
[root@centos8-zfs ~]# zpool status
  pool: tank
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Sun Jul 26 06:04:44 2020
        13.6G scanned at 2.71G/s, 161M issued at 32.3M/s, 13.6G total
        36.2M resilvered, 1.16% done, 0 days 00:07:05 to go
config:
 
        NAME                                 STATE     READ WRITE CKSUM
        tank                                 DEGRADED     0     0     0
          raidz1-0                           DEGRADED     0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0    ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:1:0    ONLINE       0     0     0
            replacing-2                      DEGRADED     0     0     0
              4296232046464137477            UNAVAIL      0     0     0  was /dev/disk/by-path/pci-0000:13:00.0-scsi-0:0:2:0-part1/old
              pci-0000:13:00.0-scsi-0:0:2:0  ONLINE       0     0     0  (resilvering)
            pci-0000:13:00.0-scsi-0:0:3:0    ONLINE       0     0     0
 
errors: No known data errors
[root@centos8-zfs ~]#

っでre-buildが完了すると元に戻る

[root@centos8-zfs ~]# zpool status
  pool: tank
 state: ONLINE
  scan: resilvered 3.39G in 0 days 00:04:52 with 0 errors on Sun Jul 26 06:09:36 2020
config:
 
        NAME                               STATE     READ WRITE CKSUM
        tank                               ONLINE       0     0     0
          raidz1-0                         ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:2:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0  ONLINE       0     0     0
 
errors: No known data errors
[root@centos8-zfs ~]#

*autoreplaceを有効(zpool set autoreplace=on <pool名>)にすれば同じスロットに交換用HDDを入れると自動的にreplaceしてくれるようなのだが、仮想マシン環境では確認できなかった.

Hotspare-HDDを設置

仮想マシンにHDDを追加した.

[root@centos8-zfs ~]# cat /proc/partitions | grep sde
   8       64    8388608 sde
[root@centos8-zfs ~]# ls -l /dev/disk/by-path/|grep sde
lrwxrwxrwx. 1 root root  9 Jul 26 06:33 pci-0000:13:00.0-scsi-0:0:4:0 -> ../../sde
[root@centos8-zfs ~]#

この「pci-0000:13:00.0-scsi-0:0:4:0」をtankのhot spareとして追加してみる

[root@centos8-zfs ~]# zpool add tank spare pci-0000:13:00.0-scsi-0:0:4:0
[root@centos8-zfs ~]# zpool status
  pool: tank
 state: ONLINE
  scan: resilvered 3.39G in 0 days 00:05:24 with 0 errors on Sun Jul 26 06:43:33 2020
config:
 
        NAME                               STATE     READ WRITE CKSUM
        tank                               ONLINE       0     0     0
          raidz1-0                         ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:2:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0  ONLINE       0     0     0
        spares
          pci-0000:13:00.0-scsi-0:0:4:0    AVAIL
 
errors: No known data errors
 
[root@centos8-zfs ~]#

「autoreplace」を有効にして、仮想マシンを一旦shutdownして、RAID-Zを構成するHDDを一つ削除してみる

[root@centos8-zfs ~]# zpool get autoreplace tank
NAME  PROPERTY     VALUE    SOURCE
tank  autoreplace  off      default
 
[root@centos8-zfs ~]# zpool set autoreplace=on tank
 
[root@centos8-zfs ~]# zpool get autoreplace tank
NAME  PROPERTY     VALUE    SOURCE
tank  autoreplace  on       local
 
[root@centos8-zfs ~]#

っで再起動を行ったのだが、、、spareからの流用はなかった. 仮想マシンでは無理なのかな?
仕方ないので手動でreplaceを行った
「zpool replace <pool名> <元の場所> <交換するHDD>」

[root@centos8-zfs ~]# zpool replace tank   pci-0000:13:00.0-scsi-0:0:1:0    pci-0000:13:00.0-scsi-0:0:4:0
[root@centos8-zfs ~]# zpool status
  pool: tank
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Sun Jul 26 07:10:38 2020
        13.6G scanned at 2.71G/s, 82.7M issued at 16.5M/s, 13.6G total
        17.9M resilvered, 0.60% done, 0 days 00:13:54 to go
config:
 
        NAME                                 STATE     READ WRITE CKSUM
        tank                                 DEGRADED     0     0     0
          raidz1-0                           DEGRADED     0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0    ONLINE       0     0     0
            spare-1                          DEGRADED     0     0     0
              7173616995987023127            UNAVAIL      0     0     0  was /dev/disk/by-path/pci-0000:13:00.0-scsi-0:0:1:0-part1
              pci-0000:13:00.0-scsi-0:0:4:0  ONLINE       0     0     0  (resilvering)
            pci-0000:13:00.0-scsi-0:0:2:0    ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0    ONLINE       0     0     0
        spares
          pci-0000:13:00.0-scsi-0:0:4:0      INUSE     currently in use
 
errors: No known data errors
[root@centos8-zfs ~]#

re-buidが完了すると下記のようになる.

[root@centos8-zfs ~]# zpool status
  pool: tank
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
        invalid.  Sufficient replicas exist for the pool to continue
        functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: resilvered 3.39G in 0 days 00:05:57 with 0 errors on Sun Jul 26 07:16:35 2020
config:
 
        NAME                                 STATE     READ WRITE CKSUM
        tank                                 DEGRADED     0     0     0
          raidz1-0                           DEGRADED     0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0    ONLINE       0     0     0
            spare-1                          DEGRADED     0     0     0
              7173616995987023127            UNAVAIL      0     0     0  was /dev/disk/by-path/pci-0000:13:00.0-scsi-0:0:1:0-part1
              pci-0000:13:00.0-scsi-0:0:4:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:2:0    ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0    ONLINE       0     0     0
        spares
          pci-0000:13:00.0-scsi-0:0:4:0      INUSE     currently in use
 
errors: No known data errors
[root@centos8-zfs ~]#

Hot spareが代替となったとしても「DEGRADED」の認識みたい. 一応「spare-1」にて問題は解消されているのだが、、
っで、故障とさせたslotにHDDを入れてみる
そして

[root@centos8-zfs ~]# zpool replace tank pci-0000:13:00.0-scsi-0:0:1:0
[root@centos8-zfs ~]# zpool status
  pool: tank
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Sun Jul 26 07:31:25 2020
        13.6G scanned at 1.94G/s, 136M issued at 19.4M/s, 13.6G total
        29.8M resilvered, 0.98% done, 0 days 00:11:48 to go
config:
 
        NAME                                   STATE     READ WRITE CKSUM
        tank                                   DEGRADED     0     0     0
          raidz1-0                             DEGRADED     0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0      ONLINE       0     0     0
            spare-1                            DEGRADED     0     0     0
              replacing-0                      DEGRADED     0     0     0
                7173616995987023127            UNAVAIL      0     0     0  was /dev/disk/by-path/pci-0000:13:00.0-scsi-0:0:1:0-part1/old
                pci-0000:13:00.0-scsi-0:0:1:0  ONLINE       0     0     0  (resilvering)
              pci-0000:13:00.0-scsi-0:0:4:0    ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:2:0      ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0      ONLINE       0     0     0
        spares
          pci-0000:13:00.0-scsi-0:0:4:0        INUSE     currently in use
 
errors: No known data errors
[root@centos8-zfs ~]#

暫くすと、

[root@centos8-zfs ~]# zpool status
  pool: tank
 state: ONLINE
  scan: resilvered 3.39G in 0 days 00:08:22 with 0 errors on Sun Jul 26 07:59:10 2020
config:
 
        NAME                               STATE     READ WRITE CKSUM
        tank                               ONLINE       0     0     0
          raidz1-0                         ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:0:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:1:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:2:0  ONLINE       0     0     0
            pci-0000:13:00.0-scsi-0:0:3:0  ONLINE       0     0     0
        spares
          pci-0000:13:00.0-scsi-0:0:4:0    AVAIL
 
errors: No known data errors
[root@centos8-zfs ~]#

と元に戻る

最新の60件
2025-04-27 2025-04-26 2025-04-25 2025-04-24 2025-04-17 2025-04-15 2025-04-13 2025-04-02 2025-04-01 2025-03-31 2025-03-29 2025-03-28 2025-03-27 2025-03-26 2025-03-23 2025-03-22 2025-03-20 2025-03-17 2025-03-16 2025-03-15 2025-03-06 2025-03-03 2025-03-01 2025-02-18 2025-02-17 2025-02-14 2025-02-12 2025-02-03 2025-02-02 2025-01-27 2025-01-26 2025-01-25 2025-01-24 2025-01-23

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-07-22 (土) 03:12:20