我可以移动 /var 文件夹而不必重新启动吗?

我可以移动 /var 文件夹而不必重新启动吗?

我从 USB 驱动器运行无头 Ubuntu 服务器,为了尽量减少写入,我想将 /var 文件夹移动到其他驱动器。

问题是,所有其他驱动器都已加密,并且只能在启动已完成。我当然可以这样做,mount /dev/mapped/drive /var但是我确信很多进程会感到困惑,为什么它们旧的打开的文件描述符无法与新创建的文件描述符通信。

有没有办法基本上重新启动整个系统而不必重新启动,或者我必须尝试找出哪些进程正在运行并手动重新启动它们 /etc/init.d/*?

答案1

这应该是可能的,但可能不值得麻烦,重新启动是最可行的选择。

/var还可能包含像 mysql 这样的数据库、各种日志文件和缓存。您可能成功执行lsof | grep /var/并向相关服务发送停止,其中大多数甚至可能幸存下来,mv /var /varold && mkdir /var && mount -t auto /dev/whatever /var && cp -Rp /varold /var因为它们只会坚持使用旧的 pid 文件,但这可能会彻底崩溃。

另一种方法是使用 root 以外的帐户登录服务器并执行killall -SIGSTOP -u root(或以任何特殊用户身份运行),进行修改并使用 恢复进程killall -SIGCONT -u root

如果这确实是没有停机时间和无限努力的关键任务,我宁愿设置一个克隆的虚拟机并对其进行处理,然后在真实服务器上尝试。

相关内容