由于存储容量几乎已满,我需要将 DOCUMENT_ROOT 目录的内容移动到新磁盘。由于更改目录相当困难,我只想使用该/var/www
目录作为挂载点并将 NFS 共享挂载到该目录。然后,无需修改任何 apache2 的配置文件,一切都应该再次正常运行。这就是理论。
不幸的是,重新启动服务器时,启动过程中会显示以下消息:
systemd[1]: local-fs.target: Job media-extStorage-var-www-clients-client1-web5-log.mount/start deleted to break ordering cycle starting with localfs.target/start
[ SKIP ] Ordering cycle found, skipping **r/www/clients/client1/web5/log
[ SKIP ] Ordering cycle found, skipping **Volatile Files and Directories
[ SKIP ] Ordering cycle found, skipping Local File Systems
以下是部分内容/etc/fstab
:
/var/log/ispconfig/httpd/example.com /var/www/clients/client1/web5/log none bind,nobootwait 0 0
...
aaa.bbb.ccc.ddd:/volume_name /media/extStorage nfs rw 0 0
aaa.bbb.ccc.ddd:/volume_name
这意味着,我第一步是挂载 NFS 卷/media/extStorage
。在这个外部文件系统中,有一个var/www
由符号链接引用的目录/var/www
。
我不确定为什么会显示此错误消息,但我怀疑这是因为我正在使用 NFS 挂载目录,而其他挂载需要此目录已经可用,才能将其他目录挂载到其中(其目标驻留在原始磁盘上)。这也可以解释“排序循环”消息,尽管在使用检查时没有检测到排序循环systemd-analyze
。
现在我的问题是:
- 我的假设正确吗?
- 有没有办法可以修复设置而不必重新配置整个服务器?
- 或者:有没有办法确保在挂载其他文件系统时 NFS 挂载已经可用?
我也尝试将整个目录移动/var
到 NFS 共享,但这也不行,因为/var
挂载 NFS 共享需要该目录。现在我很迷茫……
我使用的是 Debian GNU/Linux 11(bullseye)。作为托管环境,我使用 ISPConfig(它也会创建条目,/etc/fstab
并且很难更改当前设置)。