私はほとんどの人が持っているのと同じ問題を抱えています。
- ハードドライブが異常なほど定期的に故障する。ファイルの損失は許されません。
- 時々新しいHDDを買います。必然的に、最良の価格/ GBは、最後に購入したHDDとはサイズが異なります。
2は、時間の経過とともに異種のディスクのコレクションができることを意味します。それらすべてを使用したいのですが、故障したディスクは通常、より大きなディスクに交換されます。
- データの整合性と信頼性は、速度よりも私にとって重要です。
ですから、この問題に頭を数日間ぶつけた後(そして何年も頭の後ろで)、次の解決策を提案します。Ubuntu PPAで利用可能なネイティブLinux ZFSに基づいてテストしたソリューションについて説明しますが、LVM、MD、およびbtrfsを使用して同じことを実現できます。これにはRAID1(ZFSミラーvdevs)を使用します。
- ドライブのセットが与えられたら、それらを2つのディスクセットにグループ化して、各セットの容量が他のセットにできるだけ近くなるようにします。
- もう一方のグループには、小さいディスクの1つとまったく同じサイズのパーティションが存在するように、大きいディスクをパーティション分割します。
- 各ディスクが別のディスクにミラーを持つようにミラーvdevを作成します。
たとえば、新しい2TBドライブ、古い750GBドライブ、2つの古い400GBドライブ、および1つの古い500GBドライブのディスクセットを考えます。最適なミラーパーティションには2 TBの使用可能なスペースがあり、次の図で説明されています。ディスクを分離します。
+------------------------------------------------------------------+
| 2TB (sda1) : (sda2) : (sda3) : (sda4) |
+------------------------------------------------------------------+--+
| 750 GB (sdb) | 400 GB (sdc) | 400 GB (sdd) | 500 GB (sde1) :XX|
+---------------------------------------------------------------------+
次のようにzpoolを作成します
zpool create archive mirror /dev/sda1 /dev/sdb mirror /dev/sda2 /dev/sdc mirror /dev/sda3 /dev/sdd mirror /dev/sda4 /dev/sde1
これにより、4つのミラー化されたvdevが作成されます。いずれかのディスクで障害が発生した場合は、ディスクを(任意のサイズのディスクで)交換し、パーティション分割して、不足しているパーティションを再作成できます。これは、ZFSのvdevsがプールに追加できることが重要だが、削除されません。したがって、可能であれば、新しいドライブを購入するときに、既存のvdevを再配置する必要があります。次の購入が3TBドライブだったとしましょう。次の図に示すように、最適な構成は3.5TB使用可能です。これは現在5つのvdevペアです。これは、ドライブを適切にパーティション化し、連続して障害を起こしてパーティションを再作成することで実現できます。
+--------------------------------------------------------------+-------------+
| 3 TB (sdf1) : (sdf2) : (sdf3) : (sdf4) | 500GB (sde) |
+--------------------------------------------------------------+-------------+-+
| 2TB (sda1) | 400GB (sdb) | 400GB (sdc) | 750GB (sdd1) : (sdd2) :X|
+------------------------------------------------------------------------------+
ミラーリングされたドライブのこのペアの維持は、LVMまたはMD RAIDでも実行できます。つまり、各ドライブに常にミラードライブまたはパーティションがあることを確認します。すべてがミラーリングされているため、ドライブを追加または削除したときに、ドライブを故障させたり、パーティションを再配置したりできます。LVMまたはMDを使用すると、必要に応じて、BTRFSと比較してZFSの洗練されていない回復ツールを犠牲にして、ドライブを取り外してアレイを縮小することができます。
この手順に関するコメントはありますか?優れたスクリプトは、ドライブのロスレス割り当てと再配置を処理できます。LVM対MD対ZFSに関するコメントはありますか?結果として奇妙に分割された配列のパフォーマンスに関するコメントはありますか?同じドライブ上の複数のパーティションにまたがるデータ配置は、過度のヘッドシークと早期障害の原因になりますか?
BTRFS開発者:誰もがこれを望んでおり、LVMやMDは技術的に必要ではありません(私の意見では、最適ではありません)。冗長な異種アレイの保守を容易にすることは、btrfsのキラー機能になります。これは、LVM / MD / ZFSのハックです。再配信/再同期を最小限に抑えることが非常に望ましいです。
はい、これは明らかに貧乏人のDroboです。そのための専用ハードウェアは必要ありません...