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

文章目录

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

前言

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

操作步骤

1. 备份数据

所有磁盘类操作,建议都先备份数据,防止出现问题时可以恢复数据。

针对本次问题,我们需要手动备份/home下的数据,可以直接打包/home目录,放入/tmp或其他空间暂存,代码示例如下:

shell 复制代码
tar zcvf /tmp/home.tar /home

2. 卸载/home分区

使用umount命令卸载/home分区

shell 复制代码
umount /dev/centos/home

3. 调整逻辑卷

使用LVM(逻辑卷管理)的工具减少/home的大小,并增加/root的大小。

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

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

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

命令行会弹出交互式提示,是否确认操作,选择y

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

此时,实际还有一些零碎的空间,我们可以继续尝试增加,根据提示调整大小(前提是不再需要/home目录,如果有需要,可以留一小部分空间重新建立/dev/centos/home)

OK,至此基本没有冗余空间了。

4. 调整文件系统

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

shell 复制代码
xfs_growfs /dev/centos/root

至此,笔者的需求已满足,/dev/centos/home分区磁盘空间已转移到/dev/centos/root分区下。

补充

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

shell 复制代码
# 创建逻辑卷,如果上述步骤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/

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

相关推荐
荔枝吻几秒前
忘记服务器密码,在Xshell7中查看已保存密码
运维·服务器·github
码农阿豪1 分钟前
多服务器批量指令管理:从Xshell到自动化运维
运维·服务器·自动化
Pocker_Spades_A3 分钟前
在家也能连公司服务器写代码?GoLand+CPolar 远程开发实测
运维·服务器
CSCN新手听安3 分钟前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
普马萨特14 分钟前
GPS、WiFi、基站定位:为什么在 Agent 时代不仅不受影响,反而更重要
linux·运维·服务器
2501_9419820531 分钟前
别再手动发群消息了!企业微信外部群自动化推送的架构设计与实现
运维·自动化·企业微信
REDcker37 分钟前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
予枫的编程笔记39 分钟前
【Linux入门篇】Ubuntu和CentOS包管理不一样?apt与yum对比实操,看完再也不混淆
linux·人工智能·ubuntu·centos·linux包管理·linux新手教程·rpm离线安装
先做个垃圾出来………41 分钟前
SSH密钥管理最佳实践
运维·ssh
RisunJan44 分钟前
Linux命令-lpr(从命令行提交文件到打印机打印)
linux·运维·服务器