Logical Volume Managerの利点[終了]


11

論理ボリュームマネージャーの機能と、Wikipediaページの詳細を超える潜在的な利点は何ですか?


1
何に対して??本当に、これはあまりにも曖昧な質問です。
ナンディニアナンド

オプションについて詳しく説明してください。
オリ

1
うわー-その質問を言い換えると、マット・シモンズから素晴らしい答えを得ました!
dunxd

1
:完全を期すために、それはまた、LVMの危険性や注意点を見て価値があるserverfault.com/questions/279571/lvm-dangers-and-caveats
RichVel

回答:


33

私のブログエントリから直接取得:http : //www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

最初に、LVMのない生活について説明しましょう。昔のことですが、ハードドライブがありました。このハードドライブにはパーティションがあります。これらのパーティションにファイルシステムをインストールしてから、それらのファイルシステムを使用できます。両方の方法で上り坂。次のように見えました。

実際のドライブ、この場合はsdaがあります。そのドライブには、sda1とsda2の2つのパーティションがあります。未使用の空き領域もあります。各パーティションにはファイルシステムがあり、マウントされています。実際のファイルシステムのタイプは任意です。ext3、reiserfs、またはあなたが持っているものと呼ぶことができます。注意すべき重要なことは、ディスクパーティションと可能なファイルシステムとの間には直接的な1対1の相関関係があるということです。

まったく同じ構造を再作成する論理ボリューム管理を追加してみましょう。

これで、同じパーティションが表示されますが、パーティションの上に「ボリュームグループ」と呼ばれるレイヤーがあり、文字通りボリュームのグループ、この場合はディスクパーティションです。これは、パーティション化できる一種の仮想ディスクと考えることもできます。以前の構成と正確に一致しているため、システムの長所はまだわかりません。ボリュームグループの上に論理ボリュームを作成していることに気付くかもしれません。論理ボリュームは仮想パーティションと考えることができ、これらに基づいてファイルシステムを構築します。

複数の物理ボリュームを追加するとどうなるかを見てみましょう。

ここには、sda、sdb、sdcの3つの物理ディスクがあります。最初の2つのディスクにはそれぞれ、スペース全体を占める1つのパーティションがあります。最後のsdcには、ディスクの半分を占める1つのパーティションがあり、残りの半分はパーティション化されていない空き領域です。

現在使用可能なすべてのボリュームを含むボリュームグループが表示されます。これが最大のセールスポイントの1つです。ディスクの合計と同じ大きさの論理パーティションを構築できます。多くの点で、これはRAIDレベル0の動作に似ていますが、ストライピングがまったくない点が異なります。データの大部分は線形に書き込まれます。冗長性が必要な場合、またはRAIDが提供するパフォーマンスが向上する場合は、論理ボリュームをRAIDアレイの上に配置してください。ここでは、RAIDスライスは物理ディスクとまったく同じように機能します。

これで、2と1/2のディスクを占有するこのボリュームグループができました。2つの論理ボリュームに分割されており、最初のボリュームはどのディスクよりも大きくなっています。論理ボリュームは、実際の物理ディスクの大きさを気にしません。なぜなら、それらはmyVolumeGroup01から切り出されているだけだからです。これから見るように、この抽象化層は重要です。

ユーザーを追加したため、未使用のスペースが必要だと判断した場合はどうなりますか?

通常、1対1のマッピングを使用した場合、いくつかの悲しみに陥りますが、論理ボリュームを使用すると、次のことができます。

ここでは、/ dev / sdcの以前の空き領域を取得し、/ dev / sdc2を作成しました。次に、それをmyVolumeGroup01を構成するボリュームのリストに追加しました。それが完了したら、必要に応じて論理ボリュームのいずれかを自由に拡張できました。ユーザーを追加してから、myLogicalVolume2を増やしました。その時点で、ファイルシステム/ homeがサポートしている限り、自由に拡張して余分なスペースを埋めることができました。なぜなら、ストレージが存在する物理ディスクからストレージを抽象化したからです。

