システムをシャットダウンしてリブート後に祈るしかない、それがディスク パーティション管理だと思っているなら、正直に言ってあなたは大損しています。Linux の LVM マウント機能を知らずに、ストレージ管理がこんなに大変だと思い込んでいるのは本当にもったいない。
このガイドでは、LinuxでLVMを作成し、LVMパーティションをマウントし、ダウンタイムなしに論理ボリュームを管理する方法を説明します。UbuntuとCentOSシステム(またはそれらの後継システム)で動作するLinuxの基本的なLVMコマンドについて学習できます。
要点まとめ
- LVMは物理ディスクとファイルシステムの間に柔軟なストレージレイヤーを作成し、システムを実行中のままパーティションをリサイズできるようにします
- インストール方法 apt install lvm2 Ubuntu上または dnf install lvm2 Rocky Linux/AlmaLinux で実行(CentOS は廃止予定です。こちらを使用してください)
- LVMを作成するには、ドライブを以下で初期化します pvcreate、まとめて vgcreate、および以下を使ってロジカルボリュームを構成 lvcreate
- フォーマット後、LVM パーティションを他のパーティションと同じようにマウントしてください mkfs.ext4 そして エントリーを追加して /etc/fstab
- 主要コマンド 仮想プライベートサーバー, VGs, 左右対称 セットアップを見せる。 lvresize サイズを動的に変更できます。 lvcreate -s スナップショットを作成
Linux における LVM とは?

LVM(論理ボリュームマネージャー)は物理ディスクとファイルシステムの間に位置します。ドライブに固定パーティションを直接作成する代わりに、LVMは柔軟な層を提供し、すべてがオンラインのままストレージをリサイズ、移動、スナップショット化できます。
内部的にはこのように動作します。物理ドライブは「物理ボリューム」になります。これらが「ボリュームグループ」にまとまります。そのグループから「論理ボリューム」を作成し、通常のパーティションのように機能させますが、実際の柔軟性を持ちます。
実用的な違いは、スペースが必要になったときに現れます。従来のパーティションでは、シャットダウンしてUSBから起動し、データを失わないことを祈ることになります。LVMなら、システムが動作し続けたまま1つのコマンドを実行するだけです。サーバー移行中に学んだことですが、容量を /home 200GB増やすのに週末全体ではなく約30秒かかりました。
物理ボリュームの仕組み
物理ボリュームはLVMが利用できるあらゆるストレージデバイスです。ハードドライブ、SSDs、RAIDアレイ、ループデバイスでも構いません。これらを pvcreateで初期化すると、LVMメタデータが書き込まれ、デバイスがボリュームグループで利用可能になります。
物理ボリュームは下にあるハードウェアを気にしません。その500GBのスピンディスクと新しい2TB NVMeドライブはLVMには同じに見えます。これはストレージを組み合わせるときに重要です。
ボリュームグループを理解する
ボリュームグループは複数の物理ボリュームを1つのストレージユニットにまとめます。3つの1TBドライブを1つの3TBプールに統合することを考えてください。ボリュームグループは vgcreate で作成でき、容量が変わるたびに物理ボリュームを追加または削除できます。
このプーリング方式は、ディスク単位の計画に固定されないということです。スペースが必要ですか?ボリュームグループに別のドライブを追加してください。古いドライブを交換していますか? pvmove でデータを移動しながらシステムを実行し続け、その後ハードウェアを交換します。
論理ボリュームの役割

