【CentOS 7】深入指南:使用LVM和扩展文件系统增加root分区存储容量

avatar
作者
筋斗云
阅读量:3

【CentOS 7】深入指南:使用LVM和扩展文件系统增加root分区存储容量

大家好 我是寸铁👊
【CentOS 7】深入指南:使用LVM和扩展文件系统增加root分区存储容量 ✨
喜欢的小伙伴可以点点关注 💝

在这里插入图片描述


前言

在运行CentOS 7服务器或虚拟机时,管理根分区的存储空间是系统管理者必须面对的重要问题之一。随着应用程序和数据的增长,根分区可能会迅速耗尽空间,影响系统的正常运行。传统上,扩展根分区的方法可能会涉及重新分区和重新安装系统,这些操作不仅繁琐,还会导致系统停机时间,给业务和用户带来不便。
然而,利用LVM(逻辑卷管理)和扩展文件系统的高级技术,您可以在不重新安装系统的情况下扩展根分区的存储容量,从而满足不断增长的存储需求。LVM技术允许您动态地管理硬盘空间,将物理硬盘划分为逻辑卷,而扩展文件系统则使得逻辑卷能够利用新增的空间,无需中断系统运行。

步骤概述:

- 备份数据:在进行任何系统更改之前,务必备份所有重要数据。尽管LVM和扩展文件系统的操作通常是安全的,但预防措施总是值得的。

  • 扩展物理卷:如果您有未分配的磁盘空间,可以将其添加到LVM物理卷中。使用pvcreate命令将新磁盘或分区添加到物理卷组中。

  • 扩展逻辑卷:使用vgextend命令将物理卷添加到现有的卷组中,然后使用lvextend命令扩展根逻辑卷的大小。

  • 扩展文件系统:最后一步是使用适当的文件系统工具(如resize2fs或xfs_growfs)来扩展文件系统,使其能够利用新分配的空间。

  • 验证和重启:在完成扩展操作后,验证新空间是否成功添加到根分区。根据需要,重启系统以确保所有更改生效。


实现

Step1

先将home分区进行备份

  • 查看分区大小:
df -lh 

在这里插入图片描述


  • 备份home分区
    在这里插入图片描述

Step2

再将home分区全部删除释放出可以分配给root空间的内存。

  • 卸载【home】目录
umount /home/ 

在这里插入图片描述


现在可以看到home分区不存在了

在这里插入图片描述


  • 删除【home】所在的LVM逻辑卷
lvremove /dev/mapper/centos-home 

在这里插入图片描述


Step3

root分区分配需要的内存

  • 增加【root】所在LVM逻辑卷的容量
lvextend -L +90G /dev/mapper/centos-root 

在这里插入图片描述

命令中的90G根据你的需求进行调整


  • 同步【root】文件系统
xfs_growfs /dev/mapper/centos-root 

在这里插入图片描述


  • 同步完后可通过【df -lh】命令查看【root】所在分区扩容后的大小。

扩容成功!从50G140G

在这里插入图片描述


Step4

恢复创建home分区,再将home分区的备份进行恢复。

重新创建【home】LVM逻辑卷

  • 先根据命令【vgdisplay】查看剩余空间的大小

在这里插入图片描述

  • 分配空间给home目录
lvcreate -L 301.90G -n home centos 

在这里插入图片描述


  • 创建【home】文件系统
mkfs.xfs /dev/centos/home 

在这里插入图片描述


  • 挂载【home】分区
    在这里插入图片描述

  • 将之前home的备份拷贝回来
    在这里插入图片描述
  • 查看home分区是否创建成功!

/home分区创建成功!

在这里插入图片描述


实现效果如下:

在这里插入图片描述


结语

通过本文学习了如何利用LVM和扩展文件系统来高级扩展CentOS 7根分区的存储空间。这种方法不仅避免了重新安装系统所带来的繁琐和停机时间,还提升了系统的灵活性和可维护性。在执行这些操作之前,请确保您对每个步骤有清晰的理解,并谨慎行事,以确保系统数据的安全性和稳定性。这些技术不仅适用于服务器环境,也适用于需要灵活管理存储的虚拟化环境。


看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕


往期好文💕

保姆级教程

【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero

【Go-Zero】手把手带你在goland中创建api文件并设置高亮


报错解决

【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 报错解决方案及api路由注意事项

【Go-Zero】Error: only one service expected goctl一键转换生成rpc服务错误解决方案

【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):报错解决方案

【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错解决方案

【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“报错解决方案

【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘报错解决方案

【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案


Go面试向

【Go面试向】defer与time.sleep初探

【Go面试向】defer与return的执行顺序初探

【Go面试向】Go程序的执行顺序

【Go面试向】rune和byte类型的认识与使用

【Go面试向】实现map稳定的有序遍历的方式

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!