ディスク パーティションを管理するということは、システムをシャットダウンし、再起動したらすべてが機能することを期待することだと考えているのであれば、謹んで同情いたします。 Linux LVM マウント機能を利用できていないのは残念ですが、ストレージ管理はそれほど面倒なものではないことに気づいています。
このガイドでは、Linux で LVM を作成し、LVM パーティションをマウントし、ダウンタイムなしで論理ボリュームを管理する方法を説明します。 Ubuntu LVM および CentOS システム (または、それらの最新の代替システム) で動作する重要な Linux LVM コマンドを学びます。
TL;DR
- LVM は物理ディスクとファイル システムの間に柔軟なストレージ層を作成し、システムの実行中にパーティションのサイズを変更できるようにします。
- でインストールします apt インストール LVM2 Ubuntu または dnf インストール LVM2 Rocky Linux/AlmaLinux 上 (CentOS は廃止されました。代わりにこれらを使用してください)
- 次のようにドライブを初期化して LVM を作成します。 pv作成でグループ化します。 vgcreate、論理ボリュームをカービングする lvcreate
- でフォーマットした後、LVM パーティションを他のパーティションと同様にマウントします。 mkfs.ext4 そしてエントリを追加する /etc/fstab
- 主要なコマンド: PV, vgs, レベル セットアップを表示します。 lvresize その場でサイズを変更します。 lvcreate -s スナップショットを作成します
Linux の LVM とは何ですか?

LVM (Logical Volume Manager) は、物理ディスクとファイル システムの間に位置します。 LVM は、固定パーティションをドライブに直接作成するのではなく、すべてがオンラインのままで、ストレージのサイズ変更、移動、スナップショットを実行できる柔軟なレイヤーを作成します。
内部では何が起こっているかを説明します。物理ドライブは「物理ボリューム」になります。これらは「ボリューム グループ」にまとめられます。これらのグループから、通常のパーティションのように機能しながら実際の柔軟性を備えた「論理ボリューム」を作成します。
実際の違いは、より多くのスペースが必要な場合に現れます。従来のパーティションでは、シャットダウンして USB から起動し、データが失われないように祈る必要がありました。 LVM を使用すると、システムが動作し続けている間、単一のコマンドを実行できます。拡張時のサーバー移行中にこれを学びました /家 200GB までにかかる時間は、週末丸々かかるのではなく、約 30 秒です。
物理ボリュームの仕組み
物理ボリュームは、LVM が使用できる任意のストレージデバイスです。ハードドライブ、SSD、RAID アレイ、さらにはループデバイスもカウントされます。それらを次のように初期化します。 pv作成、LVM メタデータを書き込み、デバイスをボリューム グループで使用可能としてマークします。
物理ボリュームでは、その下にどのようなハードウェアが存在するかは関係ありません。その 500 GB の回転ディスクと新しい 2 TB NVMe ドライブは、LVM には同じように見えます。これは、ストレージを組み合わせて使用する場合に重要です。
ボリュームグループについて
ボリューム グループは、複数の物理ボリュームを 1 つのストレージ ユニットにプールします。 3 つの 1TB ドライブを 1 つの 3TB プールに結合することを考えてください。ボリュームグループを作成するには、 vgcreate また、容量が変更されるたびに物理ボリュームを追加または削除できます。
このプーリング手法は、ディスクごとの計画に縛られないことを意味します。もっとスペースが必要ですか?別のドライブをボリューム グループに追加します。古いドライブを交換しますか?データをそこから移動します pvmove システムの稼働中にハードウェアを交換します。
論理ボリュームの役割

