将 Linux 上其他挂载点的父挂载点移动到新物理设备的最安全方法

将 Linux 上其他挂载点的父挂载点移动到新物理设备的最安全方法

我搞砸了,/var/lib/kubelet没有挂载到服务器上。所以它在根目录上。我注意到了这一点,我想修复它。我做了一件愚蠢的事情,只是尝试停止相关服务(kubelet),将现有目录重命名为/var/lib/old_kubelet,挂载/var/lib/kubelet,然后尝试mv /var/lib/old_kubelet/* /var/lib/kubelet

事实证明,下面有很多 (20 个) 挂载点/var/lib/kubelet。IE/var/lib/kubelet/pods/30014089-3398-4e78-b176-ea651739a5f6/volumes/kubernetes.io~secret/default-token-g7vwq

因此,当我尝试移动或复制时,它实际上尝试复制这些挂载点的内容!

在不复制子挂载点的情况下移动内容的简单且最安全的方法是什么?

其他可能不相关的信息:挂载点应该指向的块设备是 LUKS 卷

答案1

如果你绑定挂载一个目录,那么子挂载将不会被绑定。因此,在某处创建一个虚拟目录,然后执行

mount --bind /var/lib/kubelet/ /mnt/tmptmp_dummy/

然后目录的内容/var/lib/kubelet/将在中可用/mnt/tmptmp_dummy/,而无需挂载的目录(它们将为空)。

相关内容