OpenZFSへの移行とディスクトラブル

OpenZFSへの移行(方針と予備検討) - smectic-g’s blogで話した内容の詳細。

ハードウェア

HDD、HBA、ケースは続投で、MB, CPUその他を交換(2021-12-23)してファイルサーバとしてまず移行。
その後録画用PCを2022-01-10に移行。
ブログをタイムリーに更新できなかったので、OSのバージョンは2022-08-26現在。

【CPU】Core i5-10400
【M/B】Asrock H470M Pro4
【RAM】DDR4 16GBx2(CFD W4U2666CM-16GR)
【VGAintel 内蔵
【HDD】Samsung MZ-V8V1T0B/IT 1TB, Seagate IronWolf ST8000VN0022*6
【光学】無し
【LAN】MB内蔵(intelチップ)
【その他カード】アースソフト PT3
【HBA】LSI SAS 9207-8i 
【電源】FD-PSU-ION-SFX-500G-BK
【OS】Debian/GNU Linux Bullseye 11.4 (5.10.0-17-amd64)
【ケース】fractal design Node 804

HDDと電源の間のクリアランスが厳しくてケーブルにストレスが掛かってるという問題が合ったので、電源をSFXに変えて隙間を増やしてみた(が、結局同じディスクでトラブルが発生したので頭痛い)
現行ファイルサーバのパフォーマンス - smectic-g’s blog

ZFS関連

以下のマニュアルにある自動でマウントする関係の設定は全部入れたのだけど,再起動するとプールが自動で再マウントされない。
ZFS - ArchWiki
手動で以下のコマンドで再認識させると,sdbが見当たらないとかエラーが出る。とりあえず,
/etc/zfs/zpool.cacheへの登録はうまく動いているらしい。

sudo systemctl start zfs-import-cache.service

FreeBSDの方では,ある程度固有のidで認識された形でプールに登録できてたんだけど,linuxでインポートし直したときに,/dev/sd[a-f]としてしか認識されなかったのが問題らしい。/dev/sd[a-f]は認識順でどう割り振られるかがランダムなので,起動ごとに変わるからおかしいってなるらしい。

とりあえず,以下の記事を参考に,
ALL about Linux: ZFS on Linux の vdev_id

sudo zpool import -d /dev/disk/by-id/ tank

として,なんかしらドライブに固有のidでimportさせてあげると解消した。

ディスクトラブル

  • 2022-08-21 エラー数8件で早朝の定期メールでアラート
  • 2022-08-22 エラー数16件でFAULTEDとして問題のあるディスクを切り離し。
  • 2022-08-26にディスクが切り離されていることを発見。前回(ZFSのディスク交換の備忘録 - smectic-g’s blog)と同じディスクが切り離されていたので、ケーブルの問題と判断。とりあえずケーブルを付けたり外したりして戻す。その後再起動すると、自動でresilverされて終了(5分)。zpool clearは必要なかった。

エラーの状況(2022-08-26朝)

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 0B in 13:15:56 with 0 errors on Sun Aug 14 13:39:58 2022
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   FAULTED     18     0     0  too many errors
	    ata-ST8000VN0022-2EL112_ZA196HT7  ONLINE       0     0     0
	    ata-ST8000VN0022-2EL112_ZA1960WD  ONLINE       0     0     0
	    ata-ST8000VN0022-2EL112_ZA1960VF  ONLINE       0     0     0

errors: No known data errors