
ZFSは「読み取りの問題」を報告しているので、このディスクは故障していると思われます。ZFS-8000-9Pドキュメント レポートには、私たちが認識している問題が発生したと記載されています。これらのディスクは比較的新しいもので、最近発生した唯一の問題は ZFS がいっぱいになったことです。
ZFSはLSI メガRAID 9271-8iすべてのディスクはディスクごとに「raid 0」を実行します。この RAID カードにはあまり詳しくないので、megacli コマンドライン ツールから取得したデータを返すスクリプトを見つけました。セットアップを示すために 1 つのドライブを追加しましたが、すべて同じセットアップになっています (システム ディスクは異なります)。
zpool ステータス出力
pool: data
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: none requested
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
br0c2 ONLINE 0 0 0
br1c2 ONLINE 0 0 0
br2c2 ONLINE 0 0 0
br0c3 ONLINE 0 0 0
br1c3 ONLINE 0 0 0
br2c3 ONLINE 0 0 0
r2c1 ONLINE 0 0 0
r1c2 ONLINE 0 0 0
r5c3 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdg ONLINE 0 0 0
r3c1 ONLINE 0 0 0
r4c1 ONLINE 2 0 0
... cut raidz2-1 ...
errors: No known data errors
LSIスクリプトの出力
Virtual Drive: 32 (Target Id: 32)
Name :
RAID Level : Primary-0, Secondary-0, RAID Level Qualifier-0
Size : 3.637 TB
Sector Size : 512
Is VD emulated : No
Parity Size : 0
State : Optimal
Strip Size : 512 KB
Number Of Drives : 1
Span Depth : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
PI type: No PI
Is VD Cached: No
スクリプトはディスクの障害を報告せず、RAIDコントローラもドライブを障害としてマークしません。他のトピックもいくつか見つけましたzpool エラーエラーをクリアしてスクラブを実行するようにというアドバイスがありました。ここでの質問は、スクラブを実行するしきい値はいつで、これにはどのくらいの時間がかかるかということです (この zfs raid はスクラブの実行でパフォーマンスが低下すると想定)。また、このディスクが本当に故障している場合、ホットスワップによって「再構築」が初期化されますか? すべてのディスクは「Western Digital RE 4TB、SAS II、32MB、7200rpm、エンタープライズ 24/7/365」です。これは単なる定期的な手動チェックですが、zfs エラーをチェックするシステムはありますか?
zfs バージョン: 0.6.4.1 zfsonlinux
2 回の読み取りエラーはそれほど多くないことは承知していますが、ディスクの交換は早めに、遅くなる前に行うことをお勧めします。
答え1
zfs scrub
「ZFS エラーをチェックするシステム」です。ボリュームに保存されているすべてのデータを読み取るのにかかる時間と同じ時間がかかります (トランザクションの順番に実行されるため、プールの空き状況やデータの書き込み方法によっては、シークが頻繁に発生する可能性があります)。開始すると、zfs status
推定値が表示されます。scrub の実行は停止できます。
定期的にチェックするものが必要な場合zpool status
、最も簡単な方法は、zpool status | grep -C 100 Status
定期的に(6 時間に 1 回)何かを実行し、出力があればそれを電子メールで送信することです。おそらく、Nagios などのお気に入りの監視システム用のプラグインが見つかるでしょう。または、自分で作成するのもかなり簡単です。
ドライブをホットスワップするだけでは、再シルバー化は実行されません。再シルバー化を実行zfs replace
するには、実行する必要があります。
表示されている読み取りエラーは、何らかのコントローラの不具合である可能性もあります。エンタープライズ ハードウェアであるにもかかわらず、これらの (HW RAID) コントローラは時々異常な動作をします。また、これらのエラーは、たとえば、コマンドに時間がかかりすぎた (コントローラが何らかの処理でビジー状態) ことが原因で発生する可能性があります。そのため、必要な場合を除いて、このようなエラーは避けるようにしています。
ドライブの SMART データをチェックし ( を参照)、プールをスクラブすることをお勧めしますman smartctl
。どちらも問題ない場合は、エラーをクリアしてプールを変更しないでください。プールがほぼ満杯の場合、再同期中にすべてのデータを読み取ると、別のエラーが発生する可能性があるためです。同じドライブで再びエラーが表示されたら、パニックになり始めてください ;)。
ちなみに、最高のパフォーマンスを得るには、RAIDZ2 vdev で n^2+2 ドライブを使用する必要があります。
答え2
この場合は、ZFS の指示に従ってください。スクラブを実行してください。
私は毎週スケジュールに従ってシステムを洗浄しています。また、zfsウォッチャーLinux ZFS インストールの健全性を監視するデーモン。
ZFS アレイはおそらく調整されていないため、スクラブ パフォーマンスの向上に役立つ値がいくつかありますが、この時点では、そのまま実行する必要があります。
そして、もう 1 つの質問ですが、ホット スワップはおそらく期待どおりには動作しないでしょう... 以下の不満を参照してください。
暴言:
ハードウェア コントローラーの背後に多数の RAID-0 仮想ドライブを配置するのは、お勧めできません。
両方の最悪の状況に陥ります。回復性とエラー チェックは制限されます。障害が発生したディスクは、基本的に障害が発生した仮想ドライブであり、ホットスワップに影響します。問題のディスクを削除するとします。新しい仮想ディスクを作成する必要があるか、またはドライブの列挙が異なる場合があります。
ある時点で、実際のHBAを入手してディスクをパススルーデバイス(RAIDメタデータなし)として実行するか、ハードウェア アレイによって保護された vdev 上で ZFS を実行するだけです。たとえば、コントローラ上で RAID-6 を実行し、その上に ZFS をインストールします。または、複数の RAID-X グループを実行し、結果として得られる vdev を ZFS でミラーリングまたはストライプ化します。