我可以将新磁盘安装到具有完全访问权限的另一个磁盘的子目录中吗?

我可以将新磁盘安装到具有完全访问权限的另一个磁盘的子目录中吗?

服务器的磁盘(或 RAID 1 中的 2 个磁盘)已满(96%)。我想添加一个新的 SSD(不属于 RAID)。

我不明白的是如何或在哪里安装它,以便我可以在现有结构内无缝地使用它。

如何在 Linux 中将子目录挂载到硬盘?并不能让我变得更聪明,即使这可能正是我想要的。

我有类似的东西/var/www/vhosts/example.com/httpdocs/images/dirA。由于 Web 服务器(Apache 和 nginx)能够立即访问新磁盘上的文件对我来说很重要,所以我认为我必须将其安装在内部的某个地方,/var/www/vhosts/example.com/httpdocs/这样它才不会以访问受限告终。

那么我可以/var/www/vhosts/example.com/httpdocs/images/dirB在那里创建并安装新磁盘吗?这会对 RAID 产生任何影响吗?

或者也许更可取的做法是将其安装在“外部”,/newDiskX然后符号链接/newDiskX/var/www/vhosts/example.com/httpdocs/images/dirB

我从中了解到https://unix.stackexchange.com/questions/198542/what-happens-when-you-mount-over-an-existing-folder-with-contents是我无法直接将其安装到/var/www/vhosts/example.com/httpdocs/images/dirA没有复杂情况或实际上总体上获得更多空间。

我的问题是,我只有“一次机会”,我自己做不到;我必须告诉我的主机提供商安装新磁盘以及在哪里挂载/绑定/链接它。

编辑:

为了形象化,这里是当前/计划的结构:

/
├── A/ (existing on old disk)
|   ├── B/ (existing on old disk, access point for Apache etc.)
|   |   ├── C/ (existing on old disk)
|   |   |   └── file.tmp (existing on old disk)
|   |   ├── D/ (existing on old disk)
|   |   ├── file.tmp (existing on old disk)
|   |   └── E/ (existing on old disk)
|   |   └── X/ (new to be on new disk)
|   └── other stuff

答案1

换句话说,您有一些目录结构,如 /a/b/c/d/e,并且您想将新磁盘安装到 /a/b/c/。如果您只是将其安装在那里,您将无法访问 /a/b/c/d/ 目录内容!

因此,首先您必须备份 /a/b/c/* 子树的内容。如果它是静态的,您甚至可以在运行应用程序(我猜是 httpd/nginx)的情况下执行此操作。如果它是动态的,您必须禁用该应用程序或将其切换到 RO 模式。

现在,当您将内容放在其他地方时,请停止应用程序以确保没有任何内容可以访问它。删除 /a/b/c/* 以便在分区中获得可用空间。

/a/b/c 现在是空目录,可以用作挂载点。让您的提供商将新设备挂载到 /a/b/c 挂载点,并从之前的备份中恢复数据,这样您就可以恢复 /a/b/c/d 子树。启动您的应用程序。

现在您应该可以在 /a/b/c/ 中使用新设备的所有空间。

最好你自己尝试一下,例如使用闪存盘或 SD 卡,这样你就知道会发生什么。

相关内容