集群存储系统
集群存储系统3大类:
基于Block协议访问的传统存储系统的集群
基于NAS协议访问的NAS集群系统
文件系统集群
基于Block协议访问的传统存储系统的集群————IBM XIV集群存储系统
整个系统包含2种类型节点,共15个(6个interface node,9个data node),每个node都有12块SATA盘。各个节点之间通过冗余交换机互联。
XIV实物图:
XIV系统上每个节点都有12块SATA盘,看起来就像传统盘阵一样。但是XIV是一款高度虚拟化产品,所有节点上的磁盘经过整合虚拟化成LUN。也就是说一个LUN平均分布在多个或者全部节点上。每个LUN上面的数据块还会有镜像,镜像存储在与原数据块不同的任意一个节点上。原块成为Primary,镜像块成为Secondary。LUN与真实物理磁盘的对应关系(LUN在所有节点磁盘上的存储地址),以及源数据块镜像数据块的对应关系由 LUN映射图 来维护。如果LUN的某个块移动到其他节点,LUN映射图也会自动更新。下图是XIV系统接受客户端一次写IO流程
当某个Interface Node接收到一个写IO的以后,首先会通过映射表去判断这个写IO会落到哪个节点上以及其镜像又落在哪里。有两种可能,一种是留在Interface Node 上,也可能在Data Node 上。
-
如果是落在Interface Node本地硬盘中,则会将副本发送到分块镜像所在的Node中。
然后返回成功。对应过程2 -
如果是放到另外的节点中,则Interface Node重定向这个写IO到该节点中。应该保存Primary分块的节点会再次根据映射表把分片数据复制到副本节点中。
当副本也写入成功了以后,才会向最初的Interface Node返回成功回应。由Inteface Node向客户端返回成功。对应过程3
文件系统集群————集群文件系统
集群文件系统是指运行在多台计算机之上,之间通过某种方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务的文件系统。其与NTFS、EXT等本地文件系统的目的不同,前者是为了扩展性,后者运行在单机环境,纯粹管理块和文件之间的映射以及文件属性。
集群文件系统分为多类,按照对存储空间的访问方式,可分为共享存储型集群文件系统和分布式集群文件系统,前者是多台计算机识别到同样的存储空间,并相互协调共同管理其上的文件,又被称为共享文件系统;后者则是每台计算机各自提供自己的存储空间,并各自协调管理所有计算机节点中的文件。Veritas的CFS,昆腾Stornext,中科蓝鲸BWFS,EMC的MPFS,属于共享存储型集群文件系统。而HDFS、Gluster、Ceph、Swift等互联网常用的大规模集群文件系统无一例外都属于分布式集群文件系统。分布式集群文件系统可扩展性更强,目前已知最大可扩展至10K节点。
按照元数据的管理方式,可分为对称式集群文件系统和非对称式集群文件系统。前者每个节点的角色均等,共同管理文件元数据,节点间通过高速网络进行信息同步和互斥锁等操作,典型代表是Veritas的CFS。而非对称式集群文件系统中,有专门的一个或者多个节点负责管理元数据,其他节点需要频繁与元数据节点通信以获取最新的元数据比如目录列表文件属性等等,后者典型代表比如HDFS、GFS、BWFS、Stornext等。对于集群文件系统,其可以是分布式+对称式、分布式+非对称式、共享式+对称式、共享式+非对称式,两两任意组合。
按照文件访问方式来分类,集群文件系统可分为串行访问式和并行访问式,后者又被俗称为并行文件系统。串行访问是指客户端只能从集群中的某个节点来访问集群内的文件资源,而并行访问则是指客户端可以直接从集群中任意一个或者多个节点同时收发数据,做到并行数据存取,加快速度。HDFS、GFS、pNFS等集群文件系统,都支持并行访问,需要安装专用客户端,传统的NFS/CIFS客户端不支持并行访问。
对于分布式集群,其对文件元数据的管理方式又可以分为single path image和single filesystem image两种方式
基于NAS协议访问的NAS集群系统————集群NAS系统
将集群文件系统中的文件用NAS协议输出,就是集群NAS