Posted in: CentOS, linux

从逻辑卷centos-home迁移350GB空间到centos-root

centos-home迁移350GB空间到centos-root逻辑卷的标准化操作流程:


一、数据备份与预处理

  1. 备份/home目录‌:

    mkdir /backup
    tar -zcvf /backup/home.tar.gz /home/*   
    
  2. 终止占用进程‌:

    fuser -km /home   # 强制终止占用/home的进程,`-km`参数会终止所有占用`/home`的进程,解决卸载时的“设备忙”报错
    

处理fuser命令缺失问题

  1. 安装psmisc软件包
 sudo yum install psmisc -y  # CentOS/RHEL系统安装fuser命令
  1. 验证安装结果
    which fuser  # 检查命令路径,正常应输出`/usr/bin/fuser`
    
  2. 重新执行原命令
    sudo fuser -km /home  # 强制终止占用/home目录的进程
    

二、释放目标空间

  1. 卸载逻辑卷‌:

    umount /home   # 卸载/home挂载点
    
    • 若提示target is busy,再次执行fuser -km /home
  2. 删除原home逻辑卷‌:

    lvremove /dev/mapper/centos-home   # 输入y确认删除
    

    删除逻辑卷报错 Logical volume centos/home contains a filesystem in use.强制终止占用进程并卸载逻辑卷

    1. 终止所有占用进程‌:

      sudo fuser -km /home  # 强制终止所有使用/home的进程
      
    2. 再次尝试卸载逻辑卷‌:

      sudo umount /home      # 确认卸载操作
      
    3. 验证卸载状态‌:

      mount | grep '/home'   # 输出为空表示已卸载
      
    4. 执行逻辑卷删除‌:

      sudo lvremove /dev/mapper/centos-home  # 此时应无报错
      

    操作注意事项

    • 数据风险‌:强制终止进程可能导致未保存数据丢失,操作前务必验证备份完整性
    • 服务影响‌:若发现关键系统进程(如sshddbus-daemon)占用,建议在维护窗口操作
    • 异常处理‌:若仍提示filesystem in use,需排查是否存在残留挂载点或NFS共享等隐藏依赖

三、空间重新分配

  1. 扩展root逻辑卷‌:

    lvextend -L +350G /dev/mapper/centos-root   # 增加350G空间
    
  2. 调整文件系统‌:

    xfs_growfs /dev/mapper/centos-root   # XFS文件系统适用
    
  3. 重建home逻辑卷‌:

    lvcreate -L 57G -n home centos   # 假设原home有407G,保留57G
    mkfs.xfs /dev/centos/home         # 按原文件系统类型格式化
    

四、挂载恢复与验证

  1. 挂载新home逻辑卷‌:

    mount /dev/mapper/centos-home /home
    tar -zxvf /backup/home.tar.gz -C /home/   # 数据恢复
    
  2. 持久化配置‌:

    vi /etc/fstab   # 确认home挂载条目设备路径正确
    
  3. 空间验证‌:

    df -h /home /   # 确认root增加350G,home缩减至57G
    

Leave a Reply

Back to Top