Ubuntu Serverにデータ用のLVMを追加する!

Ubuntu Serverにデータ用のLVMを追加します。作業は、管理者権限(root権限)で行います。

LVM追加用のディスクを確認する!

最初にLVM追加用のディスクを確認します。例えば、未使用の/dev/sdbをデータ用のLVMとして追加します。

# disk -l
...
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
...

PVを作成する!

PVを作成します。

# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

確認してみます。

# pvs
  PV         VG        Fmt  Attr PSize   PFree  
  /dev/sda3  ubuntu-vg lvm2 a--  <23.00g  11.50g
  /dev/sdb             lvm2 ---  100.00g 100.00g
# pvscan
  PV /dev/sda3   VG ubuntu-vg       lvm2 [<23.00 GiB / 11.50 GiB free]
  PV /dev/sdb                       lvm2 [100.00 GiB]
  Total: 2 [<123.00 GiB] / in use: 1 [<23.00 GiB] / in no VG: 1 [100.00 GiB]
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <23.00 GiB / not usable 0   
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5887
  Free PE               2944
  Allocated PE          2943
  PV UUID               hlrliq-kdDu-kj36-k8WD-VtMU-wFYJ-YLVj1n
   
  "/dev/sdb" is a new physical volume of "100.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               100.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               DAF2vl-Ssa9-Yx9T-5aot-KhaB-CmEt-XKSGIR

VGを作成する!

VGを作成します。

# vgcreate data01-vg /dev/sdb
  Volume group "data01vg" successfully created

確認します。

# vgs
  VG        #PV #LV #SN Attr   VSize    VFree   
  data01-vg   1   0   0 wz--n- <100.00g <100.00g
  ubuntu-vg   1   1   0 wz--n-  <23.00g   11.50g
# vgscan
  Found volume group "data01-vg" using metadata type lvm2
  Found volume group "ubuntu-vg" using metadata type lvm2
# vgdisplay
  --- Volume group ---
  VG Name               data01-vg
  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               <100.00 GiB
  PE Size               4.00 MiB
  Total PE              25599
  Alloc PE / Size       0 / 0   
  Free  PE / Size       25599 / <100.00 GiB
  VG UUID               h1sBov-anWo-tXqq-PMEw-E31q-P5IM-p09gTZ
   
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  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                1
  Act PV                1
  VG Size               <23.00 GiB
  PE Size               4.00 MiB
  Total PE              5887
  Alloc PE / Size       2943 / <11.50 GiB
  Free  PE / Size       2944 / 11.50 GiB
  VG UUID               tKUqVS-5v8M-C1PS-IOzm-XL07-seMc-O2WSOe
 

LVを作成する!

LVを作成します。VGを全て使用せず、20GB作成してみます。

# lvcreate -L 20G -n data01-lv data01-vg
  Logical volume "data01-lv" created.

確認します。

# lvs
  LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data01-lv data01-vg -wi-a-----  20.00g                                                    
  ubuntu-lv ubuntu-vg -wi-ao---- <11.50g                                                    
root@vmsada11:~# lvscan
  ACTIVE            '/dev/data01-vg/data01-lv' [20.00 GiB] inherit
  ACTIVE            '/dev/ubuntu-vg/ubuntu-lv' [<11.50 GiB] inherit
root@vmsada11:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/data01-vg/data01-lv
  LV Name                data01-lv
  VG Name                data01-vg
  LV UUID                jE4CFP-a1Kt-EN57-0B3k-Bvrq-a4GF-rYGc3A
  LV Write Access        read/write
  LV Creation host, time vmsada11, 2022-04-24 10:55:36 +0000
  LV Status              available
  # open                 0
  LV Size                20.00 GiB
  Current LE             5120
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                79dMiM-62XS-YIGd-Cu0b-QVe1-HvV1-Se7niu
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2022-04-24 10:15:51 +0000
  LV Status              available
  # open                 1
  LV Size                <11.50 GiB
  Current LE             2943
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

ファイルシステムを作成する!

ext4のファイルシステムを作成します。

# mkfs.ext4 /dev/data01-vg/data01-lv
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 5242880 4k blocks and 1310720 inodes
Filesystem UUID: 4389f6e1-3a07-4893-8d5a-46ef7b2fe931
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

作成したファイルシステムをマウントする!

作成したLVをマウントします。まず、マウントポイントを作成します。

# mkdir /var/local/data01

マウントします。

# mount /dev/data01-vg/data01-lv /var/local/data01

確認します。

# mount | grep data01
/dev/mapper/data01--vg-data01--lv on /var/local/data01 type ext4 (rw,relatime)

再起動後もマウントする!

再起動後もマウントするように、/etc/fstabに設定します。

# vi /etc/fstab
...
UUID="4389f6e1-3a07-4893-8d5a-46ef7b2fe931" /var/local/data01 ext4 defaults 0 2

確認します。

# umount /var/local/data01
# df -h | grep /var/local/data01
# mount /var/local/data01
# df -h | grep /var/local/data01
/dev/mapper/data01--vg-data01--lv   20G   24K   19G   1% /var/local/data01

サーバの再起動も行って、マウントされるか確認しておきましょう。

おわりに

LVMの作成とマウントは、長い手順にはなりますが、PV作成→VG作成→LV作成→ファイルシステム作成と順番に作業していけば難しいところはありません。