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

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

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

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

# fdisk -l
...
Disk /dev/sdb: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
...

GPTでパーティションを作成する!

GPTでパーティションを作成します。

# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xa08b036a.

Command (m for help): g
Created a new GPT disklabel (GUID: D46C70A0-AF28-BF42-89D7-D32B70BA97AC).

Command (m for help): n
Partition number (1-128, default 1): 
First sector (2048-2000409230, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2000409230, default 2000409230): 

Created a new partition 1 of type 'Linux filesystem' and of size 953.9 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

パーティション「/dev/sdb1」が作成されたことを確認します。

# fdisk -l | grep /dev/sdb
Disk /dev/sdb: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
/dev/sdb1   2048 2000409230 2000407183 953.9G Linux filesystem

PVを作成する!

「/dev/sdb1」にPVを作成します。

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

PVが作成されたことを確認します。

# pvs
  PV         VG       Fmt  Attr PSize    PFree   
  /dev/sda2  vgubuntu lvm2 a--  <223.07g   16.00m
  /dev/sdb1           lvm2 ---  <953.87g <953.87g
# pvscan
  PV /dev/sda2   VG vgubuntu        lvm2 [<223.07 GiB / 16.00 MiB free]
  PV /dev/sdb1                      lvm2 [<953.87 GiB]
  Total: 2 [<1.15 TiB] / in use: 1 [<223.07 GiB] / in no VG: 1 [<953.87 GiB]
# pvdisplay
 --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               vgubuntu
  PV Size               <223.07 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              57105
  Free PE               4
  Allocated PE          57101
  PV UUID               QAZdy9-MQzI-ZLEz-7gt0-rcbU-FxKi-wELEIc
   
  "/dev/sdb1" is a new physical volume of "<953.87 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <953.87 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               a0Pu6z-llHc-mKDh-lFtV-Hdzb-LFC3-WGV6JM
   

VGを作成する!

VGを作成します。

# vgcreate vgdata01 /dev/sdb1
  Volume group "vgdata01" successfully created

VGが作成されたことを確認します。

# vgs
  VG       #PV #LV #SN Attr   VSize    VFree   
  vgdata01   1   0   0 wz--n- <953.87g <953.87g
  vgubuntu   1   2   0 wz--n- <223.07g   16.00m
# vgscan
  Found volume group "vgdata01" using metadata type lvm2
  Found volume group "vgubuntu" using metadata type lvm2
# vgdisplay
 --- Volume group ---
  VG Name               vgdata01
  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               <953.87 GiB
  PE Size               4.00 MiB
  Total PE              244190
  Alloc PE / Size       0 / 0   
  Free  PE / Size       244190 / <953.87 GiB
  VG UUID               KIXMEn-Cskw-rHgf-XKRj-ds9M-UTp1-gdDEAT
   
  --- Volume group ---
  VG Name               vgubuntu
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <223.07 GiB
  PE Size               4.00 MiB
  Total PE              57105
  Alloc PE / Size       57101 / 223.05 GiB
  Free  PE / Size       4 / 16.00 MiB
  VG UUID               Zd0Z6f-t7eu-E1qq-P3Y9-Fl72-kqiI-WImRWT
   
 

LVを作成する!

LVを作成します。VGを全て使用します。

# lvcreate -l 100%Free -n lvdata01 vgdata01
  Logical volume "lvdata01" created.

LVが作成されたことを確認します。

# lvs
  LV       VG       Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvdata01 vgdata01 -wi-a----- <953.87g                                                    
  root     vgubuntu -wi-ao----  221.14g                                                    
  swap_1   vgubuntu -wi-ao----   <1.91g                                                    
root@vmsada11:~# lvscan
  ACTIVE            '/dev/vgdata01/lvdata01' [<953.87 GiB] inherit
  ACTIVE            '/dev/vgubuntu/root' [221.14 GiB] inherit
  ACTIVE            '/dev/vgubuntu/swap_1' [<1.91 GiB] inherit
root@vmsada11:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vgdata01/lvdata01
  LV Name                lvdata01
  VG Name                vgdata01
  LV UUID                kV364t-WjHa-6c2M-Twqi-dKY8-tU1c-DHWdKe
  LV Write Access        read/write
  LV Creation host, time dpc011p1, 2022-12-01 07:08:14 +0900
  LV Status              available
  # open                 0
  LV Size                <953.87 GiB
  Current LE             244190
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/vgubuntu/root
  LV Name                root
  VG Name                vgubuntu
  LV UUID                KT30DZ-bLqP-icnu-YMl6-549J-OUXx-WldWdb
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2022-11-30 06:38:50 +0900
  LV Status              available
  # open                 1
  LV Size                221.14 GiB
  Current LE             56613
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/vgubuntu/swap_1
  LV Name                swap_1
  VG Name                vgubuntu
  LV UUID                2reU8y-zQBp-hj5o-Fdbq-2L4T-UBxJ-bMsk7u
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2022-11-30 06:38:50 +0900
  LV Status              available
  # open                 2
  LV Size                <1.91 GiB
  Current LE             488
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   

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

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

# mkfs.ext4 /dev/vgdata01/lvdata01
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done                            
Creating filesystem with 250050560 4k blocks and 62513152 inodes
Filesystem UUID: 724f865d-c91a-4af9-a041-ade824a51cec
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848

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

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

作成したファイルシステムをマウントします。まず、マウントポイントを作成します。

# mkdir /var/local/data01

マウントします。

# mount /dev/vgdata01/lvdata01 /var/local/data01

マウントされたことを確認します。

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

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

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

# vi /etc/fstab
...
UUID="724f865d-c91a-4af9-a041-ade824a51cec" /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/vgdata01-lvdata01  938G   28K  891G   1% /var/local/data01

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

おわりに

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

関連記事