論理ボリュームは実際に使用するものです。ボリュームグループから切り出され、通常のパーティションのように動作します。ext4またはxfsでフォーマットし、どこにでもマウントでき、必要に応じてリサイズします。違いは、物理ディスクの境界に固定されていないことです。
次を実行するとき lvcreate -L 50G -n data datavgボリュームグループのプールから50GBを割り当てています。そのスペースは1つのドライブから来るか、複数のドライブに広がっているかもしれません。LVMが分散を処理するので気にする必要はありません。
物理エクステント(Physical Extents)の説明
物理エクステントは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 ディストリビューションは依存関係を自動的に処理します。パッケージをインストールして動作を確認すればストレージ設定の準備が整います。
開始前の重要な注意事項:CentOS は2020年にサポート終了しました。CentOS を実行している場合は、Rocky Linux または AlmaLinux に切り替えてください。これらはセキュリティアップデートを実際に受け取る同等の代替です。以下のコマンドは Rocky Linux 9、AlmaLinux 9、Ubuntu 24.04、および現在の Debian リリースで同じように動作します。
最初にシステムを更新してください
システムのパッケージリストを更新することから始めます。これにより最新の LVM2 バージョンとすべてのセキュリティパッチとバグ修正が得られることを保証します。
Ubuntu システムの場合:
sudo apt update
CentOS ベースのシステム(Rocky Linux/AlmaLinux)の場合:
sudo dnf update
最新の RHEL ベースのシステムは dnf をパッケージマネージャーとして使用しています。古いチュートリアルで言及されているのを見かけた場合は yum無視してください。DNF は2015年に yum に代わり、依存関係解決とパフォーマンスが向上しました。
LVM2 パッケージをインストールしてください
パッケージ名は lvm2 すべてのディストリビューション間で動作します。インストールは依存関係を自動的に取得します。device-mapperツールと関連ライブラリも含まれます。
Ubuntu Logical Volume Manager のインストール:
sudo apt install lvm2
CentOS Logical Volume Manager のインストール (Rocky/AlmaLinux):
sudo dnf install lvm2
インストール完了まで待ちます。最新のハードウェアと適切なインターネット接続があれば10~15秒です。パッケージサイズは小さく、依存関係を含めて2~3MB程度です。
インストール成功の確認
LVM2が正しくインストールされ、実行しているバージョンを確認します:
sudo lvm version
バージョン情報とビルド詳細が表示されます。現在のバージョンは2.03.x以上です。コマンドが失敗するか「command not found」が返された場合、インストールに問題があります。
最新のsystemdベースディストリビューションは、起動時にLVMを自動的にアクティブにします。古いinitシステムのようにサービスを手動で有効にする必要はありません。lvm2-activation-generatorがすべて処理します。設定すべきことが1つ減ります。
本番環境に影響を与えずにLVMをテストしたい場合は、 ベストなLinux VPS を起動して実験することをお勧めします。
LVMの作成方法は? (Linux)

