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作成→ファイルシステム作成と順番に作業していけば難しいところはありません。
関連記事