一度は、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など、すべての単一ディスク冗長システムがシャットダウンされます。
はい、最初の故障したドライブを交換しましたが、あなたの質問によると、アレイはまだそれ自体が再構築されていないため、事実上まだ欠落しています。
レッスン:デュアルディスク冗長性を使用するか、ホットスペアを追加するか、またはその両方を実行します。今日、ディスクは大きすぎて急速に再構築できないため、単一のディスク冗長性ではもう不十分です。