LVMの作成には3つのステップがあります。物理ボリュームを初期化し、ボリュームグループにグループ化し、論理ボリュームを作成します。プロセスは見た目より複雑ではありません。合計6コマンド程度を実行するだけです。
開始する前に、使用するドライブを特定します。ここの例では /dev/sdX をプレースホルダーとして使っています。実際のデバイス名は異なります。 lsblk を実行してシステムに接続されているものを確認してください。
物理ボリュームの初期化
物理ボリュームはLVMが使用できるドライブを指定します。次のコマンドでドライブを初期化します: pvcreate:
sudo pvcreate /dev/sdb
置き換える /dev/sdb 実際のデバイスで置き換えてください。このコマンドはドライブにLVMメタデータを書き込み、利用可能としてマークします。ドライブは従来のパーティション構成が不要になります。
複数のドライブを一度に初期化したい場合は、すべてをリストします:
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVMはそれらを一緒に管理します。作成したものを確認しましょう:
sudo pvs
すべての物理ボリューム、そのサイズ、および属するボリュームグループ(まだなし)が表示されます。
ボリュームグループを作成する
ボリュームグループは物理ボリュームを1つのストレージユニットにまとめます。「datavg」というボリュームグループを作成します:
sudo vgcreate datavg /dev/sdb
作成時に複数のドライブを同じグループに追加できます:
sudo vgcreate datavg /dev/sdb /dev/sdc
これでドライブが1つのプールとして機能します。ボリュームグループを確認しましょう:
sudo vgs
合計サイズ、論理ボリュームに割り当てられた容量、および将来の割り当て用に残っている空き容量が表示されます。
論理ボリュームを作成する
論理ボリュームは実際にフォーマットしてマウントするものです。ボリュームグループの利用可能な領域から切り出されます。50GBのボリュームを作成します:
sudo lvcreate -L 50G -n data datavg
これは「datavg」ボリュームグループから「data」という名前の論理ボリュームを作成します。完全なデバイスパスは次のようになります /dev/datavg/data.
サイズを指定する代わりに利用可能なすべての領域を使用したい場合は?
sudo lvcreate -l 100%FREE -n data datavg
ザ -l 100%FREE このオプションは残っているすべてのバイトを割り当てます。1つの論理ボリュームがボリュームグループ全体を使用するシンプルなセットアップに便利です。
論理ボリュームをフォーマットする
論理ボリュームはパーティションと同じようにファイルシステムが必要です。ext4でフォーマットします:
sudo mkfs.ext4 /dev/datavg/data
小さいボリュームの場合は数秒で完了し、大きいボリュームの場合はもっと時間がかかります。出力にはブロック数とinode情報が表示されます。何か問題が起きなければ、詳細は無視できます。
xfsを使用したい場合は、ext4をxfsに置き換えてください。どちらも問題なく動作します。Ext4はUbuntuシステムではより一般的です。Rocky Linuxはほとんどの用途でxfsをデフォルトとしています。
LVMコマンドには細心の注意を払ってください。ストレージインフラを直接変更します。かつてデバイス名のタイプミスをして、クライアントのファイル2TBを消去してしまいました。ストレージ設定を変更するコマンドを実行する前に、重要なデータをバックアップしてください。
LVMパーティションをマウントするには?
LVMパーティションのマウントは、他のパーティションのマウントとまったく同じように機能します。マウントポイントディレクトリを作成し、mountコマンドを実行して、オプションでエントリを /etc/fstab ブート時に自動的にマウントするため。
唯一の違いはデバイスパスです。 /dev/sda1あなたが使用する /dev/volumegroup/logicalvolumeの代わりに使用します。それ以外はすべて同じです。
マウントポイントディレクトリを作成する
マウントポイントはファイルシステムにアクセスするためのディレクトリです。ユースケースに応じて、適切な場所に作成してください。
sudo mkdir /mnt/data
わかりやすい名前を使用してください。 /mnt/data, /mnt/backup, /home/shared どれでも機能します。場所は機能に影響しません。一時的なマウントに /mnt を使用し、永続的なマウントに / 配下の専用ディレクトリを使用することを好む人もいます。
論理ボリュームをマウントする
フォーマットされた論理ボリュームをマウントポイントにマウントします。
sudo mount /dev/datavg/data /mnt/data
デバイスパスとマウントポイントを実際の値に置き換えてください。ファイルシステムは /mnt/dataでアクセス可能になります。そこに作成したファイルはすべて論理ボリュームに保存されます。
マウントが成功したか確認してください。
df -h /mnt/data
ボリュームの合計サイズ、使用済みスペース、利用可能スペース、マウントポイントが表示されます。何も表示されない場合は、マウントコマンドが失敗しています。デバイスパスを確認し、論理ボリュームが存在することを確認してください。 左右対称.
マウントを永続的にする
一時的なマウントは再起動後に消えます。永続的なマウントの場合は、 /etc/fstab にエントリを追加してください。
sudo nano /etc/fstab
最後に次の行を追加します。
/dev/datavg/data /mnt/data ext4 defaults 0 0
形式はデバイス、マウントポイント、ファイルシステムタイプ、マウントオプション、ダンププライオリティ、fsckの順序です。最後のゼロはほとんどの場合うまく機能します。 ext4 実際に使用するファイルシステムに合わせます。
エディタを保存して終了します。再起動せずにfstabエントリをテストします:
sudo mount -a
fstabのマウントされていないすべてをマウントします。エラーが表示される場合は、fstabで何か誤入力があります。再起動する前に修正してください。そうしないとシステムが正常に起動しない可能性があります。
本番環境のワークロード用にボリュームをマウントする場合、パフォーマンスが重要です。LVM設定をセットアップした後、 Linuxでディスク速度をテストして 実際のスループットとレイテンシをベンチマークします。
Ubuntuのインストール時にLVMをマウントする
Ubuntuのインストーラー システムセットアップ時のLVM設定に対応しています。パーティション画面に到達したら、「Manual」パーティショニングを選択し、「Configure the Logical Volume Manager」を選びます。
このアプローチは新規インストールに最適です。オペレーティングシステムをインストールする前にボリュームグループと論理ボリュームをセットアップします。インストーラーが /etc/fstab 自動的にエントリーされます。
既存システムの場合、上記のコマンドラインアプローチでより細かく制御でき、各ステップで何が起こっているかを正確に理解できます。
マウント問題のトラブルシューティング
LVMパーティションがマウントできない場合は、まず一般的な問題を確認してください:
ボリュームグループが有効化されていない:
sudo vgchange -ay
すべてのボリュームグループを有効化します。新しいドライブを追加した後や再起動後は、自動的に有効化されないことがあります。
デバイスパスが不正: 次のコマンドで論理ボリュームが存在することを確認します: 左右対称 次のような完全なパスを使用します: /dev/volumegroup/logicalvolumeショートカットではなく、完全な方法。
ファイルシステムエラー: マウントされていないボリュームでファイルシステムチェックを実行します:
sudo fsck /dev/datavg/data
ファイルシステム破損はマウントを防ぎます。fsckツールは多くの問題を自動的に修正できます。
Linuxの必須LVMコマンドは何ですか?
LinuxのLVMコマンドはコマンドラインからストレージ設定全体を管理できます。これらは古いドキュメントの理論的なコマンドではなく、実務で実際に使用するものです。
物理ボリュームを表示
システム内のすべての物理ボリュームを確認します:
sudo pvs
デバイス名、ボリュームグループ、フォーマット、属性、サイズ、空き容量を表示した簡潔なテーブルが表示されます。特定の物理ボリュームの詳細情報を確認するには:
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」ボリュームグループに追加されます。空き容量は既存の論理ボリュームか新しい論理ボリュームの作成にすぐに使用できるようになります。再起動は不要です。
この方法で2TBのドライブをバックアップボリュームグループに追加した際、バックアップが実行中でしたが、操作全体は約5秒で完了しました。
論理ボリュームのサイズ変更
論理ボリュームを拡張してより多くの容量を割り当て:
sudo lvresize -L +50G /dev/datavg/data
論理ボリュームに50GBを追加します。サイズ変更後、ファイルシステムを拡張して新しい容量を使用可能に:
ext4の場合:
sudo resize2fs /dev/datavg/data
xfs用:
sudo xfs_growfs /mnt/data
ファイルシステムが論理ボリュームいっぱいまで拡張されます。すべての処理はボリュームをマウント状態で実行中のまま行われます。ユーザーが気付くのは利用可能な容量が増えたことだけです。
縮小したいですか?その場合はリスクが高く、事前にアンマウントする必要があります。ボリュームを縮小する前に必ずバックアップしてください。
ボリュームスナップショットを作成する
スナップショットは論理ボリュームの現在の状態をキャプチャし、バックアップやテストに使用します。
sudo lvcreate -s -L 10G -n data-snapshot /dev/datavg/data
これは「data」論理ボリュームの「data-snapshot」という名前の10GBスナップショットを作成します。スナップショットはコピーオンライト技術を使用しており、ボリューム全体ではなく変更されたブロックのみの領域が必要です。
スナップショットを読み取り専用でマウントして、一貫性のあるバックアップを作成します。
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
バックアップ元 /mnt/snapshot その間も元のボリュームへの書き込みは続きます。これで「ライブデータベースをどうやってバックアップするか」という問題がきれいに解決します。
論理ボリュームを削除する
不要になった論理ボリュームを削除します。
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 をインストールする、または XRDP を Ubuntu にインストール LVM 管理システムへのリモートアクセス用
結論
LVM は Linux ストレージ管理を固定的なパーティション設計から柔軟な容量割り当てに変えます。動的リサイズ、ポイントインタイムスナップショット、複数のドライブを統一ストレージにプールする機能が得られます。システムをオンラインのままで実現できます。
基本的なワークフローはすべてのディストリビューション共通です。物理ボリュームを初期化してから pvcreateでボリュームグループにまとめ、 vgcreateで論理ボリュームを作成し、 lvcreate好みのファイルシステムでフォーマットしてマウントします。Ubuntu LVM と Rocky Linux セットアップでコマンドは同じです。
論理ボリューム管理が初めてなら小さく始めましょう。スペアドライブにテストボリュームグループを作り、論理ボリュームのリサイズ、スナップショット作成、物理ボリューム間のデータ移動を練習してください。本番ストレージでなければ失敗もはるかに軽いです。
CentOS についてひとつ忠告です。もう開発が止まっています。Rocky Linux か AlmaLinux を使ってください。RHEL と互換でちゃんとメンテナンスされています。LVM コマンドは全く同じですが、セキュリティアップデートが定期的に来ます。
ローカルファイルに影響なく LVM を練習したいなら、 Ubuntu VPS を起動してください。思いっきり壊して、失敗から学んで、コマンドをマスターしてから本番環境に適用できます。
ウェブサイトやリモートデスクトップをホストするために、エコノミーまたはプレミアムなLinux VPSを最安値で手に入れましょう。VPSはLinux KVMで動作して効率を向上させ、NVMe SSDストレージを備えた強力なハードウェアで速度を高めます。
詳細を見る