How to Protect Your Data Using ZFS
サーバー業界でよく聞かれる質問は、「ソフトウェアRAIDとハードウェアRAIDはどちらが優れているか」ということです。 このトピックを調査すると、RAID に関する多くの情報は、ソフトウェア RAID を使用するよりもハードウェア RAID カードを使用するほうが望ましいと示唆しています。 しかし、私はそうは思いません。 私の意見では、ほとんどの用途において、ソフトウェアRAIDはハードウェアRAIDよりもはるかに優れています。
ソフトウェア RAID よりもハードウェア RAID を好むのは、ハードウェアがソフトウェア RAID 処理と他のすべてのタスクを処理するのに十分なパワーを持っていなかった時代からきています。 当時は、RAIDの計算を「オフライン」で処理するプロセッサを内蔵したハードウェアRAIDカードを使用することが解決策でした。 OSには1台のディスクとして表示し、内部では複数のストレージ(ハードディスク)に出入りするデータを処理する。 これによって、RAIDの安全性を享受しながら、スムーズな運用が可能になったのです。
ハードウェア RAID は今でも一部の人に人気があり、今日のハードウェア RAID カードの多くは、CPU の負荷を軽減しながら、すばらしいパフォーマンスを提供していますが、まだいくつかの深刻な問題や欠点があります:
- 大きな故障が起こったときにデータを回復するのが難しい
- 独自の/標準外のプロトコルによって、同じハードウェア RAD カードでしか配列が機能しないことになる。 このアーキテクチャは、そのシンプルさにおいてエレガントです。 しかし、これはまた、OS やファイル システムに機能を統合することを根本的に妨げています。 この統合こそが、ソフトウェア RAID がハードウェア RAID を劇的に凌駕する理由です。
Where I Believe We Today
ハードウェア RAID よりソフトウェア RAID に有利な 2 つのことが起こり、主導権を握ることができました。 コンピューティングパワーが急激に向上し、RAIDがもたらすコンピューティング負荷がもはや重要でなくなった。
ハードウェア RAID は、複数のドライブを RAID アレイに結合し、それらを単一のデバイスとして OS に表示するための堅実でシンプルなアーキテクチャ ソリューションを提供し続けています。 これは、ソフトウェア RAID の実装が非常に遅い MS Windows で特に有用です。 しかし、ハードウェアが故障した場合にデータを回復するために同一の (または互換性のある) コントローラを使用する必要があるため、データ セキュリティのリスクは依然としてあります。
ソフトウェアの面では、今日のソフトウェア RAID は超高速 (Linux と BSD では少なくとも)、非常に柔軟で、OS に高度に統合されています。 また、ハードウェア RAID よりもはるかに高機能で、リカバリ状況において強力です。 データを復旧するために必要なのは、同じOSを搭載した別のストレージサーバだけです。 その後の手順は簡単で、ドライブを接続して作業を開始するだけです。データ損失が基本的な限度を超えていない限り、ほぼすべての状況から復旧できるはずです。
コンピュータとソフトウェアは本当に長い道のりを歩んできており、ソフトウェア定義 RAID は時間が経つにつれてますます普及していくことは明らかです。 ZFS をユニークなものにしているいくつかの機能について説明し、ソフトウェア RAID で ZFS を使用していたために多額の費用を節約できた、あるユーザーの例を紹介します。 たとえば、ハードウェア RAID カードがドライブを最初に使用するのではなく、ZFS は JBOD カードを使用してドライブを取得し、内蔵のボリューム マネージャーとファイル システムで処理します。 このため、ZFSはハードウェアRAIDカードが通常抱えているいくつかの課題を回避するためのより大きな制御を行うことができます。 この制御と機能的な特徴により、ZFSは非常にうまくエラーを処理することができます。 書き込み時コピー、スナップショット、実質的に無限のスケーリング、チェックサムによる自己回復、およびストレージ プールの組み込み仮想化などの機能により、ZFS はさらに堅牢なレベルに達します。 これは、ほとんどのボリューム マネージャーが新しい書き込みを構造化する方法とは異なります。 通常、変更または新しいデータが書き込まれると、それは古いデータの上に書き込まれます。 しかし、その書き込み中に電源障害が発生した場合、データが失われる可能性があります。 ZFSは古いデータの上に書き込むのではなく、新しい場所にデータを書き、その経路をコピーします。 つまり、書き込み中に停電になっても、データが失われることはないのです。
スナップショットとは、基本的に、過去の特定の時点でデータの経路が何であったかを示すタイムスタンプで、データとは別の独自のテーブルに保存されます。 ZFS はデータを上書きせず、代わりに新しい場所に書き込むので、以前のタイムスタンプに戻すことができ、ほとんどバックアップとして機能します。 フルバックアップではデータをコピーする必要がありますが、スナップショットは実際のバックアップよりもはるかにオーバーヘッドが少なくなっています。 それに比べて、スナップショットは迅速かつ簡単に取得できます。
ZFS には、書き込みエラー、データの破損、またはビットロットに対して自己修復する驚くべき能力もあります。 チェックサムを使用して冗長な場所に保存されたデータを分析し、不整合に基づき自己修復を行います。 また、ミラーリング、ストライピング、パリティチェックなど、従来のRAID機能も備えています。 ハードウェアRAIDカードを使用する場合、ディスクが接続されるとディスクヘルスチェッカーはマスクされる。 これは、ディスクの 1 つが故障しそうな兆候を見ることができないため、問題です。 ZFS は、OS に表示される前にドライブに書き込まれる操作を一切行わないため、この問題を回避できます。
顧客のケース例
私たちは皆、間違いを犯しますが、中にはより代償の大きいものもあります。 Storinator で ZFS を使用しているあるユーザーは、オフィスを移動する必要があり、移動前にハード ドライブ ディスクを取り出さず、移動中に何らかの理由でディスクを損傷しました。
そのユーザーが Storinator を起動して ZFS プールをインポートしようとすると、いくつかのドライブは損傷し、いくつかは誤った場所にあり、破損したメタデータさえ存在しました。 しかし、そのユーザーは ZFS を使用していたので、プールを合理的に簡単に再構築することができました。
私たち 45Drives のサポート チームは、劣化したプールを手動でインポートすることができました。 プールに入った後、新しいドライブを追加し、プールをスクラブにすると、正常に戻りました。
私たちは ZFS の回復力によってのみこれを行うことができましたが、顧客がハードウェア RAID を使用していた場合は、コンポーネント障害に対してより敏感なので、これは不可能であったでしょう。 もし、ハードウェア RAID を使用していたら、何らかの高価なリカバリがなければ、データが失われていた可能性が高いのです。 Linux や BSD のような高性能な OS を使用する必要があることに注意してください。 そのパフォーマンスは今日のマシンでは素晴らしく、データのセキュリティは前例のないレベルに達し、おまけに、一度学習曲線に乗ると本当に使いやすくなります。 未分類 admin12時03分