对一个大规模集群的存储系统而言,服务器宕机、交换机失效是常态,架构师必须为这些故障发生时,保证系统依然可用而进行系统设计。在系统架构层面,保证高可用的主要手段是冗余:服务器热备,数据多份存储。使整个集群在部分机器故障的情况下可以进行灵活的失效转移,保证系统整体依然可用,数据持久可靠。系统架构如下图所示:
系统整体上课分为如下三个部分。
应用程序服务器:它们是存储系统的客户,对系统发起数据操作请求。
数据存储服务器:它们是存储系统的核心,负责存储数据、响应应用服务器的数据操作请求。
管理中心服务器:这是一个由两台机器组成的主-主热备的小规模服务器集群,主要负责集群管理,对数据存储集群进行健康心跳检测;集群扩容、故障恢复管理;对应用程序服务器提供集群地址配置信息服务等。
其中,数据存储服务器又根据应用的可用性级别设置数据复制份数,即每个数据实际物理存储的副本数目,副本份数越多,可用性级别越高,当然需要的服务器也越多。为了便于管理和访问数据的多个副本,将存储服务器划分为多个序列,数据的多个副本存储在不同的序列中。
应用服务器写入数据时,根据集群配置和应用可用性级别使用路由算法在每个序列中计算得到一台服务器,然后同时并发写入这些服务器中;应用服务器读取数据时,只需要随机选择一个序列,根据相同路由算法计算得到服务器编号和地址,即可读取。通常情况下,系统最少写入的副本份数是两份。
在正常状态下,存储服务器集群中的服务器互不感知,不进行任何通信;应用服务器也只在启动时从管理中心服务器获取存储服务器集群信息,除非集群信息发生变化(故障、扩容),否则应用服务器不会和管理中心服务器通信。一般而言,服务器之间通信越少,就越少依赖,发生故障时互相影响就越少,集群的可用性就越高。
GululuTalk智能互动水杯评测 重新定义儿童智能水杯
苹果涉内幕交易 高管监守自盗谋私利
PLC控制/监控机器人的抓手状态的功能块FB250
天岳先进:预计前三季度实现营收7.5亿元-8.1亿元
国内光伏市场迎来旺季,组件尺寸竞争或将明年终结
分布式存储的系统架构
常用元器件识别
EasyGo使用笔记:无需FPGA编译,单相级联逆变器并网实验应用测试
史上最贵?iPhone 8确定配备OLED屏幕
能够查看人流量和人流状态的手机
Modbus/施耐德转MQTT边缘计算网关(产品)
电阻应变计的分类
强攻车电 MLCC龙头村田决扩厂
高工智能汽车“智能汽车产业链TOP100创新企业”榜单出炉,美格智能榜上有名
美德占据领跑地位、亚太实力不容小觑
电路板工艺中关于飞针测试和表面处理的工序
欧贝特与ST携手开发高安全性SIM卡
车载充电机与电池管理系统BMS相互配合,保证电池组充电安全,延长使用寿命
智能门锁的应用场景有哪些
理解贝叶斯优化之美,探索精妙算法的奥秘