1、存储类型
- 块存储
- 块存储在裸盘上划分逻辑卷,将逻辑卷格式化成任意文件系统。
- 支持多种文件系统,传输速度快,提供硬件容错机制。
- 文件存储
- 在格式化的磁盘上存储文件。
- 一般可提供网络共享功能,如NFS等。
对象存储
直接附加存储与服务器直接通过磁盘接口连接,其他主机不能使用这个存储设备。提供块设备级别的服务。
-
1.2、NAS网络附加存储
存储设备通过网络拓扑结构添加到多个服务器节点上,可提供跨平台文件存储功能,提供文件系统级别的服务。
-
1.3、SAN存储区域网络
IP-SAN
- IP-SAC由iSCSI卡存储组成,将SCSI协议封装在IP协议中,依托IP网络,不需要像SAN需要独立的存储网络。
FC-SAN
NameNode:负责管理文件系统的名称空间以及对客户端文件的访问
- DataNode:存储实际的数据。
存储时一个文件被分成一个或多个数据块后存储在一组DataNode上,NameNode执行文件系统的名称空间操作,如打开,关闭,重命名文件或目录,也负责确定数据块到DataNode节点的映射,DataNode在NameNode的统一调度下进行数据块的创建,删除和复制。
因此HDFS适用于大文件,大数据的处理,适合流文件访问,一次写入,多次读取,因为NameNode的局限性,不适合大量小文件的存储、并发写入和文件随机读取。会造成NameNode瓶颈。
2.2、GFS
一个GFS集群一般由一个Master、多个ChunkServer和多个Clients组成,在GFS中,文件被切分成若干个Chunk,每个Chunk在创建时,由Master分配,拥有唯一不变的标识,所有Chunk被存储在ChunkServer磁盘上,同时每个Chunk会被复制到多个ChunkServer。
- GFS master元数据服务器:管理所有文件系统的元数据,包括命令空间(目录层级)、访问控制信息、文件到chunk的映射关系,chunk的位置等。同时 master 还管理系统范围内的各种活动,包括chunk 创建、复制、数据迁移、垃圾回收等;
- GFS chunksever存储节点:用于所有 chunk的存储。一个文件被分割为多个大小固定的chunk(默认64M),每个chunk有全局唯一的chunk ID。
GFS适合大文件应用场景,因其中心化架构的设计,只有一个Master处于active状态,因此也会造成Master瓶颈。