論理ボリュームは実際に使用するものです。これらはボリューム グループから切り分けられ、通常のパーティションのように動作します。 ext4 または xfs でフォーマットし、どこにでもマウントし、いつでもサイズ変更できます。違いは、物理ディスクの境界に縛られていないことです。
走るとき lvcreate -L 50G -n データ datavgの場合、ボリューム グループのプールから 50 GB を割り当てます。そのスペースは 1 つのドライブから取得される場合もあれば、複数のドライブに分散される場合もあります。 LVM が配布を処理するため、気にする必要はありません。
物理的範囲の説明
物理エクステントは LVM の最小割り当て単位であり、通常は 4MB ブロックです。論理ボリュームを作成すると、LVM はボリューム グループから物理エクステントを割り当てます。このきめ細かいアプローチにより、ボリュームのサイズを正確に変更できます。
エクステントのサイズは、ボリュームが大きい場合に重要です。エクステントが大きいほど、メタデータのオーバーヘッドは少なくなりますが、割り当ては粗くなります。デフォルトの 4MB は、ほとんどの状況で機能します。計算上、より大きなエクステントが有利になる大規模ストレージ アレイ以外では、これを変更したことはありません。
ポイントインタイムバックアップ用のスナップショット
スナップショットは、特定の時点での論理ボリュームの状態をキャプチャします。 LVM はコピーオンライト技術を使用します。元のデータはそのまま残ります。何かが変更されると、LVM は新しいデータをメイン ボリュームに書き込む間、古いブロックをスナップショットに保持します。
システムのアップデートをテストしたいですか?まずスナップショットを撮ります。何かが壊れますか?スナップショットから復元します。 LVM はすべてをコピーするのではなく、変更されたブロックのみを追跡するため、操作全体には数秒かかります。
主要なスキーマ変更の前に、実稼働データベースのスナップショットを作成しました。安心感にはオーバーヘッドがほとんどかからず、失敗した移行をロールバックすることで完全な再構築を 3 回回避しました。
LVM ストライピングを使用する場合
ストライピングはデータを複数の物理ボリュームに分割します。 RAID 0に似ています。ファイルを書き込むと、LVM はチャンクを異なるドライブに同時に分散します。この並列化により、特に大きなファイルやデータベースの場合、読み取りと書き込みの両方が高速化されます。
パフォーマンスの向上はワークロードによって異なります。大きなファイルのシーケンシャル読み取りが最もメリットをもたらします。ランダム アクセス パターンでは改善が見られません。データベース サーバーとビデオ編集ワークステーションは実際の違いに気づきます。
冗長性のためのLVMミラーリング
ミラーリングでは、物理ボリューム間でデータが複製されます。 1 つのドライブに障害が発生しても、データはミラー上に残ります。 LVM は同期を自動的に処理します。追加のストレージよりもダウンタイムのコストがかかる場合、パフォーマンスの低下は価値があります。
最近のセットアップでは、冗長性のために RAID を使用し、柔軟性のために LVM をトップに使用することがよくあります。ハードウェア レベルの保護とソフトウェア レベルの管理が得られます。どちらかを単独で使用するよりも、組み合わせて使用する方が効果的です。
ストレージ管理アプローチを比較している場合は、次を確認してください。 LVM と ZFS の比較 それぞれがワークロードにとっていつ意味があるのかを理解するために。
Ubuntu と CentOS に LVM をインストールするにはどうすればよいですか?

