将/ var从LVM移动到非LVM磁盘

我inheritance了一个基于LVM的centos设置,其中root位于LVM分区。 我想将我的/ var移动到一个新的硬盘上,而不必将其添加到LVM组。 是否有可能将新硬盘挂载到/ var而不将其添加到LVM,比如直接将其添加到fstab?

你想要做的是当然可以离线当然 ,LVM 可以轻松地在线进行数据移动,但根据您的情况,即使没有 LVM,您可以在线执行此操作。

不使用LVM时,在线和离线过程基本相同。

离线操作

如果你可以将机器离线一段时间,我build议从一个实时媒体(我推荐SystemRescueCd )启动,然后为新的/var分区准备磁盘(对它进行分区并为它准备一个文件系统),安装基于LVM的/var和新格式化的/var ,然后将所有数据从一个磁盘复制到另一个( rsync是我的build议)。

然后,你将不得不更新你的/etc/fstab ,并设置好。

如果您不想在实时媒体中启动,则可能会在单用户模式下启动一些运气。 或者,你可以咬下子弹,并尝试在网上做。

在线操作

在线移动数据的过程几乎与脱机过程相同,但您必须非常小心使用旧的/var分区的任何过程。 如果没有任何关键的东西,你不必非常小心,最后的重新启动将照顾剩菜。

步骤

  1. 分区新磁盘并准备新的文件系统
  2. /var/mnt/newvar -be文件系统挂载到某处(为简单起见,我将假定为/mnt/newvar
  3. 将所有文件从/var复制到/mnt/newvarrsync -avHPSAX /var/ /mnt/newvar/
  4. 检查哪些进程在/var保存任何打开的文件并停止它们( lsof -n / | awk '$9 ~ /^\/var\//'会让你知道)
  5. 再次同步磁盘( rsync -avHP --delete /var/ /mnt/newvar/ )。 这应该是快,因为几乎没有任何更新
  6. 当你确定没有任何信息写入/var ,umount /mnt/newvar并将其挂载在/var
  7. 更新/etc/fstab
  8. 重启
  9. 重新启动后,您可以删除曾经是/var 。 如果你的/var不是一个单独的卷,并且只是/一部分,那么你可以mount -o bind / /mnt ,并清理/mnt/var (记住保持/mnt/var因为它是挂载点)。

如果您需要更多详细信息,则必须简要介绍有关设置的更多信息,例如,要使用的新磁盘的df -hTP /varlvm lvsfdisk -l的输出。