LVMの構築方法
追加するだけの場合は LVMの追加方法 へ
LVM 新しく設定する場合
ここでは以下の説明をします。
- Linux LVM のIDを持ったパーティションを作成する。
- 論理ボリュームグループを作成する。
- 論理ボリュームを作成する。
- ファイルシステムを構築する。
- マウントをする。
現在の多くのディストリビューションはインストール時にLVMをデフォルトで利用するので、一般的には最初から行うことは少ないかも知れません。
fdiskでLVMのパーティション作成
下の操作は/dev/sdc (サイズ512MB) のブロックデバイスに対してパーティションを設定し、そこにLVMのIDを割り当てる作業です。 すべてをプライマリパーティションとして使うことににして設定し、そこにLinux LVMである8e (16進数)のID番号を割り当てます。
# fdisk /dev/sdc ... Command (m for help): n Command action e extended p primary partition (1-4) p<RET> Partition number (1-4): 1<RET> First cylinder (1-65, default 1): <RET> Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-65, default 65):<RET> Using default value 65 Command (m for help): t<RET> Selected partition 1 Hex code (type L to list codes): 8e<RET> Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): w<RET> ... #
論理ボリュームグループ作成
現在 /dev/sdc1 のパーティションが作成されおり、そのIDはLinux LVM (8e)になっています。 それを使ってコマンド vgcreate を用いてVGを作成します。VG名はここでは vg_ext とします。 ここでのPVは、用意しているパーティション /dev/sdc1 にあたります。
# vgcreate vg_ext /dev/sdc1 No physical volume label read from /dev/sdc1 Physical volume "/dev/sdc1" successfully created Volume group "vg_ext" successfully created
VGの内容を確認するにはvgdisplayを使います。
# vgdisplay vg_ext --- Volume group --- VG Name vg_ext 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 508.00 MiB PE Size 4.00 MiB Total PE 127 Alloc PE / Size 0 / 0 Free PE / Size 127 / 508.00 MiB VG UUID KHZvkW-Adlo-hjNO-xZOO-cHeV-lJPi-8YNBEk
PE (Physical Extent)のサイズが4.00 MiBとなっているのはデフォルトです。 1つの LV (Logical Volume 論理ボリューム)に割り当はPEの単位で割り当てられます。 つまり現在のFree PEの値が、VGからLVに割り当てることが出来る最大の値です。
LVMではLVに割り当てが出来るPEの数は65536 (2^16)までという上限がありました。
LVM2ではPV/LV あたりの最大エクステント数に制限はありません。
vgcreateを実行する際にオプション-s (もしくは --physicalextentsize ) を利用します。 32mを指定した場合、最大のLVは2TiBとなります。
論理ボリューム作成
LV を作成するにはコマンドlvcreateを利用します。 -n LV名 -L ボリュームサイズ そしてVG名のオプションを与えます。
# lvcreate -n lv_ext_01 -L 256MB vg_ext Logical volume "lv_ext_01" created
ブロックデバイス /dev/vg_ext/lv_ext_01 が作成されます。
ファイルシステム作成とマウント
ext4のファイルシステムを/dev/vg_ext/lv_ext_01上に作成します。
# mkfs -t ext4 /dev/vg_ext/lv_ext_01 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67371008 32 block groups 8192 blocks per group, 8192 fragments per group 2048 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185 Writing inode tables: ....
ディレクトリ/mnt/lv_ext_01を作成し、ここにマウントしてみます。
# mkdir /mnt/lv_ext_01 # mount /dev/vg_ext/lv_ext_01 /mnt/lv_ext_01/ # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_c0-lv_root 6781916 2126116 4314236 34% / tmpfs 961256 16 961240 1% /dev/shm /dev/sda1 495844 91135 379109 20% /boot /dev/mapper/vg_ext-lv_ext_01 253871 10254 230510 5% /mnt/lv_ext_01
目次へ