将新分区挂载到现有挂载点

将新分区挂载到现有挂载点

类似的问题有已经在 ServerFault 上被询问过但我有一个轻微的差异,如果我遵循已经回答的问题的解决方案,可能会产生问题,因此我必须确保。

这个想法是让/var/www/html/ 目录显示 中存在的文件/mnt/a/www/html/以及当前驻留在 中的文件/var/www/html/

我有一个 4TB HDD 安装为/var.该硬盘上的空间快用完了,这就是为什么我添加了另一个尚未安装的 4TB 硬盘。/mnt/a/例如,我计划做的是为这个新硬盘创建一个安装点,然后使用mhddfs实用程序将其合并/var/mnt/a 单个安装点中,/var可能使用以下命令:

mhddfs /var/,/mnt/a/ /var/

这样两个硬盘就有一个安装点,/var并且不需要重新启动服务器。mhddfs当生成的安装点与其中之一相同时,是否支持执行此类命令待合并挂载点?或者有更好的方法吗?

答案1

正如评论中提到的,mhddfs在关键生产系统上使用似乎是一个坏主意。

解决您的问题的好方法是使用 LVM2。以下是步骤:

  1. vgcreate创建一个使用新硬盘的新 LVM 卷组 ( )。
  2. lvcreate从先前创建的卷组创建新的 LVM 逻辑卷 ( )。
  3. 使用支持调整大小的文件系统格式化逻辑卷。

此时,您已经拥有一个干净的 4TiB 文件系统。然后,我会:

  1. 将新文件系统安装到临时位置(假设/var-tmp)。
  2. rsync /var /var-tmp

此时,您已经拥有了旧版的/var副本/var-tmp。然后:

  1. 停止所有依赖的服务/var
  2. umount /var
  3. 相反,将基于 LVM 的新 FS 挂载到 /var 上。
  4. 重新启动服务。

在此步骤中,您已/var迁移到新硬盘。然后:

  1. 用于pvcreate准备旧 HDD 以用于 LVM2 卷组。
  2. 用于vgextend将其添加到您的卷组中。
  3. 调整 FS 的大小。

现在你有一个 8TiB /var

笔记: umount /var 可能有点复杂,因为几个系统守护程序依赖于它。如果您的系统拒绝这样做,您可能必须将其脱机几分钟,但如果准备充分,系统的不可用时间可能会很短。

相关内容