服务器的磁盘(或 RAID 1 中的 2 个磁盘)已满 (96 %)。我想添加一个新的 SSD(不属于 RAID)。
\n\n我不明白的是如何或在哪里安装它,所以我可以在现有结构中无缝地使用它。
\n\n如何在 Linux 中将子目录挂载到硬盘上?并不会让我变得更聪明,即使这可能是我正在寻找的。
\n\n我有类似的东西/var/www/vhosts/example.com/httpdocs/images/dirA。\n因为网络服务器(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没有复杂性或实际上获得了更多的整体空间。
我的问题是,我只有“一次机会”,我自己做不到;我必须告诉我的托管商安装新磁盘以及在哪里安装/绑定/链接它。
\n\n编辑:
\n\n为了形象化它,这里是当前/计划的结构:
\n\n/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 A/ (existing on old disk)\n| \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 B/ (existing on old disk, access point for Apache etc.)\n| | \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 C/ (existing on old disk)\n| | | \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file.tmp (existing on old disk)\n| | \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 D/ (existing on old disk)\n| | \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file.tmp (existing on old disk)\n| | \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 E/ (existing on old disk)\n| | \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 X/ (new to be on new disk)\n| \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 other stuff\nRun Code Online (Sandbox Code Playgroud)\n
换句话说,您有一些目录结构,例如 /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 卡,这样您就知道会发生什么。