什麼是虛擬目錄

2022-03-19 06:46:56 字數 1127 閱讀 3768

檔案系統可以把 xx檔案放到 yy目錄,也可以把 dd目錄 放到 yy目錄。當我們像訪問某個檔案 或者 目錄的時候,必須知道其路徑才可以,比如

windows

linux 

/user/someone/hello.txt

linux 不像 windows有碟符(c、d、e等等),這完全是設計問題。

windows預設以各個分割槽為總入口,然後再入口下建立一級一級目錄。 

linux預設以全域性為總入口,各個分割槽被掛到某個目錄。

如果linux也想跟windows一樣,可以把分割槽掛載到 / 目錄下。例如 sda1分割槽掛載到/sda1,sda2分割槽掛載到/sda2,以此類推。

既然linux可以做出類似於windows碟符的行為,那麼windows可以像linux一樣,把某個分割槽掛載到某個目錄下嗎??  可以。  這種目錄叫做 虛擬目錄(virtual directory,即目錄中存放的不是屬於這個目錄的檔案或者目錄,而是另乙個儲存空間的目錄樹。

在乙個多點集群環境中,每個節點都有各自的虛擬目錄,這個虛擬目錄會記錄其他節點上儲存空間的目錄樹。

其實虛擬目錄,本質上就是另乙個儲存空間的目錄樹。就像幼兒園小朋友打架,打架的是小盆友,但是出問題是找家長,因為家長知道小朋友在哪。虛擬目錄的本質是另一儲存空間的目錄樹,抓住這個 目錄樹 ,一切就清晰明了了。

集群內各個節點都有自己的檔案系統以及mount point,每個節點都可以向外部export所有節點上的mount point。例如:節點a將自己的分割槽sda1掛載到/user/zq/temp路徑下,然後這個路徑被nfs export出去給客戶端訪問。那麼節點a會通知其他節點生成這條mount point,這樣其他節點會知道這個路徑/user/zq/temp的實際儲存空間並不在本地所管理的儲存空間上,而位於節點a上。一旦其他節點收到針對這個路徑的訪問請求,由於他知道要訪問的資料不再自己身上,當然肯定也不知道在哪取資料。但是他知道a知道資料在哪,所以針對節點後端不共享儲存,節點後端共享儲存,又有2種獲得訪問資料的方法。

在乙個集群環境中,是不允許出項2個同名路徑的,這就是single name space (全域性統一命名空間)

建立虛擬目錄

function criadiretoriovirtual byval vdirname as string,byval serverid as string,byval vdirpath as boolean as directoryentry dim newvdir as directoryen...

tomcat虛擬目錄

web專案中會遇到這樣的問題,當在伺服器重新部署時此前上傳的之類的資源全都會沒了,那麼有沒有個好辦法了。好的,tomcat虛擬目錄能幫我們解決這問題。首先第一步是要去修改tomcat目錄中的server.xml檔案 路徑 tomcat home conf server.xml 和web.xml 路徑...

Tomcat虛擬目錄

虛擬目錄的建立 開啟tomcat的conf中的server.xml,新增 例如 這樣我們就能通過http localhost 8080 xmgl訪問到d盤下面的shop專案。但是這樣做每次修改server.xml檔案都要重啟tomcat生效,所以推薦使用如下方法 在conf中的catalina中的l...