論理ボリューム管理 (LVM) について

LVM (Logical Volume Management) はディスクを管理するものであり、複数のドライブやパーティションを結合して、より大きなボリュームグループ を作り出します。 これによりスナップショット からバックアップを取ったり、動的にボリュームサイズを変更したりできるようになります。 また RAID 1 アレーのようなミラーリング機能も実現できます。

LVM に関しての完璧な論議は、この概要説明の範囲を超えてしまいます。 ここでは基本的な概念について示すことにします。

以下に示すコマンドを実行していくためには LVM2-2.02.177 をインストールしておく必要があります。 コマンドはすべて root ユーザーにより実行します。

LVM を用いたディスク管理には、以下の考え方に基づいて実現されます。

物理ボリューム

/dev/sda3 や /dev/sdb などのような、物理的なディスク、またはパーティションのことです。

ボリュームグループ

複数の物理ボリュームに対して名前づけされたグループであり、管理者がこれを制御します。 ボリュームグループを構成する物理ボリュームの数に制限はありません。 ボリュームグループに対しては、物理ボリュームを動的に追加したり削除したりすることができます。

論理ボリューム

ボリュームグループは、いくつかの論理ボリュームに分けることができます。 個々の論理ボリュームは、あたかも通常の Linux パーティションであるかのように、個別にフォーマットすることができます。 論理ボリュームは、必要に応じて管理ツールを使い、そのサイズを動的に変更することもできます。

具体的な例として、今 2 TB のディスクがあるとします。 そして大規模なデータベースを /srv/mysql にマウントして構築するために、大容量のディスクが必要であるとします。 以下はそのためのパーティション設定の例です。

Partition  Use    Size      Partition Type
/dev/sda1  /boot  100MB     83 (Linux)
/dev/sda2  /       10GB     83 (Linux)
/dev/sda3  swap     2GB     82 (Swap)
/dev/sda4  LVM    remainder 8e (LVM)
/dev/sdb1  swap     2GB     82 (Swap)
/dev/sdb2  LVM    remainder 8e (LVM)

はじめに物理ボリュームを初期化します。

pvcreate /dev/sda4 /dev/sdb2

次に lfs-lvm と名づけたボリュームグループを生成します。

vgcreate lfs-lvm /dev/sda4  /dev/sdb2

ボリュームグループの状態を確認するには vgscan コマンドを用います。 そして論理ボリュームを生成します。 Since there is about 3900 GB available, leave about 900 GB free for expansion. Note that the logical volume named mysql is larger than any physical disk.

lvcreate --name mysql --size 2500G lfs-lvm
lvcreate --name home  --size  500G lfs-lvm

Finally the logical volumes can be formatted and mounted. In this example, the jfs file system (jfsutils-1.1.15) is used for demonstration purposes.

mkfs -t ext4 /dev/lfs-lvm/home
mkfs -t jfs  /dev/lfs-lvm/mysql
mount /dev/lfs-lvm/home /home
mkdir -p /srv/mysql
mount /dev/lfs-lvm/mysql /srv/mysql

The LFS boot scripts automatically make these file systems available to the system in the checkfs script. Edit the /etc/fstab file as required to automatically mount them.

A LVM logical volume can host a root filesystem, but requires the use of an initramfs (initial RAM file system) and is not discussed here.

For a more information about LVM, see the LVM HOWTO and the lvm man pages.

最終更新日: 2013-02-12 03:51:17 +0900