一、逻辑卷
pv:物理卷,被处理过的物理分区;
pe :物理扩展,设定存储最小单元;
vg :物理卷组,捆绑pv到一个组中;
lv :逻辑卷,分配最终的使用设备;
- LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。Linux用户安装Linux操作系统时遇到的一个常见问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。
普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。
随着Linux的逻辑卷管理功能的出现,用户在无需停机的情况下可以方便地调整各个分区大小LVM动态管理容量。 - 使用 fdisk /dev/vdb 命令,已经建立好一个物理分区,并挂载到 /westosdir 目录;
/westosdir 目录挂载的是数据目录,当数据不断写入数据目录,可能会使数据目录的容量填满;
解决方法:在数据目录上挂载一个可以被拉伸的设备。当真正的物理设备无法被拉伸,只能通过建立物理分区,作LVM - 选择分区类型为8e(LVM)
- 分区建立完成,大小为1G
- 监控建立过程:watch -n 1 “pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /westosdir”
- lvm设备建立
pvcreate /dev/vdb1:创建pv;
vgcreate westosvg -s 2M /dev/vdb1 :创建vg, -s:设定pe(存储最小单元)大小为2M。 - 可以看到已经pv,vg建立成功
- 显示LVM卷组的信息,此时 pe 为2M
- 删除创建好的vg ,不指定 pe 大小;(默认vg最小存储单元大小为4M)
- 创建lvm ,-L指定大小 ,-n指定名称(westoslv0);
将设备格式化 - 可以看到创建好的LV
- 挂载设备
二、lvm拉伸
- 1.当vg中的容量充足时:
lvextend -L 200M /dev/westosvg/westoslv0 :拉伸设备到200M
此时lvm 已经被拉伸,但文件系统仍然没变
拉伸文件系统,在rhel7中可以用设备或挂载点;在rhel8.0中只能用挂载点
(resize2fs /dev/westosvg/westoslv0 :当文件系统为ext时使用此命令)
2.当vg中的容量不足时:
无法拉伸到1500M,因为建立的分区大小只有1G
所以还需要再划分一个分区
创建pv、vg;
vgextend:动态扩展LVM卷组,向卷组中添加物理卷来增加卷组的容量
此时创建好了两个pv,第一个空余820M、第二个完全空余
此时就可以拉伸设备到1500M
拉伸文件系统
三、lvm缩减
- LVM支持缩减,但XFS文件系统不支持缩减,所以先卸载 /westosdir ,然后设定/dev/westosvg/westoslv0 为mkfs.ext4 使其可以缩减;
- 设定完成之后重新挂载到 /westosdir 目录;(虚拟设备(用软件制作出来的设备):显示在/dev/mapper )
- 拉伸设备;
拉伸ext4文件系统。 - 缩减步骤
首先卸载设备 - e2fsck 检测设备上有多大的数据
- 将ext4文件系统缩减到500M,之后重新挂载
- 缩减lv
- 由于/dev/vdb2 分区完全空闲
- 通过删除LVM卷组中的物理卷 /dev/vdb2 来减少卷组容量
- vgextend:动态扩展LVM卷组,向卷组中添加物理卷来增加卷组的容量;
重新将/dev/vdb2 物理卷添加到卷组中;
无法删除删除LVM卷组中的物理卷 /dev/vdb21,因为该卷组还在使用 - pvmove命令的作用可以将源物理卷 /dev/vdb1 上的物理盘区移动到 /dev/vdb2 物理卷
- 此时 /dev/vdb1 物理卷组westosvg删除成功
- 删除物理卷