私的サーバー構築日誌：ZFS HDD交換・Ubuntu 24.04 LTS in MicroServer N54L

## 能書き

[私的サーバー構築日誌：仕切り直し](https://qiita.com/katz_engineer/items/1f21de2bd9072c260ae6)からの自宅サーバー構築の続きです。

[前回](https://qiita.com/katz_engineer/items/bd96a26e0a65ceb28ff7)Ubuntu24.04LTSをインストールしてZFSで使うように設定したのですが、そのHDDの内の1台がお亡くなりになってしまいました。というわけでHDDを交換します。今回はその作業の記録になります。

ぐぐってみると、LinuxでRAID-Z2のHDD交換記事はあまり見当たりませんな。皆さんFreeBSDのようで。

## 作業準備

### 電源を入れてimport

HDDの1台がお亡くなりになった事が分かった日に、念のため電源を切ってしまっていました。そのため電源を入れる所からの作業になります。

- 電源を入れる
- 普段使いのマシンから```ssh```接続

```console
$ sudo zpool import
   pool: tank
     id: 2891006712653798077
  state: ONLINE
status: Some supported features are not enabled on the pool.
        (Note that they may be intentionally disabled if the
        'compatibility' property is set.)
 action: The pool can be imported using its name or numeric identifier, though
        some features will not be available without an explicit 'zpool upgrade'.
 config:

        tank        ONLINE
          raidz2-0  ONLINE
            sdb     ONLINE
            sdc     ONLINE
            sdd     ONLINE
            sda     ONLINE
            sde     ONLINE
```

インポートします。マウント先は```/mnt/tank```にします。

```console
sudo zpool import -R /mnt -f tank
```

結果確認。

```console
$ zpool list
NAME   SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
tank  2.26T  1.32T   960G        -        8G    37%    58%  1.00x    ONLINE  /mnt
$ zpool status
  pool: tank
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
  scan: resilvered 1.52M in 00:00:05 with 0 errors on Sat Nov 16 16:19:56 2024
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sde     ONLINE       1     0     0

errors: No known data errors
```

### バックアップ

バックアップ大事。超大事。

[前回](https://qiita.com/katz_engineer/items/bd96a26e0a65ceb28ff7)作業時にバックアップをとっていますが、念の為に、今回作業直前に取り直します。

まずは事前に、USB接続ストレージを確認。

```console
$ ls -l /dev/disk/by-id | grep usb
lrwxrwxrwx 1 root root  9 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0 -> ../../sdf
lrwxrwxrwx 1 root root 10 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0-part2 -> ../../sdf2
lrwxrwxrwx 1 root root 10 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0-part3 -> ../../sdf3
```

これは起動用のUSBメモリ？ですね。
ここで外付け4TBのHDDをUSB接続して、再度確認します。

```console
$ ls -l /dev/disk/by-id | grep usb
lrwxrwxrwx 1 root root  9 Nov 16 16:42 usb-Logitec_LGB_USB_Device_2B3100000000033E-0:0 -> ../../sdg
lrwxrwxrwx 1 root root 10 Nov 16 16:42 usb-Logitec_LGB_USB_Device_2B3100000000033E-0:0-part1 -> ../../sdg1
lrwxrwxrwx 1 root root 10 Nov 16 16:42 usb-Logitec_LGB_USB_Device_2B3100000000033E-0:0-part2 -> ../../sdg2
lrwxrwxrwx 1 root root  9 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0 -> ../../sdf
lrwxrwxrwx 1 root root 10 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0-part2 -> ../../sdf2
lrwxrwxrwx 1 root root 10 Nov 16 16:13 usb-Verbatim_STORE_N_GO_0710584F1A3C7F51-0:0-part3 -> ../../sdf3
```

増えたのは```sdg```のようですな。これをマウントします。まずはマウントポイントを作成。

```console
$ sudo mkdir /mnt/backup
```

マウント。

```console
$ sudo mount /dev/sdg /mnt/backup
mount: /mnt/backup: wrong fs type, bad option, bad superblock on /dev/sdg, missing codepage or helper program, or other error.
       dmesg(1) may have more information after failed mount system call.
$ sudo mount /dev/sdg1 /mnt/backup
mount: /mnt/backup: wrong fs type, bad option, bad superblock on /dev/sdg1, missing codepage or helper program, or other error.
       dmesg(1) may have more information after failed mount system call.
```

あれあれ…？
そうか、zfsフォーマットしたのかも知れません。

```console
$ sudo zpool import
   pool: extra1
     id: 10279878555798217878
  state: ONLINE
status: Some supported features are not enabled on the pool.
        (Note that they may be intentionally disabled if the
        'compatibility' property is set.)
 action: The pool can be imported using its name or numeric identifier, though
        some features will not be available without an explicit 'zpool upgrade'.
 config:

        extra1      ONLINE
          sdg       ONLINE

   pool: tank
     id: 18233389827505880159
  state: DEGRADED
status: One or more devices contains corrupted data.
 action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
 config:

        tank                                            DEGRADED
          mirror-0                                      DEGRADED
            ata-Hitachi_HTS723232A7A364_E3834263EDYUAD  UNAVAIL
            zd0                                         ONLINE
```

```pool: tank```が良く分かりませんが、とりあえず放置。```pool: extra1```をimportします。
先に、さっき作ってしまったマウントポイントを削除しましょう。

```console
sudo rmdir /mnt/backup
```

それからimport。

```console
sudo zpool import -R /mnt extra1
```

確認。

```console
$ zpool list
NAME     SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
extra1  3.62T  1.83T  1.80T        -         -    27%    50%  1.00x    ONLINE  /mnt
tank    2.26T  1.32T   960G        -        8G    37%    58%  1.00x    ONLINE  /mnt
```

[前回](https://qiita.com/katz_engineer/items/bd96a26e0a65ceb28ff7)のバックアップ場所は、多分、下記です。

```console
$ ls -dl /mnt/extra1/bak_tank
drwxr-xr-x 6 root root 6 Jun  6 19:10 /mnt/extra1/bak_tank
```

空き容量は何とかなりそうなので、```tank```の1.32TB(?)を```extra1```に```cp -R -p```します。

```console
$ sudo cp -R -p /mnt/tank /mnt/extra1/bak_tank2 &
[1] 2883
$ ps -ax | grep tank
   2883 pts/0    S      0:00 sudo cp -R -p /mnt/tank /mnt/extra1/bak_tank2
   2884 pts/1    Ss+    0:00 sudo cp -R -p /mnt/tank /mnt/extra1/bak_tank2
   2885 pts/1    D      0:07 cp -R -p /mnt/tank /mnt/extra1/bak_tank2
   2891 pts/0    S+     0:00 grep --color=auto tank
```

後は```cp```コマンドが完了するまで待ちます。外付けUSB接続ストレージが止まったのを見計らって確認。

```console
$ ps -ax | grep tank
  19681 pts/0    S+     0:00 grep --color=auto tank
```

```cp -R -p```プロセスが無くなったので、完了したようです。バックアップ完了を確認できたので、外付けUSB接続ストレージをexportします。

```console
sudo zpool export extra1
```

一応確認。

```console
$ zpool list
NAME   SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
tank  2.26T  1.32T   960G        -        8G    37%    58%  1.00x  DEGRADED  /mnt
```

無事にexportできたようです。そうしたらバックアップ用の外付けUSB接続ストレージを物理的に取り外します。

### 交換用新ディスクの準備

交換用新ディスクを外付けUSB接続ストレージとして繋ぎます。そして確認。

```console
$ ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 Nov 19 15:31 /dev/sda
brw-rw---- 1 root disk 8,  1 Nov 19 15:31 /dev/sda1
brw-rw---- 1 root disk 8,  2 Nov 19 15:34 /dev/sda2
brw-rw---- 1 root disk 8, 16 Nov 19 15:31 /dev/sdb
brw-rw---- 1 root disk 8, 17 Nov 19 15:31 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Nov 19 15:34 /dev/sdb2
brw-rw---- 1 root disk 8, 32 Nov 19 15:31 /dev/sdc
brw-rw---- 1 root disk 8, 33 Nov 19 15:31 /dev/sdc1
brw-rw---- 1 root disk 8, 34 Nov 19 15:34 /dev/sdc2
brw-rw---- 1 root disk 8, 48 Nov 19 15:31 /dev/sdd
brw-rw---- 1 root disk 8, 49 Nov 19 15:31 /dev/sdd1
brw-rw---- 1 root disk 8, 50 Nov 19 15:34 /dev/sdd2
brw-rw---- 1 root disk 8, 64 Nov 19 15:31 /dev/sde
brw-rw---- 1 root disk 8, 65 Nov 19 15:31 /dev/sde1
brw-rw---- 1 root disk 8, 66 Nov 19 15:34 /dev/sde2
brw-rw---- 1 root disk 8, 80 Nov 19 15:31 /dev/sdf
brw-rw---- 1 root disk 8, 81 Nov 19 15:31 /dev/sdf1
brw-rw---- 1 root disk 8, 82 Nov 19 15:31 /dev/sdf2
brw-rw---- 1 root disk 8, 83 Nov 19 15:31 /dev/sdf3
brw-rw---- 1 root disk 8, 96 Nov 19 15:36 /dev/sdg
```

新ディスクは```/dev/sdg```ですね。これを```badblocks```します。HDD上のデータが消えるので注意。時間も掛かります。

```console
cd
sudo badblocks -w -o badblocks_sdg.txt /dev/sdg &
```

コマンドの終了は、例によって```ps```コマンドで確認します。

```console
$ ps -ax | grep badblocks
   1913 pts/0    S      0:00 sudo badblocks -w -o badblocks_sdg.txt /dev/sdg
   1914 pts/1    Ss+    0:00 sudo badblocks -w -o badblocks_sdg.txt /dev/sdg
   1915 pts/1    D      0:02 badblocks -w -o badblocks_sdg.txt /dev/sdg
   1917 pts/0    S+     0:00 grep --color=auto badblocks
```

数日掛かって完了しました。

```console
$ ps -ax | grep badblocks
  20720 pts/0    S+     0:00 grep --color=auto badblocks
```

バッドブロックの記録は無しです。新品のHDDなので明らかではあります。```badblocks```コマンド、要らなかったかも。

```console
$ ls -l badblocks_sdg.txt
-rw-r--r-- 1 root root 0 Nov 19 15:42 badblocks_sdg.txt
```

マウントしてないデバイスなので、このまま取り外します。大丈夫だよね…

## HDD交換

### 状況確認

現状を確認します。

```console
$ zpool status
  pool: tank
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
        The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(7) for details.
  scan: resilvered 1.26M in 00:00:05 with 0 errors on Tue Nov 19 15:34:13 2024
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sde     ONLINE       0     0     0

errors: No known data errors
```

```sde```が逝ってしまったはずなんですが、エラーが表示されません。念の為にscrubして確認します。

```console
$ sudo zpool scrub tank
$ zpool status
  pool: tank
 state: DEGRADED
status: One or more devices are faulted in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Replace the faulted device, or use 'zpool clear' to mark the device
        repaired.
  scan: scrub repaired 4.86M in 01:54:45 with 0 errors on Sat Nov 23 17:49:39 2024
config:

        NAME        STATE     READ WRITE CKSUM
        tank        DEGRADED     0     0     0
          raidz2-0  DEGRADED     0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sde     FAULTED    121     0     0  too many errors

errors: No known data errors
```

間違いありませんね、```sde```がお亡くなりです。上記で準備した1TBのHDDと交換します。
そうなんです、1TBです。コスパ（バイト単価）は2TBの方が上なのは承知してますが、小遣いの都合でして… 号泣。

因みにこのscrubは2時間近くで完了しました。

### 該当HDDをオフラインにする

前節でFAULTEDになっていた```sde```をオフラインにします。が、うまくいきません。

```console
$ sudo zpool offline tank sde
cannot offline sde: no such device in pool
```

デバイスのGUIDを指定する必要があるようです。

```console
$ zpool status -g
  pool: tank
 state: DEGRADED
status: One or more devices are faulted in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Replace the faulted device, or use 'zpool clear' to mark the device
        repaired.
  scan: scrub repaired 4.86M in 01:54:45 with 0 errors on Sat Nov 23 17:49:39 2024
config:

        NAME                      STATE     READ WRITE CKSUM
        tank                      DEGRADED     0     0     0
          5887850977561855789     DEGRADED     0     0     0
            15916779478375754287  ONLINE       0     0     0
            1891343347815713878   ONLINE       0     0     0
            17447701145463039710  ONLINE       0     0     0
            17420523610300470783  ONLINE       0     0     0
            4054386367982837609   FAULTED    121     0     0  too many errors

errors: No known data errors
$ sudo zpool offline tank 4054386367982837609
```

確認。

```console
$ zpool status
  pool: tank
 state: DEGRADED
status: One or more devices are faulted in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Replace the faulted device, or use 'zpool clear' to mark the device
        repaired.
  scan: scrub repaired 4.86M in 01:54:45 with 0 errors on Sat Nov 23 17:49:39 2024
config:

        NAME        STATE     READ WRITE CKSUM
        tank        DEGRADED     0     0     0
          raidz2-0  DEGRADED     0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sde     FAULTED    121     0     0  too many errors

errors: No known data errors
```

あれ、FAULTEDのままですね。良いのかな…いいや、放置して次の作業へ進みましょう。

### 該当HDDの特定

1台づつ抜いて状況確認して当たりを探す、のが通常手順でしょうか。調べたら```hdparm```というコマンドを発見しました。型番やシリアルナンバーなども表示されるようです。

```console
$ sudo hdparm -i /dev/sde

/dev/sde:

 Model=Hitachi HDS721010CLA332, FwRev=JP4OA3MA, SerialNo=JP9960HZ1Y9RGU
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=56
 BuffType=DualPortCache, BuffSize=29999kB, MaxMultSect=16, MultSect=off
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=yes: disabled (255) WriteCache=disabled
 Drive conforms to: unknown:  ATA/ATAPI-2,3,4,5,6,7

 * signifies the current active mode
```

### HDD交換

型番とシリアルナンバーをメモして電源を落とします。

```console
sudo shutdown -h now
```

電源が切れたら、1台づつHDDを抜いて型番とシリアルナンバーを確認します。型番は一致するデバイスがあったのですが、S/Nは一致しなかったですね… 正確には、```hdparm```コマンドで表示されたSerialNoの後半だけが、HDDに貼付されているシールに印刷されていました(S/N:HZ1Y9RGU)

ついでにマシンの中を掃除。

該当のHDDを抜いて、ここで一旦電源を入れて様子を見てみます。

```console
$ sudo zpool import
   pool: tank
     id: 2891006712653798077
  state: DEGRADED
status: One or more devices are offlined.
 action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
 config:

        tank        DEGRADED
          raidz2-0  DEGRADED
            sdb     ONLINE
            sdc     ONLINE
            sdd     ONLINE
            sda     ONLINE
            sde     OFFLINE
```

お、```sde```ドライブがOFFLINEになりました！そうです、これを確認したかったんです。確認できて満足したので、もう一度シャットダウン。

```console
sudo shutdown -h now
```

新しいHDDを入れて電源を入れます。そして```zpool import```コマンドで状況を確認。

```console
$ sudo zpool import
   pool: tank
     id: 2891006712653798077
  state: DEGRADED
status: One or more devices are offlined.
 action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
 config:

        tank        DEGRADED
          raidz2-0  DEGRADED
            sdb     ONLINE
            sdc     ONLINE
            sdd     ONLINE
            sda     ONLINE
            sde     OFFLINE
```

新しいデバイスを入れても```sde```はOFFLINEのままですな。

まずは```zpool import tank```します。

```console
$ sudo zpool import -R /mnt -f tank
$ sudo zpool import
   pool: tank
     id: 18233389827505880159
  state: DEGRADED
status: One or more devices contains corrupted data.
 action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
 config:

        tank                                            DEGRADED
          mirror-0                                      DEGRADED
            ata-Hitachi_HTS723232A7A364_E3834263EDYUAD  UNAVAIL
            zd0                                         ONLINE
$ zpool status
  pool: tank
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using 'zpool online' or replace the device with
        'zpool replace'.
  scan: scrub repaired 4.86M in 01:54:45 with 0 errors on Sat Nov 23 17:49:39 2024
config:

        NAME        STATE     READ WRITE CKSUM
        tank        DEGRADED     0     0     0
          raidz2-0  DEGRADED     0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sde     OFFLINE      0     0     0

errors: No known data errors
```

デバイスの置換の為に```zpool replace```コマンドを実行…の前に、念のため、```/dev/sde```が新しいデバイスである事を確認してみましょう。

```console
$ sudo hdparm -i /dev/sde

/dev/sde:

 Model=ST1000VN008-3CW10C, FwRev=SC60, SerialNo=WWD1E4QZ
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=no WriteCache=disabled
 Drive conforms to: unknown:  ATA/ATAPI-5,6,7

 * signifies the current active mode
```

今度はModel、SerialNoともに、HDD（に貼付のシール）に印刷してあるものと一致しました。

ではお待ちかねの```zpool replace```を。

```console
$ zpool status -g
  pool: tank
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using 'zpool online' or replace the device with
        'zpool replace'.
  scan: scrub repaired 4.86M in 01:54:45 with 0 errors on Sat Nov 23 17:49:39 2024
config:

        NAME                      STATE     READ WRITE CKSUM
        tank                      DEGRADED     0     0     0
          5887850977561855789     DEGRADED     0     0     0
            15916779478375754287  ONLINE       0     0     0
            1891343347815713878   ONLINE       0     0     0
            17447701145463039710  ONLINE       0     0     0
            17420523610300470783  ONLINE       0     0     0
            4054386367982837609   OFFLINE      0     0     0

errors: No known data errors
$ sudo zpool replace tank 4054386367982837609 /dev/sde
```

さて確認。

```console
$ 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 Nov 24 16:44:56 2024
        387G / 1.32T scanned at 1.83G/s, 1.23G / 1.32T issued at 5.98M/s
        235M resilvered, 0.09% done, no estimated completion time
config:

        NAME             STATE     READ WRITE CKSUM
        tank             DEGRADED     0     0     0
          raidz2-0       DEGRADED     0     0     0
            sdb          ONLINE       0     0     0
            sdc          ONLINE       0     0     0
            sdd          ONLINE       0     0     0
            sda          ONLINE       0     0     0
            replacing-4  DEGRADED     0     0     0
              sde        OFFLINE      0     0     0
              sde        ONLINE       0     0     0  (resilvering)

errors: No known data errors
```

おお、順調にresilverしています。そしておよそ数時間で終了しました。

```console
$ zpool status
  pool: tank
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
        The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(7) for details.
  scan: resilvered 267G in 08:26:09 with 0 errors on Mon Nov 25 01:11:05 2024
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sde     ONLINE       0     0     0

errors: No known data errors
```

これにてHDD交換完了です！

## 仕舞い

Ubuntu 24.04 LTS 上の zfs RAID-Z2 を構成するHDDを1台、実際に交換しました。その手順は以上になります。