適切なコマンドを知っていれば、LVM のインストールには約 60 秒かかります。最新の Linux ディストリビューションは、依存関係を自動的に処理します。パッケージをインストールして動作を確認すると、ストレージを構成する準備が整います。
始める前に 1 つの重要な注意事項があります。CentOS は 2020 年にサポートが終了しました。CentOS をまだ実行している場合は、Rocky Linux または AlmaLinux に切り替えてください。これらは実際にセキュリティ更新プログラムを入手できるドロップイン交換品です。ここでのコマンドは、Rocky Linux 9、AlmaLinux 9、Ubuntu 24.04、および現在の Debian リリースで同様に機能します。
まずシステムをアップデートしてください
まず、システムのパッケージ リストを更新します。これにより、すべてのセキュリティ パッチとバグ修正が含まれた最新の LVM2 バージョンを確実に入手できます。
Ubuntu システムの場合:
sudo aptアップデート
CentOS ベースのシステム (Rocky Linux/AlmaLinux) の場合:
sudo dnf アップデート
最新の RHEL ベースのシステムでは、 DNF パッケージマネージャーとして。古いチュートリアルに次のような記述がある場合は、 うーん、無視してください。 DNF は 2015 年に yum を置き換え、依存関係の解決とパフォーマンスが向上しました。
LVM2パッケージをインストールする
パッケージ名は LVM2 すべてのディストリビューションにわたって。インストールでは、デバイスマッパー ツールや関連ライブラリを含む依存関係が自動的に取り込まれます。
Ubuntu 論理ボリューム マネージャーのインストール:
sudo apt install lvm2
CentOS 論理ボリューム マネージャーのインストール (Rocky/AlmaLinux):
sudo dnf インストール lvm2
インストールが完了するまで待ちます。まともなインターネットを備えた最新のハードウェアでは 10 ~ 15 秒かかります。パッケージのサイズは小さく、約 2 ~ 3MB プラス依存関係があります。
インストールが成功したことを確認する
LVM2 が正しくインストールされていることを確認し、実行しているバージョンを確認します。
sudo LVM バージョン
バージョン情報とビルドの詳細が表示されます。現在のバージョンは 2.03.x 以降で実行されます。コマンドが失敗するか、「コマンドが見つかりません」というメッセージが返された場合は、インストールで問題が発生したことになります。
最新の systemd ベースのディストリビューションでは、起動時に LVM が自動的にアクティブになります。古い init システムのようにサービスを手動で有効にする必要はありません。 lvm2-activation-generator がすべてを処理します。これにより、設定する内容が 1 つ減ります。
重要なデータが保存されていないシステムで LVM をテストしたいですか?をスピンアップすることを検討してください。 最高の Linux VPS ここでは、実稼働ファイルを危険にさらさずに実験できます。
Linux で LVM を作成するにはどうすればよいですか?

