Linux 分区命令实战:fdisk、parted、lsblk 使用教程
操作前须知隐患点:
1. 检查 /opt 的空间够不够放备份?潜在风险:脚本第一步会将 /home 完整打包到 /opt/home.tar.gz。如果您的 /opt 目录其实是在根目录 / 下,而此时根目录正好快满了,tar 备份就会因为磁盘空间不足而中断。安全建议:运行前执行 df -h /opt,确保 /opt 的可用空间大于 /home 已用空间的总量。
2. 远程 SSH 登录的用户千万不能是 /home 下的用户!潜在风险:如果您当前是通过普通的普通用户(比如 admin,其家目录在 /home/admin)登录,然后 su - 切换到 root 的,在执行到第二步 fuser -km /home 时,系统会瞬间踢掉你的 SSH 连接,导致脚本直接在后台中断。由于此时旧卷已删、新卷未建,系统会直接挂掉。安全建议:必须修改 SSH 配置,允许 root 用户直接远程登录,或者在 tmux / screen 虚拟终端里后台运行该脚本。
3. 文件系统类型确认潜在风险:脚本中写死了 mkfs.xfs 和 xfs_growfs。如果您的系统当年安装时使用的是 Ext4 文件系统(常见于 Debian/Ubuntu,部分老版本 CentOS),执行这些命令会直接报错崩溃,触发回滚。安全建议:运行前请务必执行 df -T /home 确认 Type 列是否显示为 xfs。
具体实际操作:
# 1. 备份与卸载
df -hT
tar -zcvf /opt/home.tar.gz -C /home .
fuser -km /home
umount /home
df -hT
# 2. 删除旧的 home 并把腾出的空间给 root
lvremove /dev/mapper/almalinux-home
lvextend -l +100%FREE /dev/mapper/almalinux-root
xfs_growfs /dev/mapper/almalinux-root
# 3. 重新创建 97G 的新 home
lvcreate -L 97G -n home almalinux
mkfs.xfs /dev/mapper/almalinux-home
mount /dev/mapper/almalinux-home
df -h
# 4. 数据恢复与权限修改(注意用户已改为 jey)
tar -zxvf /opt/home.tar.gz -C /home/
chown -R jey:jey /home/jey/
#注意 给home空间设置97G,剩下自动全部给/根目录
如果是redhat系统 almalinux 只需换成 rhel 即可
注意 必须root用户登陆操作,普通用户要强制退出,执行命令。
Explore More
› How to Enable PHP OPcache for Better Performance | Complete Guide
› Firefox vs Chrome on Linux: Why Firefox Remains the Default Choice