一、背景
“linux 使用中经常遇到磁盘空间不足,需要对磁盘进行扩容。根据自己的经验进行归纳整理,多种场景,帮助需要者和备查
本文执行的命令,均在 centos7 环境下运行的,其他环境思路和相似,命令基本一致。
分区情况说明
“sda 是单独的一块磁盘总大小 50G,sda1、sda2 是两个分区,sda2 下面有三个逻辑分区 centos-root 、centos-home、centos-[swap](df 命令时可以看到的挂载点);
centos-root对应的挂载点是 根目录
centos-home 对应的挂载点是 /home
卷组名称为 centos (通过pvdisplay 查看)
二、场景
“扩容磁盘不显示扩容后的磁盘或者磁盘大小两种情况:
情况一:修改原来磁盘大小
情况二:新增磁盘
场景一:将 centos-home 分区移动到根分区 centos-root
由于分区时,centos-home 分区空间非常大,centos-root 分区非常小,需要删除 centos-home 分区,扩容到 centos-root 分区
操作思路
1.先备份 / home 下文件
2.卸载(umount) /home (注意:卸载不掉时,请将所有使用 / home 的进程关闭
3.从逻辑卷中删除(lvremove) home 分区
4.扩展:将腾出的空间扩展(lvextend)到 centos-root 分区下
5.使扩展生效(xfs_growfs)
6.注释掉 fstab 中的启动挂载项
7.恢复备份数据到 / home 下
详细代码如下:
说明:
思路是一样的,如果是其他分区,请修改里面的分区目录即可
场景二:新增磁盘扩容到根目录或者 home 下
“磁盘空间不足,新增加了一块硬盘的场景。此处举例新增的一块磁盘名称为**/dev/sdb**
操作思路
1.查看磁盘情况(lsblk、fdisk -l、pvdisplay)
2.创建物理卷(pvcreate)
3.将磁盘扩展到卷组(vgextend)
4.扩展逻辑分区(lvextend)
5.使扩展生效(xfs_growfs)
6.查看(df -H)
场景三:在原始磁盘上增加空间(常在虚拟化环境中)
虚拟化或者超融合环境中、或者 VMware 虚拟机中;磁盘空间不足,增加了已有磁盘的大小的场景,把增加的空间扩容到根目录或者 centos-home 下。
“操作思路(括号中是用到的命令):
方法一:fdisk 进行分区,操作步骤与场景二基本一样,多了一步分区
1.查看磁盘情况(lsblk、fdisk -l、pvdisplay)
2.创建分区(fdisk 磁盘名称)
3.创建物理卷(pvcreate)
4.将磁盘扩展到卷组(vgextend)
5.扩展逻辑分区(lvextend)
6.使扩展生效(xfs_growfs)
7.查看(df -H)
方法二:用 parted 命令调整大小
1.查看磁盘情况(parted_/dev/sda print free_)
2.分配剩余的可用空间(parted /dev/sda resizepart 2 100%)
3.刷新物理卷(pvresize /dev/sda2)
4.扩展逻辑分区(lvextend)
5.使扩展生效(xfs_growfs)
6.查看(df -H)
方法一:fdisk 进行分区,操作步骤与场景二基本一样,多了一步分区
方法二:用 parted 命令调整大小
举例:系统只有一个磁盘,2 个分区:需要将新扩容的磁盘空间扩容到分区 2 上,下图中 number 为 2 的,实际上对应的是 / dev/sda2
方法二:用parted命令进行操作
三、总结
“自己在工作中遇到磁盘扩容的问题进行了汇总。按照我的命令可以一步一步执行,如果还想进行了解更深,需要了解什么是物理卷(pv)、逻辑卷、逻辑分组、逻辑分区等等。