さて、それは論理ボリューム管理の基本的な理由をカバーしています。独自のシステムを準備および構築する方法について詳しく知りたいと思っているので、ここから始めるための優れたリソースをいくつか紹介します。

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html


2
+1により、優れた説明と視覚化が実現します。
カオスのデーモン

5

LVMを使用して、ディスクで多くのことを実行できます。主な利点は、その場でファイルシステムを拡張できることです。あなたがログサーバーをセットアップしていて、将来、大量のデータがあることを知っているとします。Ext3は最大16TBをサポートします(カーネルとELのバージョンによります)。しかし、2年後に1PBのストレージが必要になったらどうしますか?まあ、これはいくつかの問題を作成します。まず、上司は、ストレージハードウェアの価格を伝えると、ヘッドライトの目で鹿を見て見ます。これは別の問題につながります-上方に拡張できる小さなソリューションから始める必要があります。LVMはそのオプションを提供します。いくつかのディスクから始めます。次に、さらに追加し、それらを論理グループに変換し、最初の論理ボリュームに追加し、ボリュームのサイズを増やして、最終的にファイルシステムを拡大します。出来上がり

これにより、デバイスからデータを移動し、LUNを再フォーマットし、アップグレードを実行するためにすべてを元に戻す必要がなくなります。簡潔に申し訳ありませんが、それが理にかなっていることを願っています。

編集:1PBを扱っている場合、Ext3 ...おそらくXFSを使用する必要はないことにも注意してください。


16 TBから1 PBに拡張するメカニズムとしてLVMを購入するわけではありません。「シンプロビジョニング」を可能にするZFSなどが本当に必要です。つまり、合計約1 PBのZFSストレージプールを作成しますが、部分的にのみバックアップされます実際のストレージブロックごと。成長するにつれて、同じプール内にストレージを追加するだけです。LVMを使用すると、ストレージを追加するたびにFSのサイズ変更とfsckの実行に膨大な時間を費やすことになります。
-RichVel

4

LVMには多くの間接的な利点があります。LVMが行う主なことは、オペレーティングシステムから物理ディスクを抽象化することです。これの主な利点は、柔軟性です。LVMの利点のほとんどは、オンザフライでサイズ変更をサポートするファイルシステムがある場合にのみ実現されます。LVMが行う基本的なことを以下に説明します。

システムパーティションはディスクの1層上に存在します

LVMを使用しない場合、Linuxはディスク上に物理的に配置されているパーティションを使用します。パーティションは直接的なデバイス名です。パーティションテーブルはMBRにあり、通常(論理拡張パーティションの場合)拡張ブートレコードにあります(これにより、より多くのパーティションを作成できます)。パーティションはサイズタイプを定義します他の属性の中でも(より具体的には、基本的にサイズを定義する開始および終了シリンダーを定義します)。これらはディスクと非常に密接に結びついているため、インストール時に「正しい」パーティションスキームを設定することが重要です。突然、マシンの機能が変わる場合、または初心者でパーティション分割の意味を理解していない場合、またはどこかでディスク使用量を過小評価している場合、または特定のアプリケーションのログを変更している場合、パーティション分割の変更は面倒です。それを行うためのツールはありますが、通常は、パーティションからデータを移動して変更する必要があります。明らかに、4つのパーティションがある場合、2番目のパーティションの終了シリンダーを変更すると3番目と4番目のパーティションがシリンダーを開始するため、乱雑な状況に陥ります。

ナイーブは単一の大きなパーティションの使用を推奨するかもしれませんが、クォータを導入したり、システムの一部(/ var / log、/ tmpなど)を埋める不正なプロセスを隔離する必要がある場合は元に戻されます。

これの利点は次のとおりです。

ストレージの追加/削除

