また別のディスクが死ぬ。もう全体的にディスクが寿命なのかもしれない。
1回はSATAケーブルをクニュクニュして指し直したら直ったのでまあ気のせいかなとなったのだけど、怪しいなあとzpool scrubをかけたら、すぐに同じディスクが今度はCKSUMエラーを吐いてDEGRADEDになってたので、もうだめだとなる。
zpool scrub直後でまた死んだ時のエラー画面
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 2.22M in 14:41:53 with 0 errors on Sat Apr 15 02:00:55 2023 config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 ata-ST8000VN0022-2EL112_ZA196HJA ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA17B2GK ONLINE 0 0 0 ata-ST8000VN004-2M2101_WKD06BMA ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA196HT7 ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA1960WD FAULTED 84 0 4 too many errors ata-ST8000VN004-2M2101_WKD04ZFV ONLINE 0 0 0 cache nvme-INTEL_SSDPEKKW256G8_BTHH81951F1W256B ONLINE 0 0 0
新しいディスクに入れ替えた直後の画面。by-idのlabelで認識させているので当然再認識は自動ではされない。
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: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J scan: scrub repaired 2.22M in 14:41:53 with 0 errors on Sat Apr 15 02:00:55 2023 config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 ata-ST8000VN0022-2EL112_ZA196HJA ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA17B2GK ONLINE 0 0 0 ata-ST8000VN004-2M2101_WKD06BMA ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA196HT7 ONLINE 0 0 0 12282997723599972799 UNAVAIL 0 0 0 was /dev/disk/by-id/ata-ST8000VN0022-2EL112_ZA1960WD ata-ST8000VN004-2M2101_WKD04ZFV ONLINE 0 0 0 cache nvme-INTEL_SSDPEKKW256G8_BTHH81951F1W256B ONLINE 0 0 0
これから、以下のコマンドを実行してZFS poolに認識させる。一つ前のディスク交換のときにうっかり変なパーティションを残したまま接続させてしまって痛い目を見たので厳重に消しておく。(一度zpoolに取り込まれると、消そうがなんだろうがもとのパーティションを再生してしまうので絶対に直せなくなる)
dd if=/dev/zero of=/dev/disk/by-id/{new_disk_id} bs=1G count=1 fdisk /dev/disk/by-id/{new_disk_id} # 中でg→wを押してgpt partation tableだけを作成する sudo zpool replace tank 12282997723599972799 {new_disk_id}
認識させた直後の画面。resliverが自動で走る。だいたい完了までに1.5日くらいかかる(Seagate IronWolf 8TB)
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 Sat Apr 15 08:59:53 2023 977M scanned at 140M/s, 17.7M issued at 2.53M/s, 39.7T total 0B resilvered, 0.00% done, no estimated completion time config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 ata-ST8000VN0022-2EL112_ZA196HJA ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA17B2GK ONLINE 0 0 0 ata-ST8000VN004-2M2101_WKD06BMA ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA196HT7 ONLINE 0 0 0 replacing-4 DEGRADED 0 0 0 12282997723599972799 UNAVAIL 0 0 0 was /dev/disk/by-id/ata-ST8000VN0022-2EL112_ZA1960WD ata-ST8000VN004-2M2101_WSD9LC9T ONLINE 0 0 0 ata-ST8000VN004-2M2101_WKD04ZFV ONLINE 0 0 0 cache nvme-INTEL_SSDPEKKW256G8_BTHH81951F1W256B ONLINE 0 0 0 errors: No known data errors