誤って報告されたデバイスエラーのため、zfsは破損したデータを再同期できますか?

誤って報告されたデバイスエラーのため、zfsは破損したデータを再同期できますか?

一度は、4つのデバイスを持つ新しいzfs raidzプールにデータを移動する状況に直面しました。そのうちのいくつかは、移行を容易にするための仮想デバイスでした。システムはデバイス間で完全に停止し、ファイルベースのデバイスを物理デバイスに置き換えます。

システムはSysRqに応答せず、物理的にリセットする必要がありました。再びオンラインになったとき、zfsはデバイスの4分の2だけがオンラインであることを確認し、再同期を開始し、多くのエラーを報告しました。これを停止する方法がわかりません。プールがマウント解除されても、バックグラウンドで実行され続けます。

紛失したデバイスをオンラインに接続しましたが、完全に問題はありませんでしたが、多くのエラーが報告されました。

これは、再同期中のデバイスの損失によってzfsがデータを破損したことを意味しますか?それとも元のデバイスがあるので、正しく再同期されますか?

2つのデバイスにのみ再同期する場合は、次のようにsda3で再同期されます。

        NAME                             STATE     READ WRITE CKSUM
    zfs_raid                         DEGRADED     0     0 38.5K
      raidz1-0                       DEGRADED     0     0  129K
        sda3                         ONLINE       0     0     0
        sdc2                         ONLINE       0     0     0
        replacing-2                  DEGRADED     0     0     3
          /zfs_jbod2/zfs_raid/zfs.1  OFFLINE      0     0     0
          sdb1                       ONLINE       0     0     0  (resilvering)
        /zfs_jbod/zfs_raid/zfs.2     ONLINE       0     0     0  (resilvering)

エラー:25852データエラーです。リストに '-v'を使用してください。

答え1

コードを確認していないので、これは単なる推測ですが、「いいえ」と言いたいのですが。 ZFSはraidzおおよそRAID-5と同じであり、効果的なRAID-5実装は、2つのドライブが失われると回復を停止します。

重要な点は次のとおりです。 2台のドライブを紛失しました。これにより、ZFS raidz1、2ディスクRAID-1、またはスペアレスRAID-5など、すべての単一ディスク冗長システムがシャットダウンされます。

はい、最初の故障したドライブを交換しましたが、あなたの質問によると、アレイはまだそれ自体が再構築されていないため、事実上まだ欠落しています。

レッスン:デュアルディスク冗長性を使用するか、ホットスペアを追加するか、またはその両方を実行します。今日、ディスクは大きすぎて急速に再構築できないため、単一のディスク冗長性ではもう不十分です。

関連情報