Centos系统将/dev/centos/home存储空间转移到/dev/centos/root

文章目录

  • 前言
  • 操作步骤
    • 1. 备份数据
    • 2. 卸载/home分区
    • 3. 调整逻辑卷
    • 4. 调整文件系统
    • 补充

前言

在CentOS系统(以及许多其他Linux发行版)中,默认情况下/home分区有较大空间而/root(实际上是根分区/)较小,这种设计有官方处于实用和安全方面的考虑,但是对于个人开发者而言,我们自己用的主机大部分都是root账号,/home下的空间基本不会用到,如下图,笔者的机器/home下完全没有使用,但是/home目录所属磁盘分区分配了180多G空间,比较浪费,故而我们尝试把这块空间挪到常用的/dev/centos/root下。
Centos系统将/dev/centos/home存储空间转移到/dev/centos/root_第1张图片

操作步骤

1. 备份数据

所有磁盘类操作,建议都先备份数据,防止出现问题时可以恢复数据。
针对本次问题,我们需要手动备份/home下的数据,可以直接打包/home目录,放入/tmp或其他空间暂存,代码示例如下:

tar zcvf /tmp/home.tar /home

2. 卸载/home分区

使用umount命令卸载/home分区

umount /dev/centos/home

3. 调整逻辑卷

使用LVM(逻辑卷管理)的工具减少/home的大小,并增加/root的大小。
您可以使用lvreduce来减少/home的大小,然后使用lvextend来增加/root的大小,如果你完全不再需要/home空间,可以使用lvremove命令移除/home目录所属分区。

  • 减少/home的大小
# 方法1:减少特定大小空间,比如100G
lvreduce -L -100G /dev/centos/home

# 方法2:完全移除分区(笔者采用该方式)
lvremove /dev/centos/home

命令行会弹出交互式提示,是否确认操作,选择y
在这里插入图片描述

  • 而后将腾出来的空间,加到/dev/centos/root分区
# 示例:为/dev/centos/root分区增加180G
lvextend -L +180G /dev/centos/root

在这里插入图片描述
此时,实际还有一些零碎的空间,我们可以继续尝试增加,根据提示调整大小(前提是不再需要/home目录,如果有需要,可以留一小部分空间重新建立/dev/centos/home)
Centos系统将/dev/centos/home存储空间转移到/dev/centos/root_第2张图片
OK,至此基本没有冗余空间了。

4. 调整文件系统

在调整了逻辑卷的大小之后,需要调整文件系统以匹配新的分区大小。对于ext4文件系统,可以使用xfs_growfs 命令。

xfs_growfs /dev/centos/root

Centos系统将/dev/centos/home存储空间转移到/dev/centos/root_第3张图片

至此,笔者的需求已满足,/dev/centos/home分区磁盘空间已转移到/dev/centos/root分区下。
Centos系统将/dev/centos/home存储空间转移到/dev/centos/root_第4张图片

补充

如果你需要/home目录,只是需要空间小一点,可以通过调整逻辑卷和文件系统来实现

# 创建逻辑卷,如果上述步骤3采用的是lvreduce,则无需执行该步骤
lvcreate -L 40G -n /dev/centos/home 

# 创建文件系统
mkfs.xfs /dev/centos/home

# 挂载home
mount /dev/centos/home

# 恢复/home目录文件
tar zxvf /tmp/home.tar -C /home/

【星猿科技】:在这里我们共同探索科技新趋势,分享积累的点滴,从人工智能到高性能计算,我们追求技术的进步,同时珍视分享的力量。欢迎关注我们,在科技与影视的精彩世界中一起遨游,发现更多未知!

你可能感兴趣的:(SHELL编程,centos,linux,运维)