LVM可以实现对磁盘的动态管理,在磁盘不用重新分区的情况下动态调整文件系统的大小,利用LVM管理的文件系统可以跨越磁盘。“/boot”分区用于存放系统引导文件,不能应用LVM机制。 物理卷PV,经过处理后的磁盘分区。
卷组VG,由一个或多个物理卷组成,类似于非LVM系统中的物理磁盘。
逻辑卷LV,在逻辑卷之上可以创建文件系统,类似于非LVM系统中的磁盘分区。
物理块PE,物理卷的组成部分,PE的大小默认为4MB,大小可调,一个卷组中最多能包括65534个PE。
在虚拟机中额外添加2块硬盘(整个虚拟机共有3块硬盘)
为虚拟机创建快照 1、创建磁盘分区
创建物理分区: /dev/sdb1 和 /dev/sdb5,并修改分区标记为8e。
2、创建物理卷PV
然后创建物理卷PV,用到的命令是pvcreate (相当于图形操作中的初始化磁盘)
pvcreate /dev/sdb1 /dev/sdb5
3、创建卷组VG
接下来创建卷组VG ,用到的命令是vgcreate
使用物理卷/dev/sdb1 和 /dev/sdb5 创建名为wgroup的卷组
vgcreate wgroup /dev/sdb1 /dev/sdb5
创建完后可以用vgdisplay命令查看卷组的信息
4、创建逻辑卷
从卷中创建逻辑卷,用到的命令是lvcreate
格式如下:
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
例:从wgroup卷组中创建名为ftp的容量为19G的逻辑卷
lvcreate -L 19G -n ftp wgroup
5、创建并挂载文件系统
逻辑卷相当于一个磁盘分区,要使用它首先要将其格式化
mkfs -t ext4 /dev/wgroup/ftp
然后创建挂载目录点,将逻辑卷挂载
mkdir /mnt/ftp
挂载: mount /dev/wgroup/ftp /mnt/ftp
修改/etc/fstab文件,实现永久挂载
vim /etc/fstab
6、扩展逻辑空间
最后将第三块硬盘/dev/sdc加入到逻辑卷中。
先将硬盘分成一个分区/dev/sdc1,并将分区标记修改为8e
然后将分区转换为物理卷:pvcreate /dev/sdc1
将物理卷/dev/sdc1添加到卷组wgroup中:vgextend wgroup /dev/sdc1
扩展逻辑卷的空间: lvextend -L +10G /dev/wgroup/ftp
执行resize2fs命令重设文件系统的大小: resize2fs /dev/wgroup/ftp
再次查看文件系统/var/ftp的空间大小,可以看到已经变成了29GB: df -HT
lvreduce -L -3G /dev/wgroup/ftp
lvextend -L +3G /dev/wgroup/web
案例分析:
向虚拟机添加两块的硬盘
[root@localhost home]# fdisk -l |grep sd*
[root@localhost~]# fdisk /dev/sdb 修改成8e
[root@localhost~]# fdisk /dev/sdc 修改成8e
2、使用命令将sdb1与sdb5转化为物理卷
[root@localhost~]# pvcreate /dev/sdb1 /dev/sdb5
Physical volume “/dev/sdb1” successfully created.
Physical volume “/dev/sdb5” successfully created.
[root@localhost~]# pvscan
PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
PV /dev/sdb5 lvm2 [❤️.00 GiB]
PV /dev/sdb1 lvm2 [3.00 GiB]
Total: 3 [24.99 GiB] / in use: 1 [<19.00GiB] / in no VG: 2 [<6.00 GiB]
3、使用命令新建卷组wgroup,并将sdb1与sdb5加入到卷组wgroup
[root@localhost~]# vgcreate wgroup /dev/sdb1 /dev/sdb5
Volume group “wgroup” successfully created
[root@localhost~]# vgdisplay
4、使用命令在卷组wgroup上新两个逻辑卷,分别为FTP(10G)和WEB(10G)
[root@localhost~]# lvcreate -L 3G -n FTP wgroup
Logical volume “FTP” created.
[root@localhost~]# vgdisplay
[root@localhost~]# lvcreate -L 2.99G -n WEB wgroup
Rounding up size to full physical extent 2.99GiB
Logical volume “WEB” created.
[root@localhost~]# lvdisplay
5、 将FTP和WEB逻辑卷进行格式化,格式为ext4,并分别挂载到/mnt/FTP和/mnt/WEB目录供用户使用。
[root@localhost ~]# mkfs -t ext4 /dev/wgroup/FTP
[root@localhost ~]# mkdir /mnt/FTP
[root@localhost mnt]# mount /dev/wgroup/FTP /mnt/FTP
[root@localhost mnt]# mkfs -t ext4 /dev/wgroup/WEB
[root@localhost mnt]# mkdir /mnt/WEB
[root@localhost mnt]# mount /dev/wgroup/WEB /mnt/WEB
[root@localhost mnt]# mount |grep wgroup
/dev/mapper/wgroup-FTP on /mnt/FTP type ext4 (rw,relatime,seclabel,data=ordered)
/dev/mapper/wgroup-WEB on /mnt/WEB type ext4 (rw,relatime,seclabel,data=ordered)
6、 随着公司业务量的增加,发现FTP卷空间已经不能满足业务需求,要求将sdc1,sdc2、sdc5、sdc6加入到wgroup卷组,并将FTP卷扩容至25G,WEB卷扩容至15G。
将硬盘分成一个分区/dev/sdc,并将分区标记修改为8e
将分区转换为物理卷
[root@localhost mnt]#pvcreate /dev/sdc1 /dev/sdc5 /dev/sdc6 /dev/sdc7
Physical volume “/dev/sdc1” successfully created.
Physical volume “/dev/sdc5” successfully created.
Physical volume “/dev/sdc6” successfully created.
Physical volume “/dev/sdc7” successfully created.
将物理卷/dev/sdc添加到卷组wgroup中
[root@localhost mnt]# vgextend wgroup /dev/sdc1 /dev/sdc5 /dev/sdc6 /dev/sdc7
Volume group "wgroup" successfully extended扩展逻辑卷的空间
[root@localhost mnt]#lvextend -L +3G /dev/wgroup/FTP
Size of logical volume wgroup/FTP change from 3.00 GiB (768 extents) to 6.00 GiB (1536 extents).
Logical volume wgroup/FTP successfully resized.
[root@localhost mnt]#vgdisplay
[root@localhost mnt]#lvextend -L +2.97G /dev/wgroup/WEB
Rounding size to boundary between physical extents: 2.97 GiB.
Size of logical volume wgroup/WEB changed from 2.99 GiB (766 extents) to 5.96 GiB (1527 extents).
Logical volume wgroup/WEB successfully resized.
[root@localhost mnt]#lvdisplay
执行resize2fs命令重设文件系统的大小
[root@localhost mnt]# resize2fs /dev/wgroup/FTP
[root@localhost mnt]# resize2fs /dev/wgroup/WEB
7、经过一段时间运行,发现WEB卷空间不够用,但FTP卷的空间剩余较多,要求将FTP卷的容量缩减至20G,将WEB卷的容量扩展至20G,以暂时满足公司的需求。
[root@localhost mnt]# lvreduce -L -2.98G /dev/wgroup/FTP
Rounding size to boundary between physical extents: <2.98 GiB.
WARNING: Reducing active and open logical volume to 6.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce wgroup/FTP? [y/n]: y
Size of logical volume wgroup/FTP changed from 8.98 GiB (2299 extents) to 6.00 GiB (1537 extents).
Logical volume wgroup/FTP successfully resized.
[root@localhost mnt]# vgdisplay (查看可用空间)
[root@localhost mnt]# lvextend -L +2.97G /dev/wgroup/WEB
Rounding size to boundary between physical extents: 2.97 GiB.
Size of logical volume wgroup/WEB changed from 2.99 GiB (766 extents) to 5.96 GiB (1527 extents).
Logical volume wgroup/WEB successfully resized.
[root@localhost mnt]# lvdisplay (验证内存大小是否对头)
