ZFSマシンのHDD故障にともなう交換手順
はじめに
情報収集
基本情報
ファイルサーバのH/W
- 基本仕様
- MSI H110M Gaming
- Intel Pentium G4400
- ADATA DDR4-2133 8GB×2
- ストレージ
- OS用SSD×1台(ADATA)
- データ用HDD×3台(Seagete)
ファイルサーバのS/W
- Ubuntu 20.04.6 LTS (Focal Fossa)
- ZFS
- Nextcloud
HDD / zpoolの状態
$ sudo zpool status -vpool: mypoolstate: DEGRADED(略)config:NAME STATE READ WRITE CKSUMmypool DEGRADED 0 0 0raidz1-0 DEGRADED 0 0 0ata-ST4000DM004-(HDDのシリアル1) ONLINE 0 0 0ata-ST4000DM004-(HDDのシリアル2) UNAVAIL 0 0 0 (略)ata-ST4000DM004-(HDDのシリアル3) ONLINE 0 0 0errors: No known data errors
次は、HDDのデバイス名を調べます。HDDのシリアルでgrepして該当する/dev/sd*を調べます。今回は、/dev/sdaでした。
$ ls -lA /dev/disk/by-id/ |grep (HDDのシリアル2)lrwxrwxrwx 1 root 9 Oct 17 18:58 ata-ST4000DM000_(HDDのシリアル2) -> ../../sdalrwxrwxrwx 1 root 9 Oct 17 18:58 scsi-0ATA_ST4000DM000_(HDDのシリアル2) -> ../../sdalrwxrwxrwx 1 root 9 Oct 17 18:58 scsi-1ATA_ST4000DM000_(HDDのシリアル2) -> ../../sdalrwxrwxrwx 1 root 9 Oct 17 18:58 scsi-SATA_ST4000DM000_(HDDのシリアル2) -> ../../sda
一応、HDDの健康状態を調べます。S.M.A.R.T.を調べるため、smartctlコマンドを使用します。下記で示されている通り、4TBのHDDなのに137GBと表示されたり、そもそも S.M.A.R.T.情報が表示されていないなど、HDDの異常が分かります。
$ sudo smartctl --all /dev/sdasmartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-216-generic] (local build)Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org=== START OF INFORMATION SECTION ===Device Model: ST4000DM000Serial Number: (HDDのシリアル2)LU WWN Device Id: (略)Firmware Version: CC54User Capacity: 137,438,952,960 bytes [137 GB]Sector Size: 512 bytes logical/physicalRotation Rate: 7200 rpmDevice is: Not in smartctl database [for details use: -P showall]ATA Version is: ATA8-ACS T13/1699-D revision 4SATA Version is: SATA 3.0, 6.0 Gb/sLocal Time is: Sun Oct 19 07:01:48 2025 JSTSMART support is: Available - device has SMART capability.SMART support is: EnabledRead SMART Data failed: scsi error badly formed scsi parameters=== START OF READ SMART DATA SECTION ===SMART Status command failed: scsi error badly formed scsi parametersSMART overall-health self-assessment test result: UNKNOWN!SMART Status, Attributes and Thresholds cannot be read.Read SMART Log Directory failed: scsi error badly formed scsi parametersRead SMART Error Log failed: scsi error badly formed scsi parametersRead SMART Self-test Log failed: scsi error badly formed scsi parametersSelective Self-tests/Logging not supported
HDD交換
設置
ZFSのコマンド処理
sudo zpool replace mypool ata-ST4000DM004-(旧HDDのシリアル2) /dev/disk/by-id/ata-ST4000DM004-2U9104_(新しいシリアル番号2)
sudo zpool status -vpool: mypoolstate: DEGRADEDstatus: One or more devices is currently being resilvered. The pool willcontinue to function, possibly in a degraded state.action: Wait for the resilver to complete.scan: resilver in progress since Thu Nov 6 20:06:13 2025528G scanned at 35.2G/s, 3.55M issued at 242K/s, 4.62T total0B resilvered, 0.00% done, no estimated completion timeconfig:NAME STATE READ WRITE CKSUMmypool DEGRADED 0 0 0raidz1-0 DEGRADED 0 0 0ata-ST4000DM004-2CV104_(HDDのシリアル1) ONLINE 0 0 0replacing-1 DEGRADED 0 0 0ata-ST4000DM004-2U9104_(旧HDDのシリアル2) UNAVAIL 0 0 0ata-ST4000DM004-2U9104_(新HDDのシリアル2) ONLINE 0 0 0ata-ST4000DM004-2CV104_(HDDのシリアル3) DEGRADED 0 0 0 too many errorserrors: No known data errors
pool: mypoolstate: DEGRADEDstatus: One or more devices has experienced an unrecoverable error. Anattempt was made to correct the error. Applications are unaffected.action: Determine if the device needs to be replaced, and clear the errorsusing 'zpool clear' or replace the device with 'zpool replace'.see: http://zfsonlinux.org/msg/ZFS-8000-9Pscan: scrub repaired 0B in 0 days 03:26:18 with 0 errors on Fri Nov 7 16:00:48 2025config:NAME STATE READ WRITE CKSUMmypool DEGRADED 0 0 0raidz1-0 DEGRADED 0 0 0ata-ST4000DM004-2CV104_(HDDのシリアル1) ONLINE 0 0 0ata-ST4000DM004-2U9104_(新HDDのシリアル2) ONLINE 0 0 0ata-ST4000DM004-2CV104_(HDDのシリアル3) DEGRADED 0 0 0 too many errorserrors: No known data errors
ZFSのDEGRADEDのtoo many errorsについて調べたのですが、新たな故障が発生している可能性のほか、SATAケーブル・SATAポートの異常、他のHDDが故障したことによりHDDが高負荷となったなどが理由にあるようです。ここでは、いったんエラー情報をクリアにして様子を見てみます。また、scrubコマンドにより、データが読み込めない状態にないか確認します。
$ sudo zpool clear mypool
$ sudo zpool scrub mypool
エラーがクリアされ、読み込めないデータもないようです。しばらく様子を見てみます。
$ sudo zpool status -v
[sudo] password for rosev:
pool: mypool
state: ONLINE
scan: scrub repaired 0B in 0 days 03:26:18 with 0 errors on Fri Nov 7 16:00:48 2025
config:
NAME STATE READ WRITE CKSUM
mypool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-ST4000DM004-2CV104_(HDDのシリアル1) ONLINE 0 0 0
ata-ST4000DM004-2U9104_(新HDDのシリアル2) ONLINE 0 0 0
ata-ST4000DM004-2CV104_(HDDのシリアル3) ONLINE 0 0 0
errors: No known data errors
コメント
0 件のコメント :
コメントを投稿