2つの異なる冗長プールの一部であったハードドライブを交換したところ、両方のプールが使用できなくなりました...
詳細:
da0
およびada1
)および2x3TB(da1
およびda2
)。da0
).。交換品を2つのパーツに接続し、各パーツをプールに追加するまで、両方のプールが「劣化」モードになると予想していました。
代わりに、コンピューターが不用意に再起動し、戻ってくると、両方のプールが「使用不可」になります。
pool: aldan
state: UNAVAIL
status: One or more devices could not be opened. There are insufficient
replicas for the pool to continue functioning.
action: Attach the missing device and online it using 'zpool online'.
see: http://illumos.org/msg/ZFS-8000-3C
scan: none requested
config:
NAME STATE READ WRITE CKSUM
aldan UNAVAIL 0 0 0
raidz1-0 UNAVAIL 0 0 0
1257549909357337945 UNAVAIL 0 0 0 was /dev/ada1p1
1562878286621391494 UNAVAIL 0 0 0 was /dev/da1
8160797608248051182 UNAVAIL 0 0 0 was /dev/da0p1
15368186966842930240 UNAVAIL 0 0 0 was /dev/da2
logs
4588208516606916331 UNAVAIL 0 0 0 was /dev/ada0e
pool: lusterko
state: UNAVAIL
status: One or more devices could not be opened. There are insufficient
replicas for the pool to continue functioning.
action: Attach the missing device and online it using 'zpool online'.
see: http://illumos.org/msg/ZFS-8000-3C
scan: none requested
config:
NAME STATE READ WRITE CKSUM
lusterko UNAVAIL 0 0 0
mirror-0 UNAVAIL 0 0 0
623227817903401316 UNAVAIL 0 0 0 was /dev/ada1p2
7610228227381804026 UNAVAIL 0 0 0 was /dev/da0p2
新しいドライブを分割しましたが、「zpoolreplace」の試行は「poolisavailable」で拒否されます。新しいドライブを単に切断すると、両方のプールがOk(劣化した場合)になります。なぜ両方とも「使用不可」になったのですか?すべてのデバイスがオンラインになっていると確信しています。カムコントロールへ:
<ATA Toshiba MG03ACA4 FL1A> at scbus0 target 0 lun 0 (pass0,da0)
<ATA Hitachi HUS72403 A5F0> at scbus0 target 1 lun 0 (pass1,da1)
<ATA Toshiba HDWD130 ACF0> at scbus0 target 2 lun 0 (pass2,da2)
<M4-CT128M4SSD2 0309> at scbus1 target 0 lun 0 (pass3,ada0)
<MB4000GCWDC HPGI> at scbus2 target 0 lun 0 (pass4,ada1)
OSはFreeBSD-11.3-STABLE/AMD64です。どうしましたか?
更新:いいえ、ディスクを抜く前にデバイスを明示的にoffline
しませんでした-そして、それはすでにAmazonに戻る途中です。驚いたことに、そのようなオフライン化が必要です-ZFSがドライブの突然死を処理できるべきではありませんか?同様に、故障したドライブを別のドライブと交換する技術者のために準備する必要がありますか?なぜこのようなフィットを投げるのですか?
バックアップがあり、プールを最初から再構築できますが、これを回避する方法を理解したいと思います。または、不可能な場合は、適切なバグレポートを提出してください...
新しいドライブを完全に取り外しましたが、プールのステータスは変更されていません...たぶん、再起動する必要があります-それが役立つかどうかにかかわらず、それはかなり失望しています。
アップデート2:新しいディスクを接続した場合と接続しない場合の複数回の再起動は役に立ちませんでした。しかしながら、 zpool import
は、私が期待するとおりに両方のプールを一覧表示します:劣化しています(ただし利用可能です!)。例えば:
pool: lusterko
id: 11551312344985814621
state: DEGRADED
status: One or more devices are missing from the system.
action: The pool can be imported despite missing or damaged devices. The
fault tolerance of the pool may be compromised if imported.
see: http://illumos.org/msg/ZFS-8000-2Q
config:
lusterko DEGRADED
mirror-0 DEGRADED
ada1p2 ONLINE
12305582129131953320 UNAVAIL cannot open
だが zpool status
は主張し続けます、すべてデバイスは利用できません...希望はありますか?
また、古いドライブを取り外す前にオフラインにしなかった可能性もあります。 (ZFSが論理ドライブ(プール)が破損していると判断し、コントローラーがそれらが正常であると判断する可能性があります。これは、ディスクシリンダーのサイズに違いがある場合に発生します。まれですが発生する可能性があります。)
状況から抜け出すために:
zpool status
からディスクの名前を取得しますcfgadm -c unconfigure
およびcfgadm -c configure
で再構成しますzpool online zone
zpool replace zone
(zpool status zone
はオンラインで表示されます)zpool replace
コマンドを実行して、ディスクを交換します