Linux的磁盘存储管理实操——(下二)——逻辑卷管理LVM的扩容、缩容
Linux的磁盘存储管理实操——(中)——逻辑卷管理实战-CSDN博客https://coffeemilk.blog.csdn.net/article/details/149471808
一、逻辑卷管理的常用操作命令
创建逻辑卷的流程是:硬盘分区-->物理卷(PV)-->卷组(VG)-->逻辑卷(LV)-->文件系统.
命令类型 | 序号 | 命令内容 | 说明 |
硬盘分区 | 1 | fdisk | 硬盘分区工具 |
parted | 硬盘分区工具 | ||
硬盘信息 | 1 | df -hT | 查看Linux系统的硬盘空间使用情况及其文件系统类型 |
2 | lsblk | 显示Linux系统的所有可用设备信息 | |
物理卷管理 【PV】 | 1 | pvcreate | 将硬盘或分区初始化为物理卷【主要是添加LVM属性信息并划分PE存储单位】 注意:若将整个硬盘都设置为一个物理卷PV时,该硬盘必须没有任何分区表 |
2 | pvdisplay | 显示物理卷信息 | |
3 | pvremove | 将物理卷删除 【注意:删除之前必须用vgreduce命令把它从卷组中移除】 | |
4 | pvscan | 在系统LVM块设备中检索PV | |
5 | pvchange | 允许管理员改变一个或多个物理卷的分配许可 | |
卷组管理 【VG】 | 1 | vgcreate | 将一个或多个物理卷创建为一个卷组 |
2 | vgdisplay | 显示LVM卷组的元数据信息【若不指定卷组则显示所有卷组属性】 | |
3 | vgremove | 删除一个或多个卷组 【注意:卷组上必须没有任何逻辑卷PV并且为非活动状态】 | |
4 | vgextend | 动态添加一个或多个物理卷PV到指定卷组中 | |
5 | vgreduce | 从卷组中删除一个或多个无用的物理卷PV 【注意:在从卷组中移除PV前,需通过pvmove把PV上的逻辑卷LV移动到其他PV上】 | |
6 | vgscan | 查找系统中存在的LVM的所有卷组,仅显示找到的卷组名称和LVM元数据类型。若想得到卷组的详细信息需使用vgdisplay命令。 | |
7 | vgchange | 设置卷组为活动状态或非活动状态,或改变卷组的最大LV数量 | |
逻辑卷管理 【LV】 | 1 | lvcreate | 创建LVM的逻辑卷LV |
2 | lvdisplay | 显示逻辑卷空间大小、读写状态和快照信息等属性 | |
3 | lvremove | 删除一个或多个非活动的逻辑卷 【注意:如果逻辑卷已用mount指令挂载,则不能用lvremove删除。只有先用umount卸载后,该逻辑卷才能被删除】 | |
4 | lvextend | 在线扩展逻辑卷空间大小,可以指定扩展后的大小,也可以指定增量 | |
5 | lvreduce | 减少逻辑卷占用的空间大小(即收缩逻辑卷) 【注意:此命令有可能会删除逻辑卷上的已有数据,操作之前必须确认】 | |
6 | lvscan | 扫描系统中所有存在的逻辑卷LV | |
7 | lvchange | 改变逻辑卷参数,或激活/禁止某个逻辑卷LV | |
格式化 | 1 | mkfs.xfs | 以xfs格式化指定的逻辑卷 |
2 | mkfs.ext4 | 以ext4格式化制定的逻辑卷 | |
逻辑卷挂载 | 1 | mount | 挂载指定的逻辑卷到指定路径上 |
2 | umount | 卸载指定路径的逻辑卷 | |
3 | xfs_growfs | 在线刷新【xfs】文件格式的逻辑卷容量到挂载的路径上 | |
4 | resize2fs | 在线刷新【ext4】文件格式的逻辑卷容量到挂载的路径上 | |
5 | /etc/fstab | Linux开机后自动挂载逻辑卷或分区内容文件 |
二、逻辑卷的扩容缩容实战
2.1、场景描述
场景描述:在我们生产环境中的Linux系统,根分区快满了,且目前没有可用的新增磁盘,现在如何解决这个问题?
2.2、问题分析
1、先查看当前的根分区是哪些文件夹占用较大,然后确认这些较大文件夹或文件能否删除?若能删除则可空出容量解决问题。
2、可对当前出问题的分区进行扩容(寻找另外一个有较大空闲容量的分区进行缩容,然后对该快满的分区扩容),执行思路如下:
先确定当前Linux系统出现问题的分区使用的是什么分区?(是标准分区还是逻辑卷管理LVM分区):
《1》若是标准分区可参考《Linux的磁盘存储管理实操——(下一)——标准分区扩容》;
《2》若是逻辑卷管理LVM分区则先查看当前系统的分区是否还存在有较大空闲容量的逻辑分区:
<1>若是不存在较大空闲容量的逻辑分区则只能(查看是否有可清理的内容腾出空间;或是新增硬盘扩容)。
<2>若是存在较大空闲容量的逻辑分区则可以考虑将现有的空闲容量较大的逻辑分区容量缩容给当前快满的根分区扩容。
2.3、解决方法
1、针对根分区需要查看哪个文件夹或文件占用空间较大后进行查看是否能删除
#1-查看指定路径下子目录所有文件的空间占用信息,方便查找出最大的文件或文件夹(如查看根目录)
du -sh /*
2、查看Linux系统的磁盘占用情况并对空闲容量大的缩容给需要的分区扩容操作
注意事项:
《1》xfs文件系统没有工具来缩小文件系统的大小,您只能增大 XFS 文件系统的大小。
《2》ext4文件系统支持扩展和缩小文件系统的大小,但缩减只能离线操作。
#1-查看磁盘是否属于标准分区(带LVM则表示是逻辑分区)
lsblk#2-查看当前Linux的磁盘空间占用情况和类型命令
df -hT#3-查找到硬盘空闲容量较大的分区后【备份该分区的所有数据】(可以使用scp向其他服务器传输备份或者直接物理备份)【比如我们这里是/home分区的空闲容量较大,就备份该分区内容】#4-空闲容量较大的分区内容备份完成后就可以执行如下的空闲容量逻辑卷卸载和移除操作(如:我们这里卸载【/home】挂载点及其对应的逻辑卷【/dev/mapper/rl-home】移除)
umount /home
lvdisplay
lvremove /dev/mapper/rl-home
vgdisplay#5-先给空闲容量少的逻辑卷进行扩容(如:我们这里给根分区挂载点对应的逻辑卷【/dev/mapper/rl-root】扩容增加30g)
lvextend -L +30g /dev/mapper/rl-root
df -hT
xfs_growfs /dev/mapper/rl-root
df -hT#6-给原有的空闲容量多的逻辑卷进行重建缩容(如:新增的逻辑卷名称是home且使用rl这个卷组剩下的所有空间)
lvcreate -n home -l 100%free r1
lvdisplay
vgdisplay#7-格式化我们新创建好的逻辑卷并挂载上【这里之所以使用ext4格式是因为方便后续如果其他逻辑卷容量不够的时候就可以直接使用这个逻辑卷进行缩容操作(且不用将这个逻辑卷卸载、移除格式化等一系列的操作)】【还有在这里如果直接使用mount /home挂载报错,那是因为Linux系统的开机后自动挂载硬盘的/etc/fstab文件里面配置有原来的逻辑卷内容与现在新创建的逻辑卷内容不一致导致的,需要到该文件里面修改一致】
mkfs.ext4 /dev/rl/home
mount /dev/r1/home /home
vi /etc/fstab
说明:df -hT命令展示的挂载点对应的路径(如【/dev/mapper/rl-root 】)与lvdisplay命令展示的路径都是指向同一个设备(可以使用【ll 路径】命令查看),所以两个路径的使用效果是一样的,如下图所示:
三、其他资料
第 5 章 LVM 配置示例 | 逻辑卷管理器管理 | Red Hat Enterprise Linux | 7 | Red Hat Documentationhttps://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/lvm_examples1.5. XFS 和 ext4 的比较 | 管理文件系统 | Red Hat Enterprise Linux | 10 | Red Hat Documentation
https://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/10/html/managing_file_systems/comparison-of-xfs-and-ext4Linux 文件系统选择指南:EXT4、XFS、Btrfs – 启鑫的黑板报
https://www.qixinlee.com/archives/482