私はzfsonlinux(Centos 7)とraidz1を持っています。そして、私は問題を抱えています:2つのディスクが死にかけています。
最初のディスクでは、SMARTおよびReallocated_Sector_Ctエラー(データを再配置するための空きセクターが不足しています)でRaw_Read_Error_Rateエラーが発生します)
2番目のディスクにはReallocated_Sector_Ctエラーがありますが、バックアップセクターが残っています。
最初のディスクを新しいディスクに変更しましたが、zfsが再シルバーリングを開始しました。当初の速度は約2MB /秒でしたが、しばらくすると20KB /秒以下に低下し、数日間は非常に小さいままです。
そして、さらに多くのエラーがあります:
Jul 9 06:14:09 shaggycat-desktop smartd[966]: Device: /dev/sdf [SAT], FAILED SMART self-check. BACK UP DATA NOW!
Jul 9 06:14:11 shaggycat-desktop smartd[966]: Device: /dev/sdf [SAT], 488 Currently unreadable (pending) sectors
Jul 9 06:14:11 shaggycat-desktop smartd[966]: Device: /dev/sdf [SAT], 107 Offline uncorrectable sectors
Jul 9 06:44:08 shaggycat-desktop smartd[966]: Device: /dev/sdf [SAT], FAILED SMART self-check. BACK UP DATA NOW!
Jul 9 06:44:12 shaggycat-desktop smartd[966]: Device: /dev/sdf [SAT], 488 Currently unreadable (pending) sectors
Jul 9 06:44:12 shaggycat-desktop smartd[966]: Device: /dev/sdf [SAT], 107 Offline uncorrectable sectors
再起動すると、プールのインポートは役に立ちません。
Dd_rescueを使用して、2番目に故障したディスクを新しいディスクにコピーし、zpoolを欺くことはできますか?どうすればそれをだまして、新しいディスクでプールをインポートできますか?/dev/disk/by-id /を使用して、zpool内のディスクを識別します。
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 5 15:16:17 2015
59.2G scanned out of 1.70T at 81.3K/s, (scan is slow, no estimated time)
14.8G resilvered, 3.40% done
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
ata-Hitachi_HDS721010CLA332_JP2940HQ2VTTDH-part1 ONLINE 0 0 0
replacing-1 DEGRADED 0 0 1
4455585976361728304 UNAVAIL 0 0 0 was /dev/disk/by-id/ata-Hitachi_HDS721010CLA332_JP2940HQ2VTZUH-part1
ata-ST1000DM003-1ER162_W4Y1HJTP-part1 ONLINE 0 0 0 (resilvering)
ata-WDC_WD10EALS-00Z8A0_WD-WCATR1714802-part1 ONLINE 0 0 0
ata-WDC_WD10EALS-00Z8A0_WD-WCATR1737637-part1 ONLINE 0 0 0
zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 3.56T 1.70T 1.86T - - 47% 1.54x DEGRADED -
私はこれらのソフトウェアバージョンを使用しています:zfs-release-1-2.el7.centos.noarch libzfs2-0.6.4.1-1.el7.centos.x86_64 zfs-0.6.4.1-1.el7.centos.x86_64 zfs-dkms-0.6 .4.1-1.el7.centos.noarch
編集:私は最初にそれがraidzではなくミラープールだと思った。
まず、zpoolreplaceは正常に機能するはずです。死にかけているディスクの動作が遅いために遅い場合は、最初にオフライン/デタッチして、データが他のディスクから再構築され、不良ディスクからの読み取りが試行されないようにすることができます。ただし、複数の障害のあるディスクは良いことではありません。
その時点で古いデッドディスクがマシンから削除されている限り、ddrescueを使用してプールをエクスポートしてからインポートすることもできます。 Importは通常、すべてのディスクを調べて、検出およびインポートするプールを確認します。
また、障害が発生しているドライブが複数ある場合は、それらを同時に交換しても問題はありません。すべてのディスクをそのように処理するのに1回の再シルバーパスしか必要ないため、通常は高速です。オンラインディスクを交換する場合、交換が完了するまで、読み取り/書き込みターゲットとして使用されます。