データの冗長性は、ストレージの信頼性とデータの可用性を確保するための最も効果的な手段です。伝統的な冗長性メカニズムには、レプリケーション(Replication)とエラーコード(Erasure Code、EC)の 2 つの方法があります。
卒業論文をどのように扱うか覚えていますか?コンピュータに 1 つ保存し、USB に 1 つ保存し、さらにクラウドストレージに 1 つ保存し、さらには複数のクラウドストレージにも保存します。心配でたまりませんが、数ヶ月の努力(実際にはそうでもありませんが...)が水の泡になることを恐れています。これがレプリケーションです。マルチレプリケーション戦略では、データを複数のレプリカ(通常は 3 つのレプリカ)として保存し、1 つのレプリカが失われた場合でも他のレプリカからデータを取り戻すことができます。したがって、3 つのレプリカのディスク利用率は 1/3 であり、レプリカの損失を許容できる数は 2/3 です。
明らかに、レプリケーションモードのディスク利用率は高くありません。この問題を改善するために、ディスク利用率の問題を解決するエラーコードのメカニズムを導入しました。エラーコードの操作は次の 3 つのステップで行われます:
- ファイルを K 個のデータブロックに均等に分割する
- これらの K 個のデータブロックを特定の方法(線形関係や行列関係など)で関連付けて M 個の検査ブロックを生成する
- いくつかのデータブロックが失われた場合、検査ブロックを使用して失われたデータブロックを再計算する
この場合のディスク利用率は:K/(K+M) であり、レプリカの損失を許容できる数は:M/(K+M) です。データの回復原理は主に行列の計算を使用しており、キーワードはヴァンデルモンド行列です。具体的な回復原理については、参考文献の末尾をご覧ください。
爱数の AnyShare Enterprise/Express7 製品は、レプリケーションモードと EC モードの両方をサポートしています。具体的な表現方法は次のとおりです:
- 1 ノードおよび 2 ノードでは、3 つのレプリカモードが使用され、3 つ以上のノードでは EC モードのサポートが可能です。したがって、ノードが少ない場合は、3 つのレプリカモードを考慮するだけで十分です。
- 拡張アップグレードのシナリオでは、オブジェクトストレージプールは 3 つのレプリカと EC のハイブリッドモードをサポートしています。
- AnyShare は、4+2:1、4+2、6+3 など、さまざまな EC 戦略をサポートしています。ここで、4+2:1 は、1 つのデータブロックに 4 つのデータブロックと 2 つのエンコードブロックが含まれ、任意の 2 つのディスクが故障してもデータの完全性に影響を与えず、任意の1つのノードが故障してもデータの完全性に影響を与えないことを意味します。この戦略には少なくとも 3 つのノードが必要です。一方、4+2 は、1 つのデータブロックに 4 つのデータブロックと 2 つのエンコードブロックが含まれ、任意の 2 つのディスクが故障してもデータの完全性に影響を与えず、任意の2つのノードが故障してもデータの完全性に影響を与えないことを意味します。この戦略には少なくとも 6 つのノードが必要です。
- 一般的に、EC モードは、3 つのレプリカモードよりも性能、ディスク利用率、セキュリティが高いですが、4+2:1 のセキュリティは 3 つのレプリカモードよりも劣ります。
参考文献: