linux通过lvm调整分区大小

前言

当在 LVM 中的磁盘空间耗尽时,可以通过缩小现有的没有使用全部空间的 LVM,在卷组上腾出一些空闲空间。

调整分区大小中,减少/缩小逻辑卷是具有高风险的,会有极大的概率造成数据损坏。

如果可以尽量用新挂盘并增容的方式来扩容容量不够的分区,而不是选择减少富余分区的容量,然后调整到不够的分区。

如果真想如此操作,缩减 LVM 之前,建议先做一个备份。
注意:GFS2 或者 XFS 文件系统上不支持缩小

1.减少逻辑券大小

主要步骤如下:

  • 1.卸载文件系统
  • 2.检查文件系统是否有任何错误
  • 3.缩小文件系统的大小
  • 4.缩小逻辑卷的大小
  • 5.重新检查文件系统是否存在错误(可选)
  • 6.挂载文件系统
  • 7.检查减少后的文件系统大小

比如: 你有一个 100GB 的没有使用全部空间的 LVM,你想把它减少到 80GB ,这样 20GB 可以用于其他用途。

1.0 查看硬盘分区信息

1.执行命令fdisk -l查看磁盘信息

fdisk -l

可以看到硬盘大小一共119.24g,挂载了一个主分区和一个逻辑分区,其中逻辑分区是lvm管理。

2.执行 lvdisplay命令查看逻辑分区信息

lvdisplay

可以看到逻辑分区被分为三个区,这里主要将/home分区减少20g并给root分区扩容20g

3.使用df命令查看系统文件夹挂载情况

df -h /home

1.1卸载文件系统

使用 umount 命令卸载文件系统:

umount /dev/mapper/debian--vg-home

1.2检查文件系统是否有任何错误

使用 e2fsck 命令检查文件系统是否有错误:

e2fsck -f /dev/mapper/debian--vg-home

1.3缩小文件系统

通过命令resize2fs缩小文件系统。

resize2fs 现有逻辑卷名 新的文件系统大小

下面的命令将把 /home 文件系统从 85GB 缩小到 60GB

resize2fs /dev/mapper/debian--vg-home 60G

1.4减少逻辑卷 (LVM) 容量

现使用 lvreduce 命令缩小逻辑卷(LVM) 的大小。

lvreduce 新的 LVM 大小 现有逻辑卷名称

执行命令,将 /dev/mapper/debian--vg-home 逻辑卷 (LVM) 从 85GB 缩小到 60GB。

lvreduce -L 60G /dev/mapper/debian--vg-home

这里会提示确认,一般数据损坏都是这一步造成的,建议备份数据。

确认没问题,输入y确认。

1.5检查文件系统是否有错误(可选)

缩减 LVM 后再次检查文件系统是否有错误:

e2fsck -f /dev/mapper/debian--vg-home

1.6 挂载文件系统并检查缩小后的大小

使用 mount 命令挂载分区

mount /dev/mapper/debian--vg-home

使用df命令查看分区挂载

df -h /home

2.增加逻辑卷大小

主要步骤如下:

  • 1.查看分区信息
  • 3.增加文件系统的大小
  • 4.增加逻辑卷的大小
  • 7.检查减少后的文件系统大小

2.1查看硬盘分区信息

1.执行命令fdisk -l查看磁盘信息

fdisk -l

2.使用df命令查看系统文件夹挂载情况

df -h /root

2.2增加文件系统

通过命令lvextend缩小文件系统。

lvextend -l 大小参数 逻辑卷名

参数可以是具体大小,比如20G;也可以是+100%FREE,表示剩余的所有空闲空间

这里将剩余的空间都扩容到root分区。

lvextend -l +100%FREE /dev/mapper/debian--vg-root

2.3增加逻辑券(lvm)大小

通过命令resize2fs增加逻辑券。

resize2fs 现有逻辑卷名 新的文件系统大小

刷新逻辑券

resize2fs /dev/mapper/debian--vg-root

2.4 检查扩容后大小

使用df命令查看

df -h /root

相关推荐
长孙豪翔2 分钟前
引发事件的问题
java·linux·数据库
小张成长计划..6 分钟前
【Linux】7:第一个系统程序-进度条
linux·运维·服务器
枳实-叶22 分钟前
【Linux驱动开发】第23天:spi_driver 的 probe / remove 函数实现规范
linux·驱动开发·c#
李子琪。25 分钟前
云计算虚拟化技术全解析:从理论到实践
linux·centos·云计算
wuminyu26 分钟前
markword在高并发场景下变化剖析
java·linux·c语言·jvm·c++
Cloud_Shy61833 分钟前
Linux 用户管理知识与应用实践(二:用户相关命令与示例)
linux·运维·服务器·测试用例
小生不才yz37 分钟前
Shell脚本精读 · S08-03 | 脚本模块化:`source` 与多文件组织
linux
碎碎念_49237 分钟前
ACL包过滤、NAT技术、广域网协议
服务器·网络·安全·acl·nat
想你依然心痛38 分钟前
AtomCode在算法竞赛中的实战体验:LeetCode周赛辅助编程
linux·算法·leetcode
24计网1王仔寿38 分钟前
Linux 系统运维全栈学习路线|从 Shell 脚本到容器云 OpenStack 完整学习指南
linux·学习·openstack