私はファイルサーバーをプライベートで使用するために計画しています(少量のさまざまな種類のデータですが、主に写真、ビデオ、音楽)。おそらくNAS4free/FreeNASを使用し、ZFSを試してみたいと思います。
私の焦点はスピードではなく、信頼性とデータの安全性です。それにもかかわらず、私は物事を「安価」にしたいので、2つのディスク間でミラーリングされたZFSを実行したいと思います(「RAID 1」方式)。私はコンシューマボードを購入するので、ハードウェアRAIDコントローラはありません。これまでのところ、これまたはFreeNASが提供する対応するオプションにZFSの「ミラー」コマンドを使用することを考えています。
このトピックについて読むとき、私は主に3つのディスクを使用し、次に1つのディスクに障害が発生した場合に免疫を与えるRAIDZ-1を使用している人々を目にします。これまで理解していないのは、ZFSを2つのディスク間でのみミラーリングする場合の問題は何ですか? 1つのディスクに障害が発生した場合、どのように通知されますか?フェイルオーバー戦略とは何ですか?ディスクAに障害が発生しているためファイルシステムを使用できないというメッセージが表示されますが、ディスクAを交換する必要がありますnow?ミラーリングされた2つのディスクを実行する場合、1つを使用するだけでなく、実際にメリットが得られることを願っています。
2つの同等のディスクがある場合、どのZFSモードで実行しますか?
2つのディスクの場合、mirror
モードが必要です。これにより、ドライブは互いに正確なイメージになります。 ZFSがドライブからデータのブロックを読み取ろうとして検証に失敗した場合、ZFSは自動的にそれを修復しようとします。修復が失敗した場合は、他のドライブからそれを読み取り、不良ドライブに障害のマークを付けます。ドライブが故障したという通知が表示されますが、ファイルシステムは引き続き使用できます。読み取り速度は向上しますが、書き込み速度は向上しません。 ミラーセットのドライブが少なくとも1つあれば、すべてのデータが得られます。
raidz
の場合、少なくとも3つのドライブが必要です。それらはRAID5と同様に機能し、1つのドライブが(事実上)リカバリー情報を保管し、他のドライブがデータを保管します。 一度に1つのドライブのみに障害が発生する限り、あらゆるドライブ障害に対処できます。
raidz2
およびraidz3
は、2つまたは3つのドライブの障害をそれぞれ処理できることを除いて、raidz
と同じです。ただし、動作させて有効容量を減らすには、より多くのドライブが必要です。
ZFSミラーは、類似したディスクが2つあり、信頼性とデータの安全性を求める場合に最適です。
RAIDZは、データセキュリティ専用のストレージの割合が少ないため、安価なソリューションですが、ミラーリングは高速です。
障害の検出と処理については、プールを監視する必要があります(zpool status
)エラーが存在するかどうかを確認します。
定期的にプールをスクラブして、その状態をチェックすることもできます(zpool scrub poolname
)
ZFSは自動的に自動修復しますが、ディスク全体に障害が発生した場合は、新しいディスクをプールに追加して、壊れたディスクを交換する必要があります。その後、プールは新しいディスクを自動的に再同期化します(つまり、正常なミラー側からデータをコピーします)。
私はNAS4Freeに慣れていないので、使用するCLIコマンドのみを提案します。 GUIは、それらのほとんどまたはすべてのフロントエンドを提供する必要があります。
NAS4Free Raidレベル(0/1/5および組み合わせ)は、ZFSストライプ/ミラー/ raidzおよび組み合わせより異なるであることに注意してください。後者のみを使用することをお勧めします。つまり、ソフトウェアRAID 1(ミラー)で構成されるボリュームにZFSプールを作成する意味はありません。 ZFSが提供する多くの機能が失われます。
raid0はミラーではなく、raid1はミラーであり、2つのディスクを使用してraid1を設定できます。これにより、1つの障害ディスクを許容できます。 raid0はディスク障害を許容できません。
ただし、raidzには少なくとも3つのディスクが必要です。