Linuxファイルサーバーストレージプール


8

LinuxサーバーでSambaを介して複数のハードドライブを1つのストレージプールとして共有することは可能ですか?そのため、共有を使用するときに、空き領域のある特定のドライブに保存することを心配する必要はありませんが、そのすべてを処理するプールに保存します。

なんらかの(ソフトウェアの)RAIDを使用してこれを実行できると思いますが、私のファイルの多くは実際にRAIDする必要はありません。私の目的は、最大500GBのレイドと数TBのレイドされていないスペースがあるセットアップをすることです。

現在、軽量のW2008サーバーを使用しており、Linuxに移行したいと考えています。これは非常に便利な機能です。

回答:


19

Linuxでは、LVMを使用して複数のハードドライブ(PV)を1つのボリュームグループ(VG)に収集し、sambaを通じて共有する論理ボリューム(LV)でパーティション化できます。

詳細については、このリンクを参照してください。

LVMスキーマ


1
コンセプトを説明するための写真の素晴らしい選択。
2009

7

私はRaphinkのLVMの提案を2番目に挙げます(実際にはそれを支持します)。これは、まさにLVMが設計されたものであり、私の経験ではうまく機能します。

注意すべきことの1つは、多数のドライブでLVMを使用することはRAID0よりも少し安全なことです。1つのドライブがダウンした場合、論理ボリュームがドライブの境界にまたがるため、複数のドライブに相当するファイルシステムを失う可能性があります。したがって、「私のファイルの多くは実際に襲撃される必要はありません」が、置換がそれほど簡単ではないこれらのファイルの適切なバックアップ計画があることを確認してください。

ストレージサーバーで多くのアクティビティが発生する可能性がある場合は、LVMだけでなくRAID0の使用を検討してください。これにより、多くのI / Oパターンのパフォーマンスが大幅に向上し、利用可能な総ストレージ容量が減少することはありません(RAID0は冗長性を提供しないため、ミラーリングされたデータまたはパリティブロックにスペースを使用しません)。一部のドライブをRAID0アレイに結合したら、他のドライブ/パーティションと同じようにアレイをLVM PVにして、必要に応じて論理ボリュームを使用してスペースを分割できます。

もちろん、RAID0を使用すると、ドライブが停止した場合、ほぼ確実にすべてが失われますが、JBODに十分なバックアップ計画がある場合(これは、LVMだけで実行していることであり、一部のRAID参照が「リニアモード」と呼ぶことに相当します。 ")RAID0のデータに十分なものがあります(LVMを使用して複数のドライブにあるデータについて、偏執症ではないという人もいます!)。

同じドライブでRAIDレベルを混在させて一致させることができます。開発とテストのためにVMホストとして実行される私の制御下にあるマシンの1つで、そのアレイのドライブには、一部がRAID0(VM自体用)および一部がRAID1(VMのバックアップ用)として含まれています。各ドライブは〜100Gbのパーティションに分割され、各セットまたはパーティションはRAIDアレイにすることができます。各ドライブの最初の2つは現在RAID0(LVMによって1つの論理ボリュームとしてリンクされています)、最後の3つのRAID1(これも1つのLVとしてリンクされています)であり、中央に残っているものは、より多くのスペースが必要なときに自由に使用できます。これを行う場合は、もちろんI / Oの競合に注意する必要があります(RAID1セットは新しいバックアップを作成したり、古いバックアップを復元したりするときにのみアクセスするため、2つのRAIDアレイが同時に顕著なアクティビティを目にすることはめったにないので、私の場合は問題があり、両方のアレイがアクティブに使用されているときの過度のヘッドの動き(これらはドライブの反対側にありますが、RAIDなしでLVMを使用する場合に注意する必要があります。この配置により、インストール時に、マシンに必要な高速(R0)スペースと高安全(R1)スペースのバランスを正確に推測する必要がなくなりました。妥協することなく、1つのRAID10アレイを使用するだけで、Xか月後のことです。


「1つのドライブがダウンした場合、論理ボリュームがドライブの境界をまたいでいるため、複数のドライブに相当するファイルシステムが失われる可能性があります。」このナゲットをありがとう、私は私の計画を幾分修正しなければならないようです。
Illotus、2009

これは、RAID0システムで発生するのと同じ問題であることに注意してください。1つのドライブがダウンすると、データが失われます。Davidの回答で示唆されているように、RAIDとLVMを組み合わせることができます。RAID0システムとLVMを組み合わせると冗長で役に立たなくなりますが、RAID1、10、4、5、または6とLVMを組み合わせると、1つ以上のハードドライブを紛失してもデータが失われることはありません。また、実際に使用可能なデータ領域よりも多くのディスク領域が必要になるため、ハードウェアのコストも高くなります。RAIDの種類は主に、RAIDを作成するために使用する種類によって異なります。ハードウェアRAIDがない場合は、mdadmの上でLVMを使用できます。
ℝaphink

3
RAID0とLVMを組み合わせても意味がありません。I/ O負荷(たとえば、Gbitネットワーク上の多くの同時ファイル操作)によっては、RAID0によって実行されるストライピングによってパフォーマンスが大幅に向上する場合があります。100Mbitのリンクでも、複数の同時アクセスや非常に非順次のアクセスで違いが見られる場合があります。それほど難しいI / O負荷の場合、違いはそれほど重要ではないかもしれません。
David Spillett、2009

RAID-0とLVMを組み合わせても意味がありません。デフォルトでは、LVMはスペースを最初から順番に割り当てます。LVMセットの一部がすべてのI / Oアテンションを取得し、そのアクティビティを1つのディスクに集中させる場合、これはパフォーマンスに影響を与える可能性があります。RAID-0は、RAID-0アレイ内のすべてのディスクにデータを明示的にストライプ化します。これにより、読み取りおよび書き込みアクティビティを高速化できます。違いは、LVMセットの1つのディスクに障害が発生した場合、少なくとも一部のデータが失われる可能性があることです。RAID-0セットの1つのディスクに障害が発生すると、すべてのデータが失われます。Raphinkによって提案されたRAID-5のアイデアは、ディスク障害に対する何らかの保護の幻想を少なくとも提供します
David Mackintosh

これらの明確化に感謝しますDavid&David、それは非常に興味深いことです。mdadmなどのソフトウェアRAIDシステムを使用する場合でも、ハードウェアRAIDシステムでのみ使用する場合でも、RAID0上のLVMは価値があると思いますか?
ℝaphink

2

ドライブプーリングとRAIDミラーリングが組み込まれているZFSも検討することをお勧めします。

ライセンスにいくつかの問題がありますが、実装が少し面倒ですが、3 TBのドライブを搭載したホームシステムで問題なく実行しています。


2
私はZFSの大ファンですが、実稼働環境のLinuxでFUSEファイルシステムとして実行することはお勧めしません。Linuxの場合は、BTRFSが成熟するのを待つ方がよいでしょう。BTRFSはZFSよりも優れた設計ですが、本番環境に対応できるようになってからまだ少なくとも1年(おそらく2年)だと思います。
3dinfluence 2009
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.