码迷,mamicode.com
首页 > 其他好文 > 详细

DFS分布式文件系统--基础篇

时间:2016-11-17 21:26:56      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:dfs 分布式文件系统 命名空间服务器 复制

DFS分布式文件系统--基础篇

 

DFS是将相同的文件同时存储到网络上多台服务器上后,就可以有以下功能和优点:

提高文件的访问效率:DFS服务器会向客户端提供一个服务器列表,列表中的这些服务器内部有客户端所需要的文件。DFS会将最接近客户端的服务器,放在列表最前面,以便让客户端优先从这台服务器来访问文件 。

提高文件的可用性:当提供资源的服务器列表中的某一台服务器出现故障,客户端仍然可以从列表中的下一台服务器获取所需要的文件,即DFS提供排错功能。

服务器负载平衡功能:由于存放相同文件,有可能有多台服务器。当多个客户端访问同一资源时,可能会从不同服务器来访问所需的文件,从而可以减轻单一服务器的负担。

 

一、DFS中的各个组件

Windows 2008 R2通过文件服务角色内的DFS命名空间与DFS复制这两个服务来创建DFS。

技术分享

1、DFS命名空间

用户可以通过DFS命名空间将位于不同服务器内的共享文件夹组合在一起,并以一个虚拟文件夹的树状结构显示给客户端。它有如下两种:

域命名空间:其配置数据存储到Ad DS和命名空间服务器的内存缓冲区。当用户创建多台命名空间服务器的话,它还具备命名空间的排错功能。

独立命名空间:其配置数据库存储在命名空间服务器的注册表与内存缓冲区。由于独立命名空间只能够有一台命名空间服务器,所以不具有命名空间排错功能,除非采用服务器群集。

 

2、命名空间服务器

用来控制命名空间的服务器。如果是域命名空间,则这台服务器可以是成员服务器或域控制器,同时用户可以设置添加多台命名空间服务器;如果是独立命名空间,则这台服务器可以是成员服务器、独立服务器或域控制器,但只能够有一台命名空间服务器。

 

3、命名空间根目录

这是整个命名空间的起点,它相录于磁盘根目录”\”。命名空间类型不同,其命名的方式会不同。如命名空间根目录名为Public,对于域命名空间,其名称为 \\域名\命名空间根目录名,如\\FromHeart.Com\Public;对于独立命名空间,其名称为\\服务器\命名空间根目录,如\\NameSrv01\Public.

在DFS架构中,命名空间根目录被映射到命名空间服务器内的一个共享文件夹,默认是%SystemDrive%\DFSRoots\Public,它必须位于NTFS磁盘分区内。


4、文件夹

为了便于管理DFS文件系统中的资源,用户可以命名空间根目录下建立一些虚拟文件夹,相当于磁盘根目录下建立的文件夹,如在命名空间根目录Public下建立“文档”文件夹。

 

5、文件夹目标

文件夹下包含着一些文件夹目标,这些目标实质是映射到其他服务器的共享资源。如上述的“文档“文件夹,它下面可能包含多个目标,如服务器ShareSrv01下的共享文件夹”文档“,服务器ShareSrv02下的共享文件夹”文档“,它具有排错功能。

 

6、DFS复制

上述所映射的多个共享文件夹,其中提供给客户端的内容必须相相同(同步),如上述中两台服务器ShareSrv01、ShareSrv02中的共享文件夹“文档“下的内容,必须相同。这个同步操作,是通过DFS复制完成。

 

二、复制拓扑

复制拓扑决定了DFS内各服务器的逻辑连接关系,决定了服务器间的复制行为。有以下三种复制拓扑:

技术分享

1、集散:以一台服务器为中枢,并创建和其他服务器(支点)之间的连接。中枢和其他服务器相互复制,但支点之间不直接相互复制文件。

2、全交错:建立所有服务器之间的连接。文件会从每一台服务器直接复制到其他服务器。

3、自定义拓扑

用户可以自行创建服务器之间的连接关系,也就是自行定义服务器,只有被指定的服务器间才相互复制。

用户根据公司的网络带宽、网络的地理位置以及公司的组织结构等因素,来决定采用哪一种拓扑。但不管采用何种拓扑,用户可以随意启用或者禁用服务器之间的连接关系。

 


本文出自 “从心开始” 博客,请务必保留此出处http://ycrsjxy.blog.51cto.com/618627/1873858

DFS分布式文件系统--基础篇

标签:dfs 分布式文件系统 命名空间服务器 复制

原文地址:http://ycrsjxy.blog.51cto.com/618627/1873858

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!