文章目录

  • 问题背景
  • 基本概念
  • 新增磁盘为指定目录扩容
  • 查看现有磁盘使用情况
  • 新增硬盘,并查看设备信息
  • 创建逻辑卷
  • 查看lv信息
  • 扩容
  • 确定扩容的信息
  • 执行扩容命令
  • 再次查看VG信息
  • lv扩容
  • 重置逻辑卷
  • 注意事项
  • 相关资料


问题背景

服务器(linux系统)磁盘空间不足,挂载了新硬盘之后,对普通用户透明的指定目录扩容(如/home)是最直接的方法,这样能够避免迁移数据(目录拷贝)不影响原分区,尽可能减小对基础环境的影响。
系统发行版:

$ cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

基本概念

物理卷(PV, physical volume)
逻辑卷(LV,logical volume)
逻辑分组(VG,volume group)
逻辑分区
LVM

新增磁盘为指定目录扩容

方法基本完全照搬了linux系统下,新加硬盘并把现有的/home目录扩容
这里记录了部分自己环境下的配置过程,有什么不明确的地方,请查看原文步骤;
CentOS8.4对home目录扩容讲解更加细致,最好仔细读一遍再动手,毕竟修改磁盘配置不是小事,谨慎点。

查看现有磁盘使用情况

参考命令:df -h,未挂载的硬盘并不能读取到

新增硬盘,并查看设备信息

新增加的硬件设备可以在/dev目录下查到,硬盘一般是/dev/fd*
查看新增的设备信息,fdisk -l,能够查看现有系统中能够读取到的所有磁盘信息(包括了未挂载的硬盘,但此处在不同发行版中稍有存疑)。
可进一步使用cfdisk /dev/sd*查看目标盘的分区信息。

创建逻辑卷

为新增加的硬盘创建逻辑卷:pvcreate /dev/sdc 成功则提示

$ sudo pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.

此时可以通过pvdisplay命令查看新增加的磁盘信息

![在这里插入图片描述](

centos home空间加到root centos扩容home目录_linux


这里增加的是个1.09TB的硬盘

查看lv信息

通过lvdisplay命令查看逻辑卷信息,并重点关注“LV Path|Name|Size”

![在这里插入图片描述](

centos home空间加到root centos扩容home目录_linux_02

扩容

确定扩容的信息

目录,这里以/home目录为例。

扩容前先利用命令vgdisplay查看扩容前的vg信息

centos home空间加到root centos扩容home目录_逻辑卷_03

执行扩容命令

vgextend centos /dev/sdc,这样将新增磁盘挂载的磁盘扩容到VG Name
执行成功提示

$ sudo vgextend centos /dev/sdc
  Volume group "centos" successfully extended

再次查看VG信息

vgdisplay

centos home空间加到root centos扩容home目录_运维_04


此时虽然VG已经扩容,但lv信息并未改变,通过命令lvdisplaydf -h所查看的信息尚未变化,也即尚未真正扩容。

lv扩容

执行命令lvextend -L +1T /dev/centos/home,命令格式

lvextend -L [+size,单位可以是M|G|T,不超过新加磁盘的空间] 待扩容的逻辑卷 执行结束提示成功

centos home空间加到root centos扩容home目录_centos_05

这是,虽然lv信息已经改变,但是df -h还是没有变化,

重置逻辑卷

这里注意,先用blkid命令查看文件系统类型

如果是Linux6.x使用的命令(ext格式)是

resize2fs [参数] 如果是linux7.x的系统使用命令(xfs格式):

xfs_growfs [参数]

centos home空间加到root centos扩容home目录_linux_06


此时,再次查看磁盘信息,已成功扩容

centos home空间加到root centos扩容home目录_centos_07


重启服务器,仍然有效

注意事项

  1. 以上命令基本都需要管理员权限
  2. 扩容操作,对普通用户透明;无需迁移数据;
  3. 重启服务器,无需手工挂载新磁盘

相关资料

同样的问题,这里有一些其他的方法,比如(详细讲解)解决ubuntu根目录/和用户目录/home分区太小(重新挂载home以及其他目录),Linux系统下对目录扩容的方法介绍:挂载新硬盘后,将指定目录重新重定向到新的磁盘分区,但需要完全迁移数据到新磁盘,若目录较大,磁盘速度较慢,比较耗时(不清楚原目录的空间是否能够回收再利用)。一般的方法,在修改重定向后,还需要修改配置文件,保证重启后自动挂载新添加的磁盘LINUX /home 目录扩容。
还有一些方法,是在虚拟机环境下的指定目录扩容,如linux扩充/home内存容量,并未测试在物理机环境上是否有效。
【解决】linux磁盘扩容大全:新增磁盘、原磁盘扩容、home分区root分区扩容CentOS8.4对home目录扩容