系统是CentOS 7。
我有一个逻辑卷安装在/
。
在设置服务器时我忘记提供/home
自己的逻辑卷。
现在我想将所有内容移到/home
它自己的逻辑卷中。
最好的做法是什么?是否lvm
有内置方法可以做到这一点?
我目前的做事方式是:
离线
- 使服务器脱机(因此在操作期间无法访问在其上运行的 Web 应用程序)
mv /home /old-home
(防止操作过程中文件被修改)- 重新启动服务器,因此任何在 /home 中具有打开文件句柄的进程都会放弃该句柄,并且直到 /home 再次可用时才能启动
移动数据
- 创建新的逻辑卷(lv)
- 在 /mnt/new-lv 挂载新的 lv
cp -r
从 /home 到 /mnt/new-lv 的所有内容- 安装新 LV 于
/home
检查结果
- 将服务器重新切换回在线状态并测试应用程序
- 如果一切正常,请保留
/old-home
一段时间作为紧急备份 rm -rf /old-home
稍后的某个时刻
但也许有更省力的方式?或者有避免停机的方式?
编辑1:
添加新的 lv/etc/fstab
以便它随系统自动启动。
编辑2: 有问题的系统是我们托管商数据中心的虚拟系统,因此据我所知,启动到替代操作系统模式(如救援/最小)不是一个选择。
答案1
以下是我会做的事情:
- 打造家居 LV
- 使用所需的文件系统格式化 LV
- 使用 Live 或 System Rescue CD 重新启动
- 山 /
- 将 /home 重命名为 /home-old
- 挂载 /home
- 对 /etc/fstab 进行必要的更改
- 使用复制数据
rsync -av /home-old/* /home/
- 去检查:
diff -r /home-old /home
如果一切看起来不错,请重新启动服务器到它自己的操作系统,然后就可以开始了。
干杯,OJ