Linux

將作為 Linux 上其他掛載點的父掛載點的掛載點移動到新物理設備的最安全方法

  • April 22, 2021

我搞砸了,/var/lib/kubelet沒有安裝在伺服器上。所以它在根上。我注意到了這一點,我想修復它。我做了一件愚蠢的事,只是試圖停止相關的服務(kubelet),將現有目錄重命名為/var/lib/old_kubelet,mounted /var/lib/kubelet,然後嘗試mv /var/lib/old_kubelet/* /var/lib/kubelet.

事實證明,下面有許多 (20ish) 掛載點/var/lib/kubelet。IE/var/lib/kubelet/pods/30014089-3398-4e78-b176-ea651739a5f6/volumes/kubernetes.io~secret/default-token-g7vwq

所以當我試圖移動或複制時,它實際上是試圖複製那些掛載點的內容!

在不複製子掛載點的情況下移動內容的最簡單和最安全的方法是什麼?

其他可能不相關的資訊:掛載點應該指向的塊設備是 LUKS 卷

如果綁定掛載目錄,則不會綁定子掛載。所以在某處創建一個虛擬目錄,然後執行

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

然後/var/lib/kubelet/目錄的內容將在 中可用/mnt/tmptmp_dummy/,而沒有掛載的目錄(它們將為空)。

引用自:https://serverfault.com/questions/1061157