LVM: 一种动态管理存储空间的方法。首先,将磁盘或分区转换成物理卷PV,再将1到多个PV组合成卷组VG,最后,在VG上创建逻辑卷LV。逻辑卷可以进行格式化,挂载,如果空间不足,还可以实现在线扩容。
1,添加磁盘并分成两个分区
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 19G 0 part
├─rhel-root 253:0 0 17G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
vdb 252:16 0 20G 0 disk
[root@localhost ~]# fdisk /dev/vdb 分成两分区1 & 2
vdb 252:16 0 20G 0 disk
├─vdb1 252:17 0 9.8G 0 part
└─vdb2 252:18 0 9.8G 0 part
2. 创建物理卷
[root@localhost ~]# pvcreate /dev/vdb{1,2}
Physical volume "/dev/vdb1" successfully created.
Physical volume "/dev/vdb2" successfully created.
3. 创建卷组
[root@localhost ~]# vgcreate vgtest /dev/vdb{1,2}
Volume group "vgtest" successfully created
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- <19.00g 0
vgtest 2 0 0 wz--n- 19.52g 19.52g
4.创建逻辑卷
[root@localhost ~]# lvcreate -n lvtest -L8G vgtest
Logical volume "lvtest" created.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- <17.00g
swap rhel -wi-ao---- 2.00g
lvtest vgtest -wi-a----- 8.00g
5.格式化逻辑卷
[root@localhost ~]# mkfs.ext4 /dev/vgtest/lvtest
6.添加挂载点
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/vgtest/lvtest /data
[root@localhost ~]# df -h /data
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vgtest-lvtest 7.8G 36M 7.3G 1% /data
如果要括容量,需要添加新的PV并扩充VG,
[root@localhost ~]# lvextend -L+7G /dev/vgtest/lvtest
Size of logical volume vgtest/lvtest changed from 8.00 GiB (2048 extents) to 15.00 GiB (3840 extents).
Logical volume vgtest/lvtest successfully resized.
[root@localhost ~]# resize2fs /dev/vgtest/lvtest
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vgtest/lvtest is mounted on /data; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/vgtest/lvtest is now 3932160 blocks long.
[root@localhost ~]# df -h /data/
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vgtest-lvtest 15G 40M 14G 1% /data