基础知识
什么是分布式文件系统
分布式文件系统 distributed file system 是指文件系统管理的物理存储资源不一定直接链接在本地节点上,而是通过计算机网络与节点相连
分布式文件系统的设计基于客户机/服务器模式
一个典型的网络可能包括多个供多用户访问的服务器
对等特性允许一些系统扮演客户机和服务器的双重角色
分布式文件系统的特点
分布式文件系统可以有效解决数据的存储和管理难题
-将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统
-众多的节点组成一个文件系统网络
-每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输
-人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据
衡量分布式文件系统的劣势
数据的存储方式
--无论采取何种存储方式,目的都是为了保证数据的存储安全和方便获取
数据的读取速率
--包括响应用户读取数据文件的请求、定位数据文件所在的节点、读取实际硬盘中数据文件的时间、不同节点间的数据传输时间以及一部分处理器的处理时间等
数据的安全机制
--采取冗余、备份、镜像等方式
常用分布式文件系统
Lustre
--一个大规模的、安全可靠的,具备高可用性的集群文件系统,它是有SUN公司开发和维护
Hadoop
--不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架
OpenAFS
--一套开放源代码的分布式文件系统,允许系统之间通过局域网和广域网来分享档案和资源
googleFs
--一个可扩展分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用
基础架构
服务器角色
与单机的文件系统不同,分布式文件系统不是将这些数据放在一块磁盘上,由上层操作系统来管理
数据存放在一个服务器集群上,由集群中的服务器,各尽其责,通力合作,提供整个文件系统的服务
重要服务器包括
--主控服务器
Master管理各个数据服务器收集他们的信息,了解所有数据服务器的生存现状,然后给他们分配任务 ;
主控服务器上放着所有的文件目录信息,要找一个文件,必须先访问它
--数据服务器
存放数据的服务器;
设计为冗余名模式;
主要的工作模式就是定期向主控服务器汇报其状况,然后等待并处理命令,更快更安全的存放好数据
数据分布
以块的方式存储
-把文件数据切成数据块
-将数据块存储在数据服务器上
以独立文件的方式存储
-每台数据服务器存储独立的文件
-多台数据服务器存储相同的文件,实现冗余及负载均衡