服务器的磁盘(或RAID 1中的2个磁盘)正在运行(96%)。 我想添加一个新的SSD(不是RAID的一部分)。
我不明白的是如何或在何处安装它,所以我可以在现有的结构中无缝地使用它。
如何在Linux下将子目录挂载到硬盘上? 不会让我变得更聪明,即使这可能是我正在寻找的东西。
我有类似/var/www/vhosts/example.com/httpdocs/images/dirA 。 因为web服务器(Apache和nginx)能立即访问新磁盘上的文件对我来说很重要,所以我想我必须将它挂载到/var/www/vhosts/example.com/httpdocs/某个地方,将不会以有限的方式结束。
那么我可以创build/var/www/vhosts/example.com/httpdocs/images/dirB并在那里安装新的磁盘? 它会以任何方式影响RAID?
或者,build议将其安装在“外部”,比如/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
换句话说,你有一些像/ a / b / c / d / e这样的目录结构,你想把你的新磁盘安装到/ a / b / c /中。 如果你只是在那里挂载它,那么你就失去了访问你/ a / b / c / d /目录的内容!
所以首先你必须备份/ a / b / c / *子树的内容。 如果它是静态的,即使运行了应用程序(我猜也可以是httpd / nginx)。 如果它是dynamic的,你必须禁用应用程序或将其切换到RO模式。
现在,当其他地方有内容时,请停止应用程序以确保无法访问它。 删除/ a / b / c / *,以便在分区中获得可用空间。
/ a / b / c现在是空目录,可以用作mounpoint。 让您的提供者将新设备挂载到/ a / b / c挂载点,并从以前的备份中还原数据,以便拥有/ a / b / c / d子树。 开始你的申请。
现在,您应该可以在/ a / b / c /中获得新设备的所有空间。
最好的,如果你尝试自己例如闪存盘或SD卡,所以你知道会发生什么事情。