開発運用

LVMによるディスク管理

LVM(Logical Volume Manager)は、Linuxにおけるストレージ管理の強力なツールであり、パーティションを柔軟に管理するために広く利用されています。LVMを使用することで、ディスクのサイズ変更や複数の物理ディスクの統合、ストレージの拡張などを容易に行うことができ、システムの柔軟性と拡張性が大幅に向上します。この記事では、LVMを使用して論理ボリューム(LV)の管理を行う方法を、初心者にも理解できるように、詳細かつ包括的に説明します。

LVMの基本概念

LVMを理解するためには、まず以下の主要なコンポーネントについて知っておく必要があります。

  1. 物理ボリューム(PV)
    物理ボリュームとは、LVMで使用する物理的なストレージデバイス(例えば、ハードディスクやSSD)を指します。物理ボリュームは、LVMシステムに追加されたディスクやパーティションです。

  2. ボリュームグループ(VG)
    ボリュームグループは、複数の物理ボリュームを統合した論理的なストレージの集合体です。ボリュームグループ内の物理ボリュームから、論理ボリュームを作成するために必要なスペースを割り当てます。

  3. 論理ボリューム(LV)
    論理ボリュームは、ボリュームグループから割り当てられたストレージ領域で、実際のデータを保存するための領域です。論理ボリュームは、ファイルシステムを作成してデータを格納することができます。

  4. 物理ボリュームグループ(PV-Groups)と論理ボリュームグループ(LV-Groups)
    物理ボリュームは物理的なディスクを表し、論理ボリュームグループはその上に存在する柔軟な構造です。

LVMを使う利点としては、動的なサイズ変更、ストレージの拡張、バックアップやスナップショット機能があり、ディスクの管理が非常に柔軟になります。

LVMのセットアップ

以下はLVMのセットアップ手順です。

1. LVMのインストール

LVMがすでにインストールされている場合もありますが、インストールされていない場合は以下のコマンドでインストールします。

bash
sudo apt update sudo apt install lvm2

2. 物理ボリュームの作成

LVMで使用するディスクまたはパーティションを物理ボリュームとして初期化します。ここでは/dev/sdbというディスクを物理ボリュームに変換します。

bash
sudo pvcreate /dev/sdb

物理ボリュームが作成されたかどうかは、以下のコマンドで確認できます。

bash
sudo pvdisplay

3. ボリュームグループの作成

次に、物理ボリュームを使用してボリュームグループを作成します。例えば、vg_dataという名前のボリュームグループを作成します。

bash
sudo vgcreate vg_data /dev/sdb

ボリュームグループが正しく作成されたことを確認するには、以下のコマンドを使用します。

bash
sudo vgdisplay

4. 論理ボリュームの作成

ボリュームグループが作成されたら、その中に論理ボリュームを作成します。例えば、lv_dataという論理ボリュームを10GBのサイズで作成します。

bash
sudo lvcreate -L 10G -n lv_data vg_data

作成された論理ボリュームを確認するには、次のコマンドを使用します。

bash
sudo lvdisplay

5. ファイルシステムの作成

論理ボリュームが作成されたら、その上にファイルシステムを作成する必要があります。ここでは、ext4ファイルシステムを作成します。

bash
sudo mkfs.ext4 /dev/vg_data/lv_data

6. マウント

作成した論理ボリュームをマウントして使用できるようにします。まず、マウントポイントとなるディレクトリを作成します。

bash
sudo mkdir /mnt/data

次に、論理ボリュームをマウントします。

bash
sudo mount /dev/vg_data/lv_data /mnt/data

このマウントを永続的にするためには、/etc/fstabにエントリを追加します。

bash
echo '/dev/vg_data/lv_data /mnt/data ext4 defaults 0 0' | sudo tee -a /etc/fstab

LVMの管理

LVMでは、論理ボリュームやボリュームグループのサイズを動的に変更することができます。これにより、ディスクの容量を効率的に管理できます。

1. 論理ボリュームのサイズ変更

論理ボリュームのサイズを変更するには、まずサイズを変更したい論理ボリュームをアンマウントします。その後、サイズ変更を行います。

例えば、lv_dataのサイズを5GB増やす場合、以下のコマンドを使用します。

bash
sudo lvextend -L +5G /dev/vg_data/lv_data

その後、ファイルシステムのサイズを変更します。

bash
sudo resize2fs /dev/vg_data/lv_data

2. ボリュームグループの拡張

新しい物理ボリュームをボリュームグループに追加することもできます。例えば、/dev/sdcという新しいディスクをvg_dataに追加する場合、以下のコマンドを使用します。

bash
sudo vgextend vg_data /dev/sdc

ボリュームグループの状態を確認するには、以下のコマンドを使用します。

bash
sudo vgdisplay vg_data

3. 論理ボリュームの削除

不要になった論理ボリュームを削除することも可能です。例えば、lv_dataを削除する場合、以下のコマンドを使用します。

bash
sudo lvremove /dev/vg_data/lv_data

4. ボリュームグループの削除

ボリュームグループを削除するには、まずそのボリュームグループに含まれる全ての論理ボリュームを削除した後、以下のコマンドでボリュームグループを削除します。

bash
sudo vgremove vg_data

LVMのバックアップと復元

LVMには、データのバックアップや復元をサポートする機能もあります。例えば、LVMスナップショットを作成することで、現在の状態をバックアップとして保存することができます。

1. スナップショットの作成

スナップショットは、論理ボリュームの状態を保存する方法です。例えば、lv_dataのスナップショットをlv_data_snapshotという名前で作成する場合、以下のコマンドを使用します。

bash
sudo lvcreate --size 1G --snapshot --name lv_data_snapshot /dev/vg_data/lv_data

2. スナップショットの削除

スナップショットが不要になった場合、削除することができます。

bash
sudo lvremove /dev/vg_data/lv_data_snapshot

まとめ

LVMは、Linuxにおけるストレージ管理を非常に柔軟にしてくれるツールです。物理ボリューム、ボリュームグループ、論理ボリュームを組み合わせることで、ストレージのサイズ変更、拡張、バックアップなどを容易に行うことができます。システムの運用中にストレージの変更が必要になることが多いため、LVMの使用は非常に有益です。

Back to top button