Fedora資料一覧

LVMボリュームを作成する

2008/1/7更新

対応バージョン: 8

LVM(Logical Volume Manager)を使ったボリュームを作成する手順を示す。

ここでは2つのパーティションが作成されているディスク「/dev/sda」(40GB)に対して新たに1つのファイルシステムを割り当てる手順を示す。

/dev/sda1 : 2GB
/dev/sda2 : 38GB

LVMパーティション作成

まずfdiskにて各パーティションのパーティションタイプを0x8e(Linux LVM)に設定する。

# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 40.9 GB, 40991662080 bytes
64 heads, 32 sectors/track, 39092 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x000f3cff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1954     2000880   83  Linux
/dev/sda2            1955       39092    38029312   83  Linux

Command (m for help): t ← パーティション選択
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): t ← パーティション選択
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): p
:
   Device Boot  Start    End    Blocks  Id  System
/dev/sda1           1   1954   2000880  8e  Linux LVM
/dev/sda2        1955  39092  38029312  8e  Linux LVM

Command (m for help): w ← パーティションテーブル保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

物理ボリューム(PV)作成

続いて各パーティションを物理ボリューム(PV:Physical Volume)として構成する。

# pvcreate /dev/sda1
  Physical volume "/dev/sda1" successfully created

# pvcreate /dev/sda2
  Physical volume "/dev/sda2" successfully created

# pvdisplay -C
  PV         VG  Fmt   Attr  PSize   PFree 
  /dev/sda1      lvm2  --     1.91G   1.91G
  /dev/sda2      lvm2  --    36.27G  36.27G

# pvdisplay
  --- NEW Physical volume ---
  PV Name          /dev/sda1
  VG Name
  PV Size          1.91 GB
  Allocatable      NO
  PE Size (KByte)  0
  Total PE         0
  Free PE          0
  Allocated PE     0
  PV UUID          qzXdag-S3Kz-sw0W-Coog-FpY2-YWir-FcWLZJ
   
  --- NEW Physical volume ---
  PV Name          /dev/sda2
  VG Name
  PV Size          36.27 GB
  Allocatable      NO
  PE Size (KByte)  0
  Total PE         0
  Free PE          0
  Allocated PE     0
  PV UUID          eFSYxh-7bZH-L0Q6-zrd5-KZDL-YgP1-Z92AAO

ボリュームグループ(VG)作成

物理ボリュームが作成できたらこれをボリュームグループ(VG:Volume Group)に追加する。

ここでは新たに「datavg」というボリュームグループを作成し、2つの物理ボリュームをそこに含める。

# vgcreate datavg /dev/sda1 /dev/sda2
  Volume group "datavg" successfully created

# vgdisplay -v datavg
    Using volume group(s) on command line
    Finding volume group "datavg"
  --- Volume group ---
  VG Name              datavg
  System ID
  Format               lvm2
  Metadata Areas       2
  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               2
  Act PV               2
  VG Size              38.17 GB
  PE Size              4.00 MB
  Total PE             9772
  Alloc PE / Size      0 / 0
  Free  PE / Size      9772 / 38.17 GB
  VG UUID              Z004bq-G1LS-625Q-AXYK-UywE-6DPr-52YEw6
 
  --- Physical volumes ---
  PV Name              /dev/sda1
  PV UUID              qzXdag-S3Kz-sw0W-Coog-FpY2-YWir-FcWLZJ
  PV Status            allocatable
  Total PE / Free PE   488 / 488
   
  PV Name              /dev/sda2
  PV UUID              eFSYxh-7bZH-L0Q6-zrd5-KZDL-YgP1-Z92AAO
  PV Status            allocatable
  Total PE / Free PE   9284 / 9284

論理ボリューム(LV)作成

ボリュームグループ作成後、実際にファイルシステムとしてマウントできる単位である論理ボリューム(LV:Logical Volume)を作成する。

ここでは1GBの「datalv」という論理ボリュームを作成する。

# lvcreate -L 1G -n datalv datavg
  Logical volume "datalv" created

# lvdisplay -C
  LV      VG     Attr   LSize Origin Snap%  Move Log Copy% 
  datalv  datavg -wi-a- 1.00G                              

# lvdisplay /dev/datavg/datalv 
  --- Logical volume ---
  LV Name             /dev/datavg/datalv
  VG Name             datavg
  LV UUID             B5ma9g-n23Z-3J1Q-d5iZ-he22-zZx4-aaSZuB
  LV Write Access     read/write
  LV Status           available
  # open              0
  LV Size             1.00 GB
  Current LE          256
  Segments            1
  Allocation          inherit
  Read ahead sectors  0
  Block device        253:0

ファイルシステム作成/マウント

最後にこの論理ボリュームに対してファイルシステムを作成し、任意のディレクトリにマウントする。

ファイルシステムの種類によって作成コマンドは異なるが、ここではext3を作成する。

# mkfs.ext3 /dev/datavg/datalv
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131072 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

# mount /dev/datavg/datalv /mnt

# cat /etc/mtab
:
/dev/mapper/datavg-datalv  /mnt  ext3  rw 0 0

# df /mnt
Filesystem                1K-blocks   Used Available Use% Mounted on
/dev/mapper/datavg-datalv   1032088  34092    945568   4% /mnt

以上で通常のファイルシステムと同じように使用できるようになった。

ここでボリュームグループの状態を見ると論理ボリュームの情報が追加されているのが確認できる。

# vgdisplay -v datavg
    Using volume group(s) on command line
    Finding volume group "datavg"
  --- Volume group ---
  VG Name               datavg
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               38.17 GB
  PE Size               4.00 MB
  Total PE              9772
  Alloc PE / Size       256 / 1.00 GB ← 割当領域が増えている
  Free  PE / Size       9516 / 37.17 GB ← フリー領域が減っている
  VG UUID               Z004bq-G1LS-625Q-AXYK-UywE-6DPr-52YEw6
   
  --- Logical volume --- ← 論理ボリューム情報が追加されている
  LV Name               /dev/datavg/datalv
  VG Name               datavg
  LV UUID               B5ma9g-n23Z-3J1Q-d5iZ-he22-zZx4-aaSZuB
  LV Write Access       read/write
  LV Status             available
  # open                1
  LV Size               1.00 GB
  Current LE            256
  Segments              1
  Allocation            inherit
  Read ahead sectors    0
  Block device          253:0
   
  --- Physical volumes ---
  PV Name               /dev/sda1     
  PV UUID               qzXdag-S3Kz-sw0W-Coog-FpY2-YWir-FcWLZJ
  PV Status             allocatable
  Total PE / Free PE    488 / 488
   
  PV Name               /dev/sda2     
  PV UUID               eFSYxh-7bZH-L0Q6-zrd5-KZDL-YgP1-Z92AAO
  PV Status             allocatable
  Total PE / Free PE    9284 / 9028 ← フリー領域が減っている

ブート時にマウントを行いたい場合は/etc/fstabに以下のように記述する。

/dev/mapper/datavg-datalv  /mnt  ext3  defaults    0 0

関連資料・記事