GNU/Linux >> Linux の 問題 >  >> Linux

Logical Volume Manager の利点は何ですか

解決策 1:

私のブログエントリから直接引用: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:

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

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

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

解決策 3:

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 がない場合、いくつかのオプションがあります:

<オール>
  • 完全な RAID アレイを 1+0 構成で再構築します。これには、マシンからデータを移動し、再構築して元に戻す必要があります。
  • 別個の新しい RAID 1 ボリューム グループを作成します。 Linux ではすでに最初の RAID ボリュームが /home にマウントされているため、2 つ目の RAID ボリュームを /home1 などにマウントする必要があります。最初のパスと一貫性のあるユーザーの適切なパスを取得するには、同じ効果を得るためにシンボリック リンクを使用する必要がある場合があります。さらに、このソリューションでは、元の RAID ボリュームを定期的にメンテナンスし、場合によっては元のパーティションからデータを移行する必要があります。
  • LVM を使用すると、新しい RAID 1 ボリューム グループを追加のストレージ プールに追加し、ファイル システムのサイズを変更するだけで (サポートされている場合)、ほら、/home が突然大きくなります。データを /home から /home1 に、またはその逆に移動する可能性がある場合は、シンボリック リンクを作成したり、メンテナンスを行ったりする必要はありません。すすぎ、洗浄、将来のディスクのアップグレードのために繰り返します。

    オンライン メンテナンス

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

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


    Linux
    1. DebianとUbuntu:違いは何ですか?

    2. Readlineワードセパレーターとは何ですか?

    3. ワイヤレスのネットワークマネージャーに代わるものは何ですか?

    1. pfSenseとNetgearルーター:主な違いは何ですか?

    2. FedoraとUbuntu:主な違いは何ですか?

    3. DNS サーバーの種類とは

    1. Ansibleを使用して論理ボリュームマネージャーの構成を自動化する

    2. Linux のメッセージ キューの短所は何ですか?

    3. platform.linux_distribution() 非推奨 - 代替手段は何ですか?