问题背景
服务器(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
命令查看新增加的磁盘信息
是
resize2fs [参数]
如果是linux7.x的系统使用命令(xfs格式):
xfs_growfs [参数]
此时,再次查看磁盘信息,已成功扩容
重启服务器,仍然有效
注意事项
- 以上命令基本都需要管理员权限
- 扩容操作,对普通用户透明;无需迁移数据;
- 重启服务器,无需手工挂载新磁盘
相关资料
同样的问题,这里有一些其他的方法,比如(详细讲解)解决ubuntu根目录/和用户目录/home分区太小(重新挂载home以及其他目录),Linux系统下对目录扩容的方法介绍:挂载新硬盘后,将指定目录重新重定向到新的磁盘分区,但需要完全迁移数据到新磁盘,若目录较大,磁盘速度较慢,比较耗时(不清楚原目录的空间是否能够回收再利用)。一般的方法,在修改重定向后,还需要修改配置文件,保证重启后自动挂载新添加的磁盘LINUX /home 目录扩容。
还有一些方法,是在虚拟机环境下的指定目录扩容,如linux扩充/home内存容量,并未测试在物理机环境上是否有效。
【解决】linux磁盘扩容大全:新增磁盘、原磁盘扩容、home分区root分区扩容
CentOS8.4对home目录扩容