软件架构
系统逻辑架构
说明:
1.一套系统即可提供ISCSI/FC块存储、对象存储、文件存储。
2.支持的标准协议:块存储LibRBD/SCSI/ISCSI/FC、对象存储S3/NFS、文件存储NFS/SMB/FTP。
3.包含多种数据服务技术、高级存储功能和资源管理技术、系统加速方法、存储核心技术、硬件支持、存储系统的管理技术。
通信协议栈
部署架构
每台节点上都需要部署XMS-a服务,XMS-s服务至少3台,MON服务至少3台,详细服务说明如下:
1.管理服务XMS-a(Management Service-Agent )是指Controller Master Agent,负责给GUI提供后台数据。
2. 管理服务XMS-s(Management Service-Server)是提供GUI、API等管理功能,作为管理服务器来提供分布式存储集群的管理功能。 为保证集群管理功能高可用,建议至少设置并开启3个(即2n+1)XMS-s服务 ,并且保证至少一半(不含)以上(即n+1)的XMS-s服务可用。
3.监控服务MON(Monitor)是指用于提供集群存储数据的监控服务。为保证集群数据监控功能高可用,建议至少设置并开启3个(即2n+1)MON服务,并且保证至少一半(不含)以上(即n+1)的MON服务可用。
补充:
1.块存储网关服务XDC(Data Client)是指给客户端提供数据访问的接口,支持iSCSI、FC、SCSI及RBD(Rados Block Device)等不同类型的访问路径网关,所有提供块存储服务的节点都是块存储网关XDC节点。
2.对象存储网关服务RGW (Rados Gateway)是对象存储网关,提供S3、NFS访问接口,所有提供对象存储服务的节点都是对象存储网关RGW节点。
3.OSD(Object Storage Device)是指负责数据落盘的一个进程,副本和EC也通过OSD服务实现。每一个硬盘有一个OSD进程,所以本系统中统一把添加OSD服务的物理盘称作硬盘。
4.文件存储网关XDC:文件存储网关是基于CTDB组件使用VIP方式实现,需要在块存储上部署分布式文件系统来做,即也是通过块存储网关XDC对外提供文件存储服务接口,所有提供文件存储服务的节点都是块存储/文件存储网关XDC节点,当使用计算存储分离部署时,所有计算节点上也是块存储网关角色,作为存储式存储系统的客户端。
5.块存储网关XDC服务可以对外提供iSCSI、SCSI、FC等标准接口及LibRBD云计算接口,LibRBD接口可以直接对接云计算平台,如OpenStack、ZStack等。XDC服务提供数据QoS、流控、流量统计等功能,并且通过高级功能卷(XBD模块)可以支持卷在线迁移、卷同步复制等高级功能,
6.对象存储核心服务为对象路由服务,对象路由就是RGW(S3网关)的负载均衡器,使用OpenResty实现,动态获取XMS集群中的S3网关列表,将请求转发到集群中所有S3网关,如下图:
7.文件存储系统是基于块存储做的文件系统,一个块存储卷对应一个文件目录,将每个文件目录通过FTP、SMB或NFS协议共享给用户使用。文件系统的网关是通过CTDB的IP漂移形式实现高可用,Active-Standby主备模式,虚拟的IP与实际网关节点IP有着相应的映射关系。用户连接共享时是通过连接虚拟IP, 当某个网关节点宕机之后,对应的虚拟IP会转移到其他的网关节点上去,这一过程对于用户来说是透明的,不会影响共享的使用。
数据冗余
本小节只对涉及较多的数据冗余技术做概括说明,相对涉及较少的如故障自愈、一致性校验等不在本节内容之列,详细的技术研究会写单独的文章。
多副本
支持用户数据按照设定的1-6副本进行冗余存储。如下图所示,以3个节点组成一个资源池,存储数据为两副本的简单模型为例,任意1个节点上的主副本数据,其备副本数据会均匀分布在其他节点上,单点故障系统不会丢失数据,如下图:
如何保证副本数据一致
常见副本总结
常见副本配置及利用率
1.2副本,空间利用率为50%,服务器最少3台,3台MON节点复用存储节点。
2.3副本,空间利用率为33%,服务器最少3台,3台MON节点复用存储节点。
3.4副本,空间利用率为25%,服务器最少配置4台,存储节点可复用MON节点,但最好单独配置3台MON节点。
※:服务器最小数量如果不单独规划MON节点,则最小数量= 2n-1,n为副本数量。
EC纠删码
EC如何数据高可用
EC(Erasure Coding)纠删码技术是将一份数据切分成N块原始数据,基于N块原始数据计算获得M块冗余数据,并将N+M块数据分别存放在存储系统中的不同存储节点上,当其中任意M块数据出错时,存储系统可通过数据恢复算法恢复出原来的N块数据,实现冗余和容错的目的。
常见EC副本及利用率
1.4+2,空间利用率为66%,服务器最少6台。
2.4+2:1,空间利用率为66%,服务器最少3台。
3.8+2,空间利用率为80%,服务器最少10台。
4.8+2:1,空间利用率为80%,服务器最少5台。
※:EC使用M+N配置,最少服务器台数就为M+N,使用M+N:1配置,服务器数量减半。
M+N:1纠删码:即亚节点纠删码,为了满足小规模低成本集群的部署要求,默认的纠删码是按照节点来分配数据的,但M+N:1只会按照硬盘来分配数据,以4+2和4+2:1举例,4+2在6节点均匀分配数据,而4+2:1把3个节点当6个节点用,每个节点选择2块硬盘,整个集群选择6块不同的硬盘来存放4+2总计6个分片数据。
故障域
故障域由具有共同单点故障的服务器(或机架)组成,数据副本分布到不同故障域,保障数据安全。可为机架、服务器、硬盘提供故障恢复能力。无论磁盘、服务器发生硬件故障,还是机架、机房出现故障,都不会造成停机或数据丢失。下图每个机架设置成一个故障域,如果创建一个2副本存储池,则不同副本数据一定会自动分放在不同的机架里,这样即使机架A出现故障(如断电),也不会停机或导致数据丢失。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://tenkms.cn/archives/213
何问
受教 😋