通常、ストレージの追加は簡単です。ハードウェアまたはソフトウェアRAIDを使用してディスクを追加する場合、多くの場合、必要な場所で新しいストレージをLinuxで使用できるようにするために、シンボリックリンクをいじってRAIDアレイを再構築する必要があります。

いっぱいになっている大きな/ homeディレクトリの例を見てみましょう。既存の2ディスクRAID 1ボリュームに存在します。さらに2つのディスクを追加します。これらをハードウェアRAID 1構成でセットアップします。LVMを使用しない場合、いくつかのオプションがあります。

  1. 完全なRAIDアレイを1 + 0構成で再構築します。これには、マシンからデータを移動し、再構築して、元に戻す必要があります。
  2. 別の新しいRAID 1ボリュームグループを作成します。Linuxでは、最初のRAIDボリュームがすでに/ homeにマウントされているため、2番目のRAIDボリュームを/ home1または同様のものにマウントする必要があります。ここで、最初のものと一貫性のあるユーザーの適切なパスを取得するには、シンボリックリンクを使用して同じ効果を得る必要があります。さらに、このソリューションでは、元のRAIDボリュームを常に保守し、元のパーティションからデータを移行する可能性があります。

LVMを使用すると、新しいRAID 1ボリュームグループを追加のストレージプールに追加し、ファイルシステムのサイズを変更して(サポートしている場合)、/ homeが突然大きくなります。/ homeから/ home1またはその逆にデータを移動する可能性があるため、シンボリックリンクやメンテナンスを行う必要はありません。すすぎ、洗浄し、将来のディスクのアップグレードのために繰り返します。

オンラインメンテナンス

ハードウェアがサポートしている場合、ほとんどのLVMタスクは、マシンを再起動せずにオンラインで実行できます。システム上のディスクをホットスワップできる場合は、新しいディスクを追加し、その後古い(おそらく小さい)ディスクを削除して、システムストレージ要件を増やすことができます。

LVMボリュームの主な問題の1つは、容量に近づくにつれて、断片化が私の経験の問題になる可能性があることです。ボリュームが90%を超え、実際に95%を超えると、ディスクの使用状況とファイルの種類によっては、ディスクの断片化が悪化する可能性があります。過度に心配することはめったにありません。これは、あらゆる種類のボリューム/パーティション管理の場合ですが、ここで懸念しているのはパーティションではなく、ボリューム層の断片化です。


利点については良い答えですが、あなたのポイント(2)は、VGを作成するのではなく、「新しいRAID 1ボリュームを作成する...」という意味だと思います。これは非LVMの場合で、おそらくハードウェアRAIDを前述のように使用するためです。
-RichVel

1

これを適用する状況に関する詳細情報を提供しておく必要があります。そうすることで、関連性のない広範な回答ではなく、ターゲットを絞った回答を行うことができます(コメントで他にコメントすることはできません)。

ここで、質問(ボリューム)(パーティション)の作成、サイズ変更、削除が簡単になりました。また、状況に応じて、ボリュームのスナップショットを作成する機能もあります。


1

既にベストアンサーが選択されていますが、このトピックに私の意見をお寄せください。私の経験から、1つの物理ドライブがある場合、または複数のドライブがある場合でも、LVMの有用性に疑問を呈します(個人的にシステムドライブでLVMを使用することはありません)。ただし、LVMが本当に不可欠なのは、ハードウェアRAIDの上です。これにより、RAIDとLVMの機能を明確に分離できます。RAIDを使用してストレージの信頼性とパフォーマンスの特性を管理し、LVMを使用して実際のボリュームをシステムに割り当てます。時々、この機能は重複します。つまり、LVMはRAID-0とRAID-1の機能を提供できますが、深刻なビルドでこの2つを使用することはお勧めしません。

基本的に、RAIDとLVMは一緒に属し、一方を使用して他方を使用することは通常最適ではありません。

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