我可以將新磁碟掛載到另一個具有完全訪問權限的磁碟的子目錄嗎?
伺服器的磁碟(或 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 卡,那麼您就知道會發生什麼,這是最好的。