zfsと将来の拡張性


8

freebsd 9とzfsを使用してサーバーを構築したい。古いハードウェア(8 GB RAMのIntelクワッドコア)を使用していますが、1 TBディスクを2つまたは3つ購入してもかまいません。また、おそらく使用を停止すると思われる2つの1 TBディスクがすでに入っているdlink RAIDサーバーもあるので、それらの2つのハードディスクは、データを移動するとzfsサーバーで使用できるようになります(現在約300 MB)。 raid 1)新しいサーバーに。

これにより、最初に2つまたは3つのディスクが提供され、zfsサーバーを正常にセットアップしてデータをコピーすると、4つまたは5つのディスクに移動できます。

私の質問は、冗長性とストレージスペースを最大限に活用できるようにzfsプールを最適にセットアップし、将来的に2または3以上のドライブが利用可能になったときに移動できるようにすることです。だから私はそれほど速度を気にしません、とにかく私のイーサネット(1GB /秒でも)がシステムの速度を決定する要素になると思います...?

私の現在の考えは、2つの新しいディスクを購入し、ストライピングモードを使用してセットアップすることです。dlink nasからすべてのデータをコピーしたら、それらのドライブの1つを削除し、新しいドライブの1つのミラーにすることでプールに追加します。アレイが再構築されたら、もう1つのドライブをプールに移動して、2番目の新しいドライブをミラーリングします。すべての処理が完了したら、RAID 10とほぼ同等の「ストライプミラー」ができます。

それは可能ですか、それとも設定するより良い方法がありますか?

繰り返しますが、私の優先事項は、最大の冗長性、メンテナンス(古いドライブをより新しい/より大きなドライブに交換し、プール領域全体を増やす)、利用可能なストレージ領域、および速度です。その順序で。

回答:


6

少数のディスクのみを交換することでストレージスペースを増やすには、ストライプ化されたミラー化されたvdevを使用する必要があります(実際にはRAID10になります)。

あなたの場合、4台のドライブを使用すると、次のように機能することになります。

    zpool
      mirror
        disk1
        disk2
      mirror
        disk3
        disk4

これにより、2TBのストレージ(すべてのディスクが1TBの場合)と優れた冗長性(1つのディスククラッシュ後のアレイ障害の0%、2つの同時ディスククラッシュでのアレイ障害の33%のみ)が提供されます。

次に、2つの新しい1TBディスクを購入して、プールに入れます。

zpool create zpool mirror disk1 disk2

次に、DLINKの内容を新しく作成したプールに移動します。

それが完了したら、DLINKディスクを清掃してプールに追加し、ストレージを増やすことができます。

zpool add zpool mirror disk3 disk4

後でさらにストレージを増やしたい場合は、vdevを追加するか(できればミラーも)、または4つのディスクのうち2つだけを交換することで実現できます。交換は次のようになります:

zpool offline zpool disk3
# remove physical disk3 at this point
# insert new, bigger disk in place of disk3
zpool online zpool disk3
# wait for resilver
# after resilver, do the same with disk4
# your vdev is now bigger, increasing the size of the pool

それでは、他のオプションを見てみましょう。次のように1つのraidz vdevを作成した場合:

zpool
  raidz
    disk1
    disk2
    disk3
    disk4

3TBのストレージがありますが、ディスクを交換するだけで(追加ではなく)ストレージを増やすには、4つのディスクすべて(もちろん1つずつ)を交換してプールサイズを増やす必要があります。また、2台のディスクが同時にクラッシュした場合、この構成では100%のアレイ障害が発生します。

raidz構成は、ストライプミラー構成よりも低速になります。raidzの方が計算量が多いので、ストライプ+ミラーは実際に読み取りと書き込みのパフォーマンスを向上させます。「通常の」ハードディスク(SSD以外)では、ZFSがディスクの帯域幅を結合できるため、ストライプミラーが順次接続のギガビット接続を埋める可能性があります(1Gb / sは〜125メガバイト/秒、標準の「通常」に過ぎないことに注意してください)ハードディスクは約90メガバイト/秒を提供します)。上記のraidz構成では、コンシューマーハードウェアでこれを実行できるとは思いません。

結論として、ストライプミラー/ RAID 10とディスク数のスコアは次のとおりです。

+ max redundancy
+ maintenance
- available storage space
+ speed

raidzのスコアは次のとおりです。

- max redundancy
- maintenance
+ available storage space
- speed

ストライプミラーが勝つと思います:)

最後のヒント:開始する前に、ハウツーとその理由を必ずお読みください 仮想マシンで手順全体をシミュレートすることもできます。特に、2番目のミラーvdevを追加するステップについて考えています。これを間違って行うと、期待した別の構成が得られる可能性があり、それらの場合、ZFSは、プールからvdevを削除したり、raidz vdevsからディスクを削除したりできないため、非常に寛容ではありません。(ただし、ミラーvdevからディスクを削除することはできます)

また、将来の証拠となり、ディスクにラベルを付けて位置合わせすることで、Advanced Formatドライブのトラブルに巻き込まれないようにすることができます。ZFSと4Kドライブの複雑さの詳細については、FreeBSDフォーラムでこのスレッドを読むことをお勧めします。


3

同時に追加するディスクの各グループには、新しいプールの追加や作成に関係なく、独自の冗長性ポリシーがあります。2つのディスク=ミラー、3つはRAIDZを使用できます(または推奨されません)。このようなドライブでは、1Gbイーサネットのパフォーマンスが低下する可能性があります。また、後で大きなドライブにドライブを交換することは、少し面倒ですが、完全に可能です。

開始する前にZFS管理ガイドの最初から最後まで読むことを強くお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.