web-dev-qa-db-ja.com

zfs:scrub vs resilver(それらは同等ですか?)

シルバーはスクラブと同じくらい良いですか?そうでない場合、なぜですか?

使用例:スクラブ中にチェックサムエラーが発生します。スクラブを続行する代わりに、スクラブを停止し、ドライブを交換して再シルバーします。 Resilverは、スクラブが実行するはずのチェックの一部またはすべてを実行しましたか?

3
user2434421

スクラブはzpool内のすべてのデータを読み取り、そのパリティ情報と照合します。

Resilverは、vdev内の他のデバイスのデータおよびパリティ情報から1つのデバイス内のすべてのデータを再コピーします。ミラーの場合、ミラー内の他のデバイスからのデータをraidzデバイスは、残りのドライブからデータとパリティを読み取り、欠落しているデータを再構築します。

それらは同じではなく、私の解釈ではそれらは同等ではありません。データのコピーを再構築しようとしたときにresilverでエラーが発生した場合、これは永続的なエラーである可能性があります(データを正しく正しく再構築できないため)。逆に、スクラブが破損を検出した場合、それは通常、残りのデータとパリティーから修正できます(これは、通常の使用時に時々静かに発生します)。

3
Kurankat

ドライブを交換する場合、再同期プロセス中に追加の冗長性が発生するため、ドライブが完全に故障していない場合は、古いドライブをそのままにしておくと便利です。冗長性が残っていない場合、さらにエラーが発生すると、影響を受けるファイルの一部のデータが失われます。

Resilver操作は、冗長性を交換用ディスクに復元するために必要な最小限のデータを読み取ります。スクラブ操作は、プライマリデータとパリティデータの両方のすべてのデータを読み取ります。

したがって、ミラーまたはraidz1を再シルバー化する場合は、残存するすべてのデータをresilverが読み取る必要があるため、これらは同等です。 3ウェイミラーraidz2またはraidz3を再シルバー化する場合、resilverは残存データのすべてを読み取るわけではないため、これらの場合、スクラブとresilverは同等ではありません。

1
Gordan Bobic