Mount

我可以將新磁碟掛載到另一個具有完全訪問權限的磁碟的子目錄嗎?

  • October 27, 2017

伺服器的磁碟(或 RAID 1 中的 2 個磁碟)已滿 (96 %)。我想添加一個新的 SSD(不是 RAID 的一部分)。

我不明白如何或在哪里安裝它,所以我可以在現有結構中無縫使用它。

如何在 Linux 中將子目錄掛載到硬碟上?不會讓我變得更聰明,即使這可能是我正在尋找的東西。

我有類似的東西/var/www/vhosts/example.com/httpdocs/images/dirA。由於 Web 伺服器(Apache 和 nginx)可以立即訪問新磁碟上的文件對我來說很重要,我認為我必須將它安裝在其中的某個位置,/var/www/vhosts/example.com/httpdocs/這樣它就不會以有限的訪問權限結束。

那麼我可以在那裡創建/var/www/vhosts/example.com/httpdocs/images/dirB並安裝新磁碟嗎?它會以任何方式影響RAID嗎?

或者將它安裝在“外面”可能更可取,比如/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)也可以做到。如果它是動態的,您必須禁用該應用程序或將其切換到 RO 模式。

現在,當您在其他地方擁有內容時,請停止應用程序以確保沒有任何東西可以訪問它。刪除 /a/b/c/* 以便您在分區中獲得可用空間。

/a/b/c 現在是空目錄,可以用作掛載點。讓您的供應商將新設備掛載到 /a/b/c 掛載點,並從之前的備份中恢復數據,這樣您就有了 /a/b/c/d 子樹。啟動您的應用程序。

現在您應該在 /a/b/c/ 中擁有新設備的所有可用空間。

如果您自己嘗試使用快閃記憶體盤或 SD 卡,那麼您就知道會發生什麼,這是最好的。

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