Linux LVM論理ボリューム構成プロセスの詳細な説明 多くの Linux ユーザーは、オペレーティング システムをインストールするときに、各ハード ディスク パーティションの容量を正確に評価して割り当てる方法というジレンマに遭遇します。最初の評価が不正確だと、システム パーティションが不足したときに、関連データをバックアップして削除したり、アプリケーション システムのニーズを満たすためにパーティションを再計画してオペレーティング システムを再インストールしたりしなければならない場合があります。 LVM は、Linux 環境でディスク パーティションを管理するためのメカニズムです。ハードディスクとパーティションの上、ファイル システムの下に構築される論理レイヤーであり、ディスク パーティション管理の柔軟性を向上させることができます。 RHEL5 のデフォルトのパーティション形式は LVM 論理ボリューム形式です。/boot パーティションは LVM ベースで作成することはできず、分離する必要があることに注意してください。 1.LVMの原理 LVM の原理を理解するには、まず 4 つの基本的な論理ボリュームの概念を習得する必要があります。 ①PE(フィジカルエクステンド) ②PV(物理ボリューム) ③VG(ボリュームグループ) ④LV(論理ボリューム) LVM を使用してディスクを動的に管理した後、それを論理ボリュームの形式で上位レベルのサービスに提示することがわかっています。したがって、すべての操作の目的は、実際には LV (論理ボリューム) を作成することです。論理ボリュームは、以前のパーティションを置き換えるために使用されます。論理ボリュームをフォーマットしてマウントすることで使用できます。では、LVM はどのように機能するのでしょうか?図がなければ真実はわかりません。論理ボリュームの原理を図で説明しましょう。 ! 1. 物理ハードディスクをPV(物理ボリューム)にフォーマットする 2 つのハードディスクがあり、1 つは sda、もう 1 つは sdb であることがわかります。LVM ディスク管理では、まずこれらの 2 つのハードディスクを PV (物理ボリューム)、つまり物理ボリュームとしてフォーマットする必要があります。実際、物理ボリュームをフォーマットするプロセスでは、LVM は基礎となるハードディスクを 1 つずつ PE (物理拡張) に分割します。LVM ディスク管理における PE のデフォルト サイズは 4M です。実際、PE は論理ボリューム管理の最も基本的な単位です。たとえば、400M のハードディスクがある場合、それを PV にフォーマットすると、PE のデフォルト サイズは 4M であるため、物理ハードディスクは実際には 100 個の PE に分割されます。これが私たちの第一歩です。 2. VG(ボリュームグループ)を作成する ハードディスクを PV にフォーマットした後、2 番目のステップはボリューム グループ、つまり VG (ボリューム グループ) を作成することです。ここで、ボリューム グループをスペース プールに抽象化できます。VG の役割は、PE をインストールすることです。VG に 1 つ以上の PV を追加できます。最初のステップでハードディスクが複数の PE に分割されているため、VG に複数の PV を追加すると、VG はさまざまな PV からの多くの PE を保存します。上の図から、2 つのハードディスクをフォーマットし、各ハードディスクを 3 つの PE にフォーマットし、2 つのハードディスクの PE を VG に追加し、VG に 6 つの PE が含まれ、これらの 6 つの PE が 2 つのハードディスクの PE の合計であることがわかります。通常、ボリューム グループを作成するときは、VG の名前である名前を付けます。 3. VGに基づいて最後に使用するLV(論理ボリューム)を作成します。 [注意] PV と VG は論理ボリュームの基礎となるものであるため、作成された後、それらを直接使用することはできません。実際に最終的に使用するものは、VG に基づいて作成された LV (論理ボリューム) であるため、3 番目のステップは、VG に基づいて最終的に使用する LV を作成することです。 VG を作成した後、この時点で LV を作成するということは、実際には VG から指定された数の PE を取り出すことを意味します。上の図を例に挙げてみましょう。この時点で、VG にはすでに 6 つの PE があることがわかります。この時点で、4 つの PE のサイズ、つまり 16M (PE のデフォルト サイズは 4M であるため) の最初の論理ボリュームを作成します。この 4 つの PE のうち 3 つは最初のハード ディスクから取得され、残りの PE は 2 番目のハード ディスクから取得されます。 2 番目の論理ボリュームを作成すると、最初の論理ボリュームに 4 つの PE が割り当てられているため、そのサイズは最大で 2 つの PE のサイズになります。 したがって、論理ボリュームを作成するということは、実際には VG から指定された数の PE を取り出すことを意味します。VG 内の PE は、異なる PV から取得できます。作成できる論理ボリュームのサイズは、VG 内の PE の数によって決まり、作成する論理ボリュームのサイズは PE の整数倍である必要があります (つまり、論理ボリュームのサイズは 4M の整数倍である必要があります)。 4. 作成したLVのファイルシステムをフォーマットし、マウントして使用します。 LV を作成したら、ファイルシステムをフォーマットできます。最終的に使用するのは、作成したばかりの LV です。これは、従来のファイル管理パーティションに相当します。まずファイルシステムをフォーマットし、マウントコマンドを使用してマウントする必要があります。この時点で、論理ボリュームを通常のパーティションのように使用できます。 LV を作成すると、/dev ディレクトリに LV 情報が表示されます (例: /dev/vgname/lvname)。VG を作成するたびに、VG にちなんで名付けられたフォルダーが /dev ディレクトリに作成されます。VG に基づいて LV を作成すると、この VG ディレクトリに LV にちなんで名付けられた追加の論理ボリュームが作成されます。 LVM 全体の動作原理をまとめてみましょう。 (1)物理ディスクはPVとしてフォーマットされ、その空間はPEに分割される (2)異なるPVが同じVGに追加され、異なるPVのPEがすべてVGのPEプールに入る。 (3)LVはPEに基づいて作成され、そのサイズはPEの整数倍になります。LVを構成するPEは、異なる物理ディスクから取得される場合があります。 (4)LVは直接フォーマットしてマウントして使用可能 (5)LVの拡大と縮小は、実際にはLVを構成するPEの数を増減させるものであり、その過程で元のデータは失われない。 ここで LV を拡張したい場合は、SDC ハードディスクを直接追加し、PE にフォーマットしてから、PV を VG に追加できることがわかります。この時点で、LV のサイズが VG の空き領域のサイズを超えない限り、LV 内の PE の数を増やすことで LV を動的に拡張できます。 2. LVM論理ボリュームを作成する LVM の動作原理を理解した後、まず物理ハードディスクを PV にフォーマットし、次に作成された VG に複数の PV を追加し、最後に VG を通じて LV を作成する必要があります。 3. 論理ボリュームを拡張する 従来のディスク管理方法のさまざまな問題と比較して、LVM 論理ボリュームを使用してディスクを管理すると、ディスクを動的に管理できることがわかっています。従来のディスク管理方法では、パーティション サイズが不足している場合、物理ハード ディスクを追加してからパーティションを分割するしかありませんでした。追加されたハード ディスクは独立したファイル システムとして存在するため、元のパーティションには影響しません。この時点でパーティションを拡張する必要がある場合は、まず以前のパーティションをアンインストールし、すべての情報を新しいパーティションに転送し、最後に新しいパーティションをマウントするしかありませんでした。実稼働環境の場合、これは考えられません。このため、ディスクを動的に管理できる LVM ディスク管理方法があります。 まず、論理ボリュームを動的に拡張する概略図を見てみましょう。 上の図から、論理ボリュームを拡張すると、実際には論理ボリューム内の PE の数が増加し、PE の数は VG 内の残りの PE の数によって決まることがわかります。 [注:] 論理ボリュームのストレッチ操作は、論理ボリュームをアンインストールせずにオンラインで実行できます。 これの利点は、論理ボリュームのサイズが十分でない場合にアンインストールする必要がなく、論理ボリュームのサイズを動的に増やすことができ、システムに影響を与えないことです。たとえば、サーバー上で重要なサービスまたはデータベースを実行していて、24 時間 365 日オンラインにする必要がある場合、論理ボリュームのサイズを動的に増やすことが非常に重要です。 次に、論理ボリュームを拡張する手順を見てみましょう。 論理ボリュームのストレッチ操作はオンラインで実行できるため、最初にここで論理ボリュームをマウントし、使用時に論理ボリュームを動的にストレッチします。 4. 実験環境: まず、空のハードディスク sdb から 2 つのパーティション sdb1 1G、sdb2 2G を作成します。次の LVM の準備をします。 将来のメンテナンスと管理を容易にするために、パーティションにラベルを追加することを忘れないでください。そうすれば、あなたがそこにいなくても、他の人がラベルを見てこの領域を簡単に移動することはできません。LVMラベルは8eです。設定後、wを押して保存することを忘れないでください。 1. 論理ボリュームを作成する 主に LVM 属性情報を追加し、PE ストレージ ユニットを分割して、新しく作成した 2 つのパーティション /dev/sdb1 /dev/sdb2 を物理ボリュームに変換します。 ボリューム グループ vgdata を作成し、作成した 2 つの物理ボリュームをボリューム グループに追加します。デフォルトの PE サイズは 4MB であり、PE はボリューム グループの最小のストレージ ユニットであることがわかります。サイズは、–s パラメータを使用して変更できます。 物理ボリューム vgdata から 500M を新しい論理ボリューム lvdata1 に分割します。 mkfs.ext4 コマンドを使用して、論理ボリューム lvdata1 に ext4 ファイル システムを作成します。 作成したファイルシステム /data1 を /data1 にマウントします。(作成後、/dev/mapper/ に「ボリューム グループ - 論理ボリューム」という名前のソフト リンクが生成されます) 将来サーバーを再起動したときに自動マウントを容易にするには、作成したファイルシステムのマウント情報を /etc/fstab に追加する必要があります。UUID は blkid コマンドで照会できます。 /etc/fstab が正しく設定されているかどうかを確認するには、まず論理ボリューム data1 をアンマウントし、次に mount –a を使用してカーネルに /etc/fstab を再読み取りさせ、自動的にマウントできるかどうかを確認します。 2. 論理ボリューム lvdata1 が不十分です。どのように拡張すればよいですか。 論理ボリュームにスペースを追加しても、以前のスペースの使用には影響しないため、ファイルシステムをアンマウントする必要はありません。lvextend –L +500M /dev/vgdata/lvdata1 または lvextend –l 2.5G /dev/vgdata/lvdata1 コマンドを直接使用して、lvdata1 に 500M のスペースを追加します (lvdata1 には現在 2G のスペースがあります)。設定が完了したら、resize2fs コマンドを使用してファイルシステムを同期することを忘れないでください。 3. ボリュームグループが足りない場合にボリュームグループを拡張する方法 2 番目のハードディスクにパーティション sdb3 を再作成します。具体的な手順は省略します。作成したパーティションを既存のボリューム グループ vgdata に追加します。 pvs コマンドを使用して、コマンドが成功したかどうかを確認します。 4. ハードディスクの容量が不足している場合は、論理ボリュームの容量を減らすことで、他の論理ボリュームで使用できるようになります。 論理ボリュームのスペースを削減するには、次の手順に従います。 1.まず論理ボリュームdata1をアンマウントする 2. 次に、e2fsck コマンドを使用して論理ボリュームの空き領域を確認します。 3. resize2fs を使用してファイル システムを 700M に縮小します。 4. lvreduce コマンドを使用して論理ボリュームを 700M に縮小します。 注意: ファイル システムのサイズと論理ボリュームのサイズは一致している必要があります。論理ボリュームがファイル システムより大きい場合、一部の領域がファイル システムとしてフォーマットされないため、スペースが無駄になります。論理ボリュームがファイルシステムより小さい場合、データに問題が発生します。 完了後は、mount コマンドを使用してマウントし、再利用することができます。 5. ディスクまたはパーティションに障害が発生した場合に、同じボリューム グループ内の他の領域にデータをすばやく転送する方法。 1. pvmoveコマンドでスペースデータを転送する 2. vgreduce コマンドを使用して、障害が発生したディスクまたはパーティションをボリューム グループ vgdata から削除します。 3. pvremove コマンドを使用して、システムから不良ディスクまたはパーティションを削除します。 4. ハードディスクを手動で取り外すか、ツールを使用してパーティションを修復します。 6. 論理ボリューム全体を削除する 1. まず、umountコマンドを使用して論理ボリュームlvdata1をアンマウントします。 2. /etc/fstab 内の論理ボリュームのマウント情報を変更します。変更しないと、システムが起動しない可能性があります。 3. lvremoveを使用して論理ボリュームlvdata1を削除します。 4. vgremoveを使用してボリュームグループvgdataを削除します。 5. pvremove を使用して物理ボリュームを通常のパーティションに変換します。 削除した後は、パーティション ID を変更することを忘れないでください。通常の Linux パーティションに変更するだけです。 概要: LVM 論理ボリュームは、フォーマットせずにパーティションを拡大または縮小できないため、Linux における優れたスペース利用メカニズムです。 LVM を使用すると、ディスク領域を柔軟にすることができます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: フィールドの文字セットの違いによる MySQL のインデックス失敗の解決策
>>: JS でシングルトン モードを実装するための 6 つのソリューションの概要
Web Skills第5号では、CSSでダークモードやハイライトモードを実装するための技術的なソリュ...
目次要件の説明問題の説明問題分析問題解決質問の拡張要件の説明このプロジェクトでは、まずユーザーが質問...
目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...
必要なコメントを追加することは、責任感と道徳心のあるフロントエンド開発者が持つべき良い習慣であり、コ...
まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...
タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...
序文この記事では主にMySQLのカスタム関数とストアドプロシージャに関する関連コンテンツを紹介し、皆...
目次1. 共有共通モジュール2. 共有マテリアルモジュール3. 共有確認ダイアログ1. 共有共通モジ...
純粋な CSS で固定ヘッダーを実装するのが難しい主な理由は 2 つあります。まず、最大のシェアを持...
「初心者向けソースコードからの MySQL デッドロック問題の理解」では、MySQL ソースコードを...
ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...
この記事では主に CentOS 上で MySQL マスタースレーブサーバーを構築する方法を紹介します...
<br />関連記事: Web スキル: 複数の IE バージョンを共存させるソリューシ...
KILL [接続 | クエリ] processlist_id MySQL では、各接続は個別のスレ...
序章nginx が優れたリバース プロキシ サービスであることは誰もが知っています。nginx を使...