これは Nexenta オープン ストレージ上にあります。一部のディスクが原因で UNAVAIL 状態になっている zpool があります。
# zpool import -F
pool: delta
id: XYAZA
state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
devices and try again.
config:
delta UNAVAIL insufficient replicas
raidz2-0 UNAVAIL insufficient replicas
c0t5000C500573978EBd0 ONLINE
c0t5000C50057397933d0 ONLINE
c0t5000C50057397C47d0 UNAVAIL cannot open
c0t5000C5005739997Fd0 UNAVAIL cannot open
c0t5000C50057399F87d0 ONLINE
c0t5000C5005739A90Bd0 ONLINE
c0t5000C5005739ABC7d0 UNAVAIL cannot open
c0t5000C5005739AC0Fd0 ONLINE
raidz2-1 DEGRADED
c0t5000C50057398657d0 ONLINE
c0t5000C50057398E03d0 ONLINE
c0t5000C50057398EF7d0 ONLINE
c0t5000C50057398FAFd0 ONLINE
c0t5000C5005739A39Fd0 UNAVAIL cannot open
c0t5000C5005739AAFFd0 ONLINE
spare-6 DEGRADED
c0t5000C5005739AC3Fd0 UNAVAIL cannot open
c0t5000C50057398EDBd0 ONLINE
c0t5000C5005739AE9Bd0 ONLINE
~# zpool import -FXf delta
cannot import 'delta': I/O error
Destroy and re-create the pool from
a backup source.
- この zpool インポートを正常に動作させるにはどうすればよいですか?
- 'UNAVAIL' と表示されているディスクを修理/交換するにはどうすればいいですか?
更新日: 2018年9月7日
Nexenta でディスクとスロットのマッピングを見つけ、デルタ ボリュームのディスクを再装着した後、raidz2-1 グループ内の 1 つのディスクを ONLINE にできましたが、raidz2-0 グループ内の 3 つのディスクは引き続き UNAVAIL として表示されます。
# zpool import -F
pool: delta
id: XYAZA
state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
devices and try again.
config:
delta UNAVAIL insufficient replicas
raidz2-0 UNAVAIL insufficient replicas
c0t5000C500573978EBd0 ONLINE
c0t5000C50057397933d0 ONLINE
c0t5000C50057397C47d0 UNAVAIL cannot open
c0t5000C5005739997Fd0 UNAVAIL cannot open
c0t5000C50057399F87d0 ONLINE
c0t5000C5005739A90Bd0 ONLINE
c0t5000C5005739ABC7d0 UNAVAIL cannot open
c0t5000C5005739AC0Fd0 ONLINE
raidz2-1 DEGRADED
c0t5000C50057398657d0 ONLINE
c0t5000C50057398E03d0 ONLINE
c0t5000C50057398EF7d0 ONLINE
c0t5000C50057398FAFd0 ONLINE
c0t5000C5005739A39Fd0 ONLINE
c0t5000C5005739AAFFd0 ONLINE
spare-6 DEGRADED
c0t5000C5005739AC3Fd0 UNAVAIL cannot open
c0t5000C50057398EDBd0 ONLINE
c0t5000C5005739AE9Bd0 ONLINE
アプライアンス上の別のプールにスペア ディスクが 1 つ見つかりましたonline
。ここでの質問は、1. スペアを、spare-6 のサブカテゴリに UNAVAIL ディスクが 1 つだけある raidz2-1 グループにデタッチ/アタッチするべきかどうか、または 2. スペアを、UNAVAIL ディスクがまだ 3 つある raidz2-0 グループにデタッチ/アタッチするべきかどうかです。
このプールはオフライン (エクスポート後) であり、現在はインポートできません。
このプールがどのように作成されたかの履歴を調べたところ、過去に以下のコマンドで作成されていました。
zpool create -m /volumes/delta -o autoreplace=on delta raidz2 c0t5000C500573978EBd0 c0t5000C50057397933d0 c0t5000C50057397C47d0 c0t5000C5005739997Fd0 c0t5000C50057399F87d0 c0t5000C5005739A90Bd0 c0t5000C5005739ABC7d0 c0t5000C5005739AC0Fd0 raidz2 c0t5000C50057398657d0 c0t5000C50057398E03d0 c0t5000C50057398EF7d0 c0t5000C50057398FAFd0 c0t5000C5005739A39Fd0 c0t5000C5005739AAFFd0 c0t5000C5005739AC3Fd0 c0t5000C5005739AE9Bd0
これは、raidz2-0 と raidz2-1 が 2 つの RAIDZ ミラー プールであることを示していますか?
はいの場合、raidz2-0 (3 つのディスク障害がある) よりも、raidz2-1 ディスク グループの修復を優先してオンラインにする必要がありますか?
答え1
- スペアを、spare-6 のサブカテゴリに UNAVAIL のディスクが 1 つだけある raidz2-1 グループにデタッチ/アタッチする必要がありますか?
予備ディスクは既に自動的に接続されraidz2-1
、再同期されています。通常は、c0t5000C5005739AC3Fd0
一度障害が発生したため、システムから切り離して削除します (または、リソースに余裕がない場合は、別のシステムで再利用して最善の結果を期待します)。
しかし、それはまだダウンしているので、あなたにとっては役に立ちませんraidz2-0
。どれでもzpool 内の vdev に障害が発生すると、プール全体とその中のすべてのデータが失われます。構成されたパリティを維持できない場合、各 vdev は、内部で十分な数のディスクが故障したために障害が発生します。この場合、各 Z2 vdev は 2 つのディスクの損失に耐えることができますが、そのうちの 1 つは 3 つのディスクを失っています。
- まだ 3 つのディスクが使用できない raidz2-0 グループにスペアを接続/切断する必要がありますか?
まず、現在、実際のスペアはありません。 から動作中のディスクを削除したとしてもraidz2-1
(推奨されません)、 の故障したディスクを修復するまでは何も得られませんraidz2-0
。パリティ データはどこかから取得する必要があり、この場合は故障したディスクから取得する必要があります。少なくとも 1 つのディスクが動作しない場合は、バックアップから復元するのが最善策です。
このプールがどのように作成されたかの履歴を調べたところ、過去に以下のコマンドで作成されていました。
zpool create -m /volumes/delta [...]
これは、raidz2-0 と raidz2-1 が 2 つの RAIDZ ミラー プールであることを示していますか?
いいえ、プールは 2 つのストライプ化された vdev で構成され、それぞれが raidz2 冗長性と 8 つのディスクで構成されています。各 vdev で失われるディスクは最大 2 つです。いずれか 1 つで 3 つ失われると、ゲームオーバーになります。
ZFS では、すべての冗長性は vdev レベルで処理されます。プールは常にすべての既存の vdev にストライプ化されます。いずれかの vdev に障害が発生すると、プールも障害になります。ミラーリングは vdev の冗長性の一種であり、raidz1/z2/z3 とは互換性がありません (異なる冗長性タイプの vdev を組み合わせて使用できますが、最も弱いタイプによってプールの強度が決まり、パフォーマンスが低下するため、これはお勧めできません)。
はいの場合、raidz2-0 (3 つのディスク障害がある) よりも、raidz2-1 ディスク グループの修復を優先してオンラインにする必要がありますか?
いいえ、まず を修正する必要がありますraidz2-0
。
これらはすべてSeagate製で、SEAGATE Rev. A001とSEAGATE Rev. 0002が混在しており、サイズは1.82TBです。
これは今は役に立ちませんが、将来的には役立つかもしれません。「不良ドライブのバッチ」が発生するのを防ぐために、メーカーとモデル、さらには製造日を混ぜて組み合わせることをお勧めします。たとえば、4 つの主要メーカー (Seagate、Western Digital、Hitachi、Toshiba) のディスクをそれぞれ 4 枚ずつ購入し、vdev で 2 対 2 に分割すると、1 つのメーカーのすべてのディスクが同時に故障した場合でも、プールは機能します。