LVM の作成には、物理ボリュームの初期化、ボリューム グループへのグループ化、論理ボリュームの分割という 3 つの手順が含まれます。このプロセスは実際よりも複雑に思えます。おそらく合計 6 つのコマンドを実行することになります。
開始する前に、使用するドライブを特定します。ここでの例では、 /dev/sdX プレースホルダーとして。実際のデバイス名は異なります。走る lsblk システムに何が接続されているかを確認します。
物理ボリュームの初期化
物理ボリュームは、LVM に使用できるドライブを伝えます。でドライブを初期化します pv作成:
sudo pvcreate /dev/sdb
交換する /dev/sdb 実際のデバイスで。これにより、LVM メタデータがドライブに書き込まれ、使用可能としてマークされます。ドライブには従来のパーティション構成は必要なくなりました。
複数のドライブを一度に初期化したいですか?それらをすべてリストします。
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVM はそれらをまとめて処理します。作成したものを確認します。
sudo pv
これには、すべての物理ボリューム、そのサイズ、およびそれらが属するボリューム グループ (まだ何もありません) が表示されます。
ボリュームグループの作成
ボリューム グループは、物理ボリュームを 1 つのストレージ ユニットにプールします。 「datavg」という名前のボリューム グループを作成します。
sudo vgcreate datavg /dev/sdb
作成中に複数のドライブを同じグループに追加します。
sudo vgcreate datavg /dev/sdb /dev/sdc
これで、これらのドライブは 1 つのプールとして機能します。ボリューム グループを確認します。
sudo vgs
合計サイズ、論理ボリュームに割り当てられている量、将来の割り当てのためにどれだけ空きが残っているかが表示されます。
論理ボリュームの作成
論理ボリュームは、実際にフォーマットしてマウントするものです。これらは、ボリューム グループの利用可能なスペースから切り取られます。 50GBのボリュームを作成します。
sudo lvcreate -L 50G -n データ datavg
これにより、「datavg」ボリューム グループから「data」という名前の論理ボリュームが作成されます。完全なデバイス パスは次のようになります。 /dev/datavg/data.
サイズを指定する代わりに、利用可能なスペースをすべて使用したいですか?
sudo lvcreate -l 100%FREE -n データ datavg
の -l 100%無料 オプションは残りのすべてのバイトを割り当てます。 1 つの論理ボリュームがボリューム グループ全体を使用する単純なセットアップに役立ちます。
論理ボリュームをフォーマットする
論理ボリュームには、他のパーティションと同様にファイル システムが必要です。 ext4 でフォーマットします。
sudo mkfs.ext4 /dev/datavg/data
これには、ボリュームが小さい場合は数秒かかりますが、ボリュームが大きい場合はさらに時間がかかります。出力には、ブロック数と i ノード情報が表示されます。何かが失敗しない限り、詳細は無視してかまいません。
代わりに xfs が必要ですか? ext4 を xfs に置き換えます。どちらも正常に動作します。 Ext4 は Ubuntu システムでより一般的です。 Rocky Linux は、ほとんどの使用例でデフォルトで xfs を使用します。
LVM コマンドの使用には細心の注意を払ってください。ストレージ インフラストラクチャを直接変更します。以前、デバイス名をタイプミスして、2TB のクライアント ファイルを消去したことがあります。ストレージ構成を変更する操作を実行する前に、重要なデータのバックアップを作成してください。
LVM パーティションをマウントするにはどうすればよいですか?
LVM パーティションのマウントは、他のパーティションのマウントとまったく同じように機能します。マウント ポイント ディレクトリを作成し、mount コマンドを実行し、オプションでエントリを追加します。 /etc/fstab 起動時の自動マウント用。
唯一の違いはデバイスのパスです。の代わりに /dev/sda1、あなたは使います /dev/ボリュームグループ/論理ボリューム。他はすべて同じままです。
マウントポイントディレクトリを作成する
マウント ポイントは、ファイル システムにアクセスする単なるディレクトリです。ユースケースに適した場所に作成します。
sudo mkdir /mnt/data
わかりやすい名前を使用してください。 /mnt/データ, /mnt/バックアップ, /ホーム/共有 すべての仕事。場所は機能には影響しません。好む人もいます /mnt 一時マウントと専用ディレクトリの場合 / 永久的なもののために。
論理ボリュームをマウントする
フォーマットされた論理ボリュームをマウント ポイントにマウントします。
sudo マウント /dev/datavg/data /mnt/data
デバイス パスとマウント ポイントを実際の値に置き換えます。ファイル システムには次の場所からアクセスできるようになりました。 /mnt/データ。そこで作成したファイルはすべて、論理ボリューム上に存在します。
マウントが成功したことを確認します。
df -h /mnt/データ
ボリュームの合計サイズ、使用済みスペース、使用可能なスペース、およびマウント ポイントが表示されます。何も表示されない場合は、マウント コマンドは失敗しています。デバイスパスを確認し、論理ボリュームが存在することを確認してください。 レベル.
マウントを永続化する
一時的なマウントは再起動後に消えます。エントリを追加する /etc/fstab 永久マウントの場合:
sudo nano /etc/fstab
最後に次の行を追加します。
/dev/datavg/data /mnt/data ext4 デフォルト 0 0
形式は、デバイス、マウント ポイント、ファイル システム タイプ、マウント オプション、ダンプ優先順位、fsck 順序です。最後のゼロは、ほとんどの状況で正常に機能します。変化 内線4 実際に使用したファイル システムと一致するようにします。
保存してエディタを終了します。再起動せずに fstab エントリをテストします。
sudo マウント -a
これにより、まだマウントされていない fstab 内のすべてがマウントされます。エラーが表示された場合は、fstab に間違った内容を入力したことになります。再起動する前に修正してください。再起動しないと、システムが正しく起動しなくなる可能性があります。
実稼働ワークロード用にボリュームをマウントする場合、パフォーマンスが重要になります。 LVM 構成をセットアップした後、 Linux でのディスク速度のテスト 実際のスループットとレイテンシーをベンチマークします。
Ubuntuのインストール中にLVMをマウントする
Ubuntuのインストーラー システムセットアップ中のLVM構成をサポートします。パーティション画面に到達したら、「手動」パーティションを選択し、「論理ボリュームマネージャーの構成」を選択します。
このアプローチは、新規インストールに適しています。オペレーティング システムをインストールする前に、ボリューム グループと論理ボリュームを設定します。インストーラーが処理します /etc/fstab エントリが自動的に作成されます。
既存のシステムの場合、上記のコマンドライン アプローチを使用すると、より詳細な制御が可能になり、各ステップで何が起こっているかを正確に理解できるようになります。
マウントの問題のトラブルシューティング
LVM パーティションがマウントできない場合は、まず次の一般的な問題を確認してください。
ボリュームグループがアクティブ化されていません:
sudo vgchange -ay
これにより、すべてのボリューム グループがアクティブになります。新しいドライブを追加したり再起動したりしても、自動的にアクティブ化されない場合があります。
間違ったデバイスパス: 論理ボリュームが存在することを確認します。 レベル 次のようなフルパスを使用します /dev/ボリュームグループ/論理ボリューム、ショートカットではありません。
ファイル システム エラー: アンマウントされたボリュームに対してファイル システム チェックを実行します。
sudo fsck /dev/datavg/data
ファイル システムが破損しているため、マウントできません。 fsck ツールは、多くの問題を自動的に修正できます。
必須の Linux LVM コマンドとは何ですか?
Linux LVM コマンドを使用すると、コマンド ラインからストレージ設定全体を管理できます。これらは、古いドキュメントにある理論的なコマンドではなく、実際に実際に使用するものです。
物理ボリュームの表示
システム内のすべての物理ボリュームを表示します。
sudo pv
これは、デバイス名、ボリューム グループ、フォーマット、属性、サイズ、空き領域を含む簡潔な表を示しています。特定の物理ボリュームの詳細については、以下を参照してください。
sudo pvdisplay /dev/sdb
詳細ビューには、物理エクステント サイズ、合計エクステント、割り当てられたエクステント、および UUID が含まれます。容量を計画するために正確な数値が必要な場合に役立ちます。
ボリュームグループの表示
すべてのボリューム グループをリストします。
sudo vgs
ボリューム グループ名、物理ボリューム数、論理ボリューム数、属性、合計サイズ、空き容量が表示されます。包括的な詳細については:
sudo vgdisplay datavg
これには、エクステント サイズ、合計エクステント、割り当てポリシー、UUID などのすべてが表示されます。新しい論理ボリュームを計画するときにこれを使用して、残りのスペースがどれくらいかを正確に確認します。
論理ボリュームの表示
すべての論理ボリュームをリストします。
sudo lvs
出力には、論理ボリューム名、そのボリューム グループ、属性、サイズ、および使用する物理エクステントが表示されます。完全な情報については:
sudo lvdisplay /dev/datavg/data
これにより、論理ボリュームのパス、ブロックデバイス、作成時間、ステータス、セグメントが明らかになります。マウントの問題のトラブルシューティングやスナップショットの関係を確認するときに役立ちます。
ボリュームグループの拡張
より多くの容量が必要な場合は、既存のボリューム グループに物理ボリュームを追加します。
sudo vgextend datavg /dev/sdd
これは追加します /dev/sdd 「datavg」ボリュームグループに追加します。空きスペースは、既存の論理ボリュームまたは新しい論理ボリュームの作成にすぐに使用できるようになります。再起動は必要ありません。
バックアップがアクティブに実行されている間に、この方法で 2 TB ドライブをバックアップ ボリューム グループに追加しました。操作全体には約 5 秒かかりました。
論理ボリュームのサイズ変更
論理ボリュームを拡張してスペースを増やします。
sudo lvresize -L +50G /dev/datavg/data
これにより、論理ボリュームに 50GB が追加されます。サイズ変更後、新しいスペースを使用するようにファイル システムを拡張します。
ext4の場合:
sudo サイズ変更2fs /dev/datavg/data
xfs の場合:
sudo xfs_growfs /mnt/data
ファイル システムは、論理ボリュームを満たすまで拡張されます。ボリュームがマウントされ使用されている間にすべてが行われます。ユーザーは、利用可能なスペースが増えたこと以外は何も気づきません。
代わりに縮小したいですか?これはリスクが高く、最初にアンマウントする必要があります。ボリュームを縮小する前に必ずバックアップを行ってください。
ボリュームスナップショットの作成
スナップショットは、バックアップまたはテストのために論理ボリュームの現在の状態をキャプチャします。
sudo lvcreate -s -L 10G -n データスナップショット /dev/datavg/data
これにより、「data」論理ボリュームの「data-snapshot」という名前の 10GB スナップショットが作成されます。スナップショットはコピーオンライト技術を使用します。ボリューム全体ではなく、変更されたブロック用のスペースのみが必要です。
一貫性のあるバックアップのためにスナップショットを読み取り専用でマウントします。
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
バックアップ元 /mnt/スナップショット その間、元のボリュームは書き込みを続けます。これにより、「ライブ データベースをバックアップするにはどうすればよいか」という問題がきれいに解決されます。
論理ボリュームの削除
不要になった論理ボリュームを削除します。
sudo lvremove /dev/datavg/old-data
このコマンドは、削除する前に確認を求めます。これにより、論理ボリュームとその上のすべてのデータが永久に破壊されます。重要なものは必ずバックアップを取ってください。
物理的範囲の移動
物理ボリュームを削除する前に、物理ボリュームからデータを移動します。
sudo pvmove /dev/sdb
LVM はすべての物理エクステントを自動的に移動します。 /dev/sdb ボリュームグループ内の他の物理ボリュームに。システムがオンラインのままである間、操作はバックグラウンドで実行されます。
ドライブに SMART エラーが表示され始めたときに、これで救われました。障害が発生したドライブからすべてを移動し、ボリューム グループから削除し、メンテナンス期間中に交換しました。ダウンタイムゼロ。
ボリュームグループのスキャン
新しいドライブの追加または再起動後にボリューム グループが表示されない場合があります。スキャンを強制的に実行します。
sudo vgscan
sudo vgchange -ay
最初のコマンドはボリューム グループをスキャンします。 2 つ目は、見つかったものをすべてアクティブ化します。論理ボリュームに再びアクセスできるようになります。
開発環境用に Ubuntu LVM をセットアップしている場合は、次のガイドも必要になる場合があります。 Ubuntu に Hadoop をインストールする, Ubuntu に Redis をインストールする、 または UbuntuにXRDPをインストールする LVM 管理システムへのリモート アクセス用。
結論
LVM は、Linux ストレージ管理を厳格なパーティション計画から柔軟な容量割り当てに変換します。動的なサイズ変更、ポイントインタイムのスナップショット、および異なるドライブを統合ストレージスペースにプールする機能が得られます。システムをオンラインに保ちながら。
コアのワークフローは、ディストリビューション間で一貫性を保ちます。物理ボリュームを初期化します。 pv作成、それらをボリュームグループにプールします vgcreate、論理ボリュームを切り分ける lvcreate、好みのファイル システムでフォーマットし、他のパーティションと同様にマウントします。このコマンドは、Ubuntu LVM および Rocky Linux セットアップでも同様に機能します。
論理ボリューム管理を初めて使用する場合は、小規模から始めてください。スペアドライブ上にテストボリュームグループを作成します。論理ボリュームのサイズ変更、スナップショットの取得、物理ボリューム間でのデータの移動を練習します。非運用ストレージで発生した間違いは、それほど害が少ないです。
CentOS について思い出させてください。CentOS は廃止されました。代わりに Rocky Linux または AlmaLinux を使用してください。これらは RHEL とバイナリ互換性があり、実際に保守されています。 LVM コマンドは同じように機能しますが、重要なセキュリティ更新プログラムを入手できます。
ローカルファイルを危険にさらさずにLVMを練習したいですか?スピンアップ Ubuntu VPS 自由に実験できる場所。実稼働システムに適用する前に、物事を壊し、間違いから学び、コマンドをマスターしてください。
Web サイトやリモート デスクトップをホストするためのエコノミーまたはプレミアム Linux VPS を最安価格で入手しましょう。 VPS Linux KVM で実行して効率を向上させ、NVMe SSD ストレージを備えた強力なハードウェアで動作して速度を向上させます。
続きを読む