ロジカルボリュームは、ボリュームグループ(仮想ディスク)上に作成されたパーティションです。作成したロジカルボリュームは、通常のパーティションと同様にマウントして使用することができます。ロジカルボリュームを作成する手順は以下のとおりです。
フィジカルボリュームの作成
ボリュームグループ(仮想ディスク)の作成
作成したボリュームグループにロジカルボリューム(パーティション)を作成

作成したフィジカルボリュームには、フィジカルエクステントと呼ばれるデータブロックが複数作成され、データはこのフィジカルエクステントに格納されます。ボリュームグループ上に作成するロジカルボリュームは、このフィジカルエクステントの集合体であるといえます。そして、ロジカルボリュームを構成するフィジカルエクステントは、ボリュームグループを構成しているどのフィジカルボリュームに存在していても構いません。これが、複数のディスク、またはパーティションで構成したボリュームグループに自由にロジカルボリュームを作成しサイズを変更したり、新たにディスクを追加して仮想ディスクのサイズを容易に拡大できる理由です。
ここでは、Turbolinux 10 Server のインストール後に、新たにロジカルボリュームを作成するまでの手順を解説します。
Turbolinux 10 Server のインストール後に、はじめて LVM の設定を行う場合は、Device-Mapper のモジュールである dm-mod を modprobe コマンドで読み込みます。
# modprobe dm-mod |
次に、Device-Mapper が使用するデバイスファイルである /dev/mapper/control を作成します。このデバイスファイルを作成するための devmap_mknod.sh スクリプトが用意されていますので、以下のように実行しておきます。
# /sbin/devmap_mknod.sh Creating /dev/mapper/control character device with major:10 minor:63. |
![]() | Turbolinux 10 Server のインストール時に LVM の設定を行った場合、これらの処理は初期化スクリプト(/etc/rc.sysinit)により自動的に行われています。 |
LVM で管理するパーティションを用意します。はじめに、通常のパーティションを作成するときと同様に fdisk でパーティションを確保してください。その後、以下のようにファイルシステムのタイプを 8e(Linux LVM)へ変更します。以下の例では、/dev/sdb1 のタイプを変更しています。
# fdisk /dev/sdb The number of cylinders for this disk is set to 1116. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): t Selected partition 1 Hex code (type L to list codes): 8e Command (m for help): p Disk /dev/sdb: 9184 MB, 9184760320 bytes 255 heads, 63 sectors/track, 1116 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1116 8964238+ 8e Linux LVM Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
LVM 用に設定したパーティションを LVM で使用する物理的なパーティション(フィジカルボリューム)として認識させるために、以下のコマンドを実行します。
# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created |
複数のパーティションをフィジカルボリュームとして追記する場合は、上記手順を繰り返すか、スペースで区切り、複数のパーティションを指定してください。フィジカルボリュームの作成が終了したら、次にこれらのフィジカルボリュームを使用するボリュームグループを作成します。
仮想ディスクとなるボリュームグループを作成します。ここでは、ボリュームグループの名前を vg_new としています。ボリュームグループに複数のフィジカルボリュームを追加する場合は、スペースで区切り指定します。
![]() | ボリュームグループの名前の先頭には、vg_ を付けることを推奨します。Turbolinux 10 Server の /etc/rc.sysinit は、/etc/fstab に /dev/vg_ の文字列を見つけると、dm-mod モジュールを自動的に読み込み、システムに設定されてる LVM を有効にするための処理を行います。vg_ を付けなかった場合、 LVM はシステムの起動時に有効にならないため、/etc/fstab の記述に従いマウントされません。 |
# vgcreate vg_new /dev/sdb1 Volume group "vg_new" successfully created |
フィジカルエクステントのサイズを指定したい場合は -s オプションを使用できます。デフォルトのサイズは 4MB です。
# vgcreate -s 32M vg_new /dev/sdb1 Volume group "vg_new" successfully created |
次に、vgscan コマンドを実行し、作成したボリュームグループがシステムに認識されることを確認します。
# vgscan Reading all physical volumes. This may take a while... Found volume group "vg_new" using metadata type lvm2 |
なお、vgdisplay コマンドを実行すると、作成したボリュームグループの情報を確認することができます。このようにして作成したボリュームグループにロジカルボリュームを作成します。
# vgdisplay vg_new --- Volume group --- VG Name vg_new System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 8.55 GB PE Size 4.00 MB Total PE 2188 Alloc PE / Size 0 / 0 Free PE / Size 2188 / 8.55 GB VG UUID KDpUt6-PK4M-u9rV-XVoL-DaO2-pqsr-1zv4R7 |
作成したボリュームグループ vg_new 上にロジカルボリュームを作成します。以下の例では、500MB の ロジカルボリュームを lv1 という名前で作成しています。
# lvcreate -L 500M -n lv1 vg_new Logical volume "lv1" created |
これにより、ロジカルボリューム /dev/vg_new/lv1 が作成されます。
作成したロジカルボリューム上にファイルシステムを作成します。通常のパーティションと同様に作成することができます。
# mkfs.ext3 /dev/vg_new/lv1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override. |
作成後、ファイルシステムをマウントし、df コマンドなどで正常にマウントされていることを確認します。
# mount /dev/vg_new/lv1 /mnt/lvm-test
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 4024220 1676372 2143424 44% /
/dev/sda1 62193 16203 42779 28% /boot
/dev/sda3 3020172 32828 2833924 2% /home
/dev/mapper/vg_new-lv1
495844 8239 462005 2% /mnt/lvm-test |
必要であれば、システム起動時に自動的に作成したロジカルボリュームがマウントされるように /etc/fstab を編集します。
/dev/vg_new/lv1 /mnt/lvm-test ext3 defaults 1 2 |
先に述べたように、Turbolinux 10 Server の /etc/rc.sysinit は /etc/fstab に /dev/vg_ の文字列を見つけると LVM をアクティブな状態とするため、システム起動時にロジカルボリュームを自動的にマウントすることができます。もし、手動で LVM をアクティブにする場合は、以下のコマンドを実行する必要があります。
# modprobe dm-mod # vgscan # vgchange -a y |
また、LVM を無効な状態にするには、マウントしたロジカルボリュームをアンマウントした後に、以下のコマンドを実行します。
# vgchange -a n |