什么是虚拟目录

文件系统可以把 XX文件放到 YY目录,也可以把 DD目录 放到 YY目录。当我们像访问某个文件 或者 目录的时候,必须知道其路径才可以,比如

Windows  C:\Program Files\Application Verifier\helo.txt

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 (全局统一命名空间)

猜你喜欢

转载自www.cnblogs.com/kelamoyujuzhen/p/9025604.html