黄东旭解析 TiDB 的核心优势
1427
2023-10-20
简析分布式存储的架构体系
随着5G应用层的落地,企业用户对存储提出了更高要求,安全性、灵活性、高速性、可扩展性等多维优势的需求越来越大。而分布式存储在多维需求的贴合度成为众多商家的未来基石。
存储分类
块存储
需要格式化,将文件直接保存到磁盘上
文件存储
应用程序通过调用操作系统将文件保存到块存储进行持久化
Object对象存储
基于对象的存储,也可以被称为云存储,在对象存储系统中,文件没有多层级的文件结构,而是以存储空间的概念,文件被拆分为多个部分并散布在过个存储服务器中,对象存储的文件不能打开、修改。
统一存储
即NAS和SAN结合在一起,在一个架构中,NAS和SAN共存,由一个统一界面管理
统一存储的缺点:NAS和SAN数据增长速度不是一致的
统一存储的优点:消除了单体架构的信息孤岛,多个不同平台和应用共享一套硬件,提高磁盘的利用率支持所有的传输协议
分布式存储
通过网络使用所有主机上的磁盘空间,并将所有分散的存储资源构成一个虚拟的存储设备,数据分散的存储在所有的主机上
基于网络的存储解决方案
NAS网络存储系统(需要文件系统)
NAS提供文件级别存储数据,通常采用NFS、SMB/CIFS等网络文件共享协议进行文件存取,是以太网连接的网络存储系统,NAS通常与非结构化数据相关联
SAN存储区域网络(不需要文件系统)
通过光纤等高速网络设备在服务器与存储设备间搭建专门的存储网络,提供块级别存储数据,使用光纤通道连接,SAN与数据库等结构化工作负载相关联
SAN/NAS一体化(***)
一套软硬件同时支持SAN与NAS,文件系统每个文件都是一个对象,文件系统是由对象组成的对象集与LUNLUN分Thin Lun和Thick Lun,两种LUN都来自poolhe Space系统分别与Space子系统(***)交互,提高了软件栈带来的效率
SAN负载均衡
将LUN通过多路径(UItraPath),可以理解为LUN在存储设备上的负载均衡
NAS负载均衡 思维导图
将文件系统协议(NFS、CIFS、FTP)分发给不同节点、不同端口上的业务IP进行处理
硬盘类型
SATA
SATA串口硬盘,面向于普通用户,是计算机机械硬盘的主流,SATA硬盘不能兼容SAS接口,SATA硬盘更偏向于廉价和大容量,7200RPM(转/分),传输速率为150MB/S,一般是以200G的倍数进行计算容量(非书面)
SAS
串行连接SCSI,企业级应用盘,机械硬盘中速度最快的,SAS硬盘可兼容SATA接口,SAS硬盘更注重可靠性,10000/15000RPM(转/分),传输速率300MB/s,一般是以600G的倍数进行存储容量计算(非书面)
NL-SAS
使用SAS接口,盘体使用SATA盘体,从而提高了速度和存储容量,7200RPM(转/分)传输速率可看做在SATA硬盘与SAS硬盘之间的
NVMe
使用NVMe协议的固态硬盘,NVme协议非易失性内存主机控制器接口,是一个逻辑接口规范;传输速率为600MB/s,一般是以960G的倍数进行计算容量(非书面)
硬盘协议
AHCI
高级主机控制器接口,它允许软件与SATA存储设备沟通的硬件机制,可让SATA设备激活高级SATA功能,运行在SATA接口之上的协议
NVMe
非意失性内存主机控制器接口规范,此规范主要是为基于闪存的存储设备提供一个低延时的、内部并发化的原生界面规范,运行在PCIe接口之上的协议,直接与CPU通信
硬盘协议示意图
硬盘容灾技术
Raid
独立磁盘冗余阵列
Raid0
至少需要两块硬盘,将数据分别拆分放入两块硬盘中,读取时同时读取,写入时同时写入,提高磁盘连续读写能力,当其中一块磁盘损坏时,数据丢失
计算公式:N快盘组成,逻辑容量为N块盘容量之和
Raid1
至少需要两块硬盘,将一个完整的数据复制到两块硬盘上,该阵列是最安全的,空间利用率和速度是最低的
计算公式:两块盘组成,逻辑容量为N块盘容量之和的一半
Raid5
至少需要三块硬盘,每个硬盘保存一部分的恢复码,增加了磁盘的容灾能力,在性能上与raid0接近,容灾能力为一块磁盘
计算公式:N块盘组成,逻辑容量为N-1块盘的容量之和
Raid6
至少需要四块硬盘,与raid5相同,每个磁盘保存两份恢复码,将容灾能力从一块提高到了两块硬盘
计算公式:N快盘组成,逻辑容量为N-2块盘的容量之和
Raid50
至少需要9块磁盘,首先将磁盘每三块组成Raid5,然后再将三个Raid5组合成一个Raid0,它具备更高的容灾能力
计算公式:假如每个RAID5由N块盘组成,共有M个RAID5组成该RAID50,则逻辑容量为(N-1)*M块盘容量之和。
Raid60
至少需要8块硬盘,每四个硬盘组合成两个Raid6,再将两个Raid6组成一个Raid0,其具备更高的容灾能力,和更高的读写速度,容灾能力为两块硬盘
计算公式:假每个RAID6由N块盘组成,共有M个RAID6组成该RAID60,则逻辑容量为(N-2)*M块盘容量之和。
Raid-tp
在raid6的基础上增加了其可靠性和安全性,每个CKG(逻辑块组)中的校验数据占用三个CHUNK(逻辑块)的空间,允许任意三个数据CHUNK(逻辑块)故障。如果出现四个及以上CHUNK(逻辑块)同时故障,则整个RAID级别故障
LUN虚拟化
LUN虚拟化可以将多个Raid组划分为多个逻辑单元,并且映射给多个主机,LUN虚拟化可以实现跨Raid组
块虚拟化(Raid2.0)
将硬盘切为多个逻辑块,再将逻辑块组成LUN(每个逻辑块来自不同硬盘),基于LUN做Raid组,即每个LUN就是一个Raid组
上层LUN虚拟化+底层块虚拟化(Raid2.0+)
将硬盘切分为若干个相同大小的逻辑块逻辑块(chunk):CK一般为64M,其中一部分做热备块;其余的逻辑块做数据块,硬盘域只支持同类型的硬盘中每个硬盘出一部分数据块组合成数据块组又被成为逻辑块组(chunk group):CKG,来自不同的硬盘,再将数据快组做Raid,再将Raid组进行LUN虚拟化又被称为EXCENT:EXCENT一般为4MB
Raid2.0+快速重构
因为Raid2.0+特性,单个硬盘故障后,会将空闲的CKG中的CK用来重构故障数据传统重构时间:30M/s;Raid+快速重构时间:600M/s,如果故障盘上分配的CK较少,重构速度更快
3DC(两地三中心)
集群
它将多个系统连接到一起,使多台服务器能够像一台服务器那样工作,提高了系统的容灾,稳定性,高可用和灵活性
*** RAC集群
一个*** RAC数据库有多个服务器节点,每个服务器节点上都有独自的OS、ClusterWare、*** Rac数据库,每个节点都有自己的网络***。
ClusterWare是一个集群软件,主要用于集群系统管理
*** Rac是数据库程序,提供***实例进程,供客户端访问集群系统
网络***,主要监控自己的网络端口信息,所有服务和程序需要通过操作系统去访问一个共享存储
*** RAC集群中因为每个节点都有完整的数据库程序,节点与节点之间通过私有网络进行通信,互相监控节点状态,数据库中所有的数据、日志、文件、控制文件都会保存在集群的共享存储设备上,因此所有节点都可以同时读写共享存储
VMware集群
Vmware ESXi:虚拟化平台软件,类似于个人电脑中的vmware workstation
VCenter Server:集中管理ESXI的软件
使用ESXi虚拟化软件,创建虚拟机,并用VCenter Server管理ESXI虚拟机,在创建集群时,可以启用vSphere DRS、vSphere HA、vSAN并在所有主机上共同管理映像更新,简单来说VMware集群,就是虚拟化的服务器集群,在发生故障之后可以在物理机服务器上,虚拟机可以在集群的另外一台ESXI服务器上重启
FusionSphere集群
在FusionSphere平台上创建的一组虚拟机,在FusionSphere发放的虚拟机上安装eSight集群系统,将虚拟机组成集群
生产业务中心
提供生产业务响应及生产环境的数据存取
同城灾备中心
提供将生产业务中心的数据实时的复制到同城灾备中心,即使在生产业务中心发生故障之后实时切换至同城灾备中心
异地灾难备份中心
将生产业务中心的数据及业务异步的复制到异地灾难备份中心,即使在生产业务中心,同城灾备中心都发生故障之后业务数据及业务不会收到影响
同城灾备方案
冷备
同城灾备中心只提供数据实时备份,不提供实时服务
热备
同城灾备中心实时的复制数据,但不提供服务,只有在生产业务中心发生故障之后才会接管业务
同城双活方案
在同城主从备份中,可以进行数据实时备份,然后再进行读写分离通过中间件实现,将同城从库也接入访问流量,双活:主库承担60%~70%业务,从库分担30%~40%的业务
伪异地双活方案
在同城双活的方案中,将异地灾难备份中心改为双活从库,即实现了伪异地双活方案,该方案会受到网络因素的影响,不具备机房内网络质量
异地双活方案
将同城双活方案中,将异地灾难备份中心改为双活从库,并实现就近访问,存储层实现双主架构:两个机房互为从库,自己是主库,即可实时双向数据同步,且可以避免网络因素因素的影响
异地多活方案
需要设立一个中心机房,且所有从库都与主库为双主架构,多个从库之间没有任何关联,这样从库写入的所有数据都会同步到中心机房,再由中心机房同步到其他从库
免网关双活方案(***)
***免网关双活(HyperMetro)存储设备之间没有虚拟化网关设备,使用存储阵列组成跨站点集群系统,支持LUN Active-Active双活双主架构,通过FastWrite功能对阵列进行协议级优化
传统SCSI流程:“写命令”“写分配完成”“写数据”“写执行状态”
FastWrite流程:“写数据命令”“写执行状态”
***存储设备
全闪存
全***硬盘为存储容器,OceanStor Dorado系列
混合闪存
***+HDD硬盘为存储容器,OceanStor系列
分布式存储
Ocean Pacific 太平洋系列
存储产品发展
同级互联
将两个设备进行串联,设备与设备之间可支持25GE光口,设备与主机之间可支持10GE光口
存储控制器
由处理器,缓存存储器,网络和存储设备的连接接口三部分组成,存储控制器将多个存储设备中的存储区域连接起来,作为一个存储区域提供给服务器
palm-sized NVMe ***
palm-sized规格的NVMe硬盘
BBU
外部电源失效的前提下,提供后备电源支持,以保证存储阵列中业务数据的安全性
前端接口
存储系统中前端接口一般指存储设备与主机连接的接口
FlashLink盘控配合算法
针对闪存介质的优化技术
鲲鹏芯片配合众核算法提升芯片20倍的计算速度
硬盘框上的鲲鹏芯片配合业务分流技术,将重构业务卸载到硬盘框上进行,将重构速度提升20倍
控制器内按CPU分区,CPU内按核分组,CPU内按核绑定I/O
LUN以64粒度打散到vnode上,vnode与CPU亲和绑定,减少了CPU的跨度和CPU cache的MISS率,Vnode内CPU核采用分组算法,I/O读写在不同的组上,再基于CPU核做资源隔离,一次请求在一个核上连续执行,避免频繁多核切换
BMC集成管理模块
(iBMC)能够持续监控系统参数、触发告警,并且采取恢复措施,以便最大限度地避免停机
支持Hi1710或Hi1711两种iBMC插卡,可外出VGA、管理网口、调试串口等管理接口,可将故障恢复时间从2小时缩短为10分钟
SmartMatrix全互联架构
3副本+cache持续镜像+全互联
3副本
将业务数据切割为大小相同的数据块,每个数据块在不同的节点上保存三个副本,
Cache
高速缓存(Cache),用来存放当前最活跃的程序和数据,在存储器结构层次中寄存器>Cache>主存储器>磁盘存储器>磁盘,光盘存储器,Cache存在于处理器和主存储器之间,
Cache映像
处理器工作时,给出的是主存的地址,就需要将主存地址转换为cache地址,处理器才能获取主存地址,这被称为cache映像
1.直接映像:主存块与cache块的对应关系是固定的,主存地址中的区内块号对应cache存储器的块,块内的地址就是主存地址中的低位地址,这种映像方式地址变化简单,但不灵活
2.全相联映像:主存块与cache块分成容量相同的块,这样主存的任意一块,都可以调入cache的任意一块,这种映像方式使得地址变化复杂,但是灵活多变
3.组相联映像:将cache块再分成组,组采用直接映像,块采用全相联映像,这样,主存的任意一块可以存入cache相对于组的任意一块
Cache连续镜像
当1个控制器失效,镜像控制器重建缓存镜像
3副本+Cache持续镜像
3副本+Cache持续镜像,能够保证任意两个控制器同时故障,任意一个控制框故障,7个控制器陆续故障,将三个cache副本放入3个不同器,将三个cache副本放入2个控制框,只要在控制器和控制框中保证一个cache副本可用及不会对业务造成影响
全互联
前端卡全互联,控制器全互联,盘框跨引擎互联
数据纠错
数据在传输过程中因为外界因素的影响从而会产生某些错误,为避免错误对数据整体的影响,从而产生的解决方案
算法
用系统的方法去描述解决问题的策略和机制。
LDPC+FSP算法
LDPC:低密度奇偶校验码算法
FSP: 定长分块算法
端到端的NVMe
***采用自研ASIC接口模块,ASIC ***盘/框设计,从协议解析、IO转发、业务优先、硬件加速对NVMe全面支持,因为采取NVMe协议,***直接与CPU通信,缩短了传输时间,提高了传输速度
QoS
流控技术,QoS是基于令牌的资源分配架构,首先根据业务类型在CLI或DM上设置任务优先级,对应任务优先级分配一定数量的令牌,当有存储请求时,先检测是否有令牌资源,如果没有就暂时挂起等待
SmartPartition
用来提高业务的读缓存空间,按照近期存储的数据访问可能性最高的原则,新缓存到Cache的数据不会立刻下盘,为了给关键业务预留更多的cache空间,系统允许为单LUN和FS分配更多的cache
异构虚拟化(SmartVirtualization)(***)
本端存储系统能够将异构存储系统提供的存储资源当作本地存储资源进行集中管理;通过SmartVirtualization的LUN伪装技术,将OceanStor V5芯系列终端存储系统的eDevLUN的WWN和HostLUN ID设置成与异构存储系统上的LUN的信息一致,并通过主机多路径软件实现在线LUN无缝切换,从而在主机不中断业务的情况下完成数据迁移
异构阵列接管
异构容灾
异构数据保护
数据迁移(Smart)
————————————————
版权声明:本文为CSDN博主「虚胖也是壮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_52364871/article/details/125835133
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。