将/ var移动到新的一组磁盘

我目前只能远程访问这个CentOS盒子,我需要将/ varforms的主RAID移动到一个新的安装有更多空间的磁盘上,我目前的想法是如何将新的RAID临时安装到的/ tmp / VAR。 rsync从/ var到/ temp / var的所有内容,然后修改fstab指向新磁盘的/ var。

这是我的问题。 一旦将新磁盘安装到该位置(假设这可能是远程的),如何删除主磁盘上的现有/ var?

这对于正在运行的系统来说是不平凡的任务。 /var树有许多打开的文件,通过打开的fd不断被写入。 这些文件将在原始设备上保持打开状态,直到告诉守护进程closures并重新打开其日志文件。 如果您正在使用mysql并正在使用它的默认数据目录,那么您也需要对此做特别的规定。

 lsof | grep /var 

会给你一些关于你的任务规模的想法。 这些文件中的每一个都需要您的一些操作才能移动到新设备。 一些(大多数?)守护进程只需要一个kill -HUP或一个service servicename restart来让他们closures并重新打开他们的文件,其他人将需要更多的努力,例如mysql默认configuration。

您可能最终不得不等到可以重新启动系统才能完全恢复旧的/var

这可能是一个有点棘手的现场系统,我会做一个switcheroo方法:

 mv /var /var0 mkdir /var mount --bind /path/to/raid/var /var 

当然,你会想要确保你的fstab被更新,以保持启动。