简单理解超融合架构_深信服 超融合

(106) 2024-07-24 18:01:03

我们的梦想是浩瀚宇宙与星辰大海         

        SDS(软件定义存储)是超融合基础架构(HCI)的重要一环,一般来说超融合基础架构(HCI)由三大模块组成,分别是计算虚拟化、网络虚拟化以及存储虚拟化,在超融合基础架构(HCI)之深信服信服云aCloud体系中分别对应aSV、aNet、aSAN三个功能模块。

        aSAN作为超融合基础架构(HCI)的重要组成部分,使用分布式存储技术为上层应用提供了高性能、高可靠的存储服务,在aCloud不同演进版本中合入的虚拟存储版本也略有不同,本章将为各位展示深信服超融合的进化发展历程,一览深信服超融合(HCI)不同版本引入的新特性。

        本章同时也作为深信服超融合基础架构(HCI)之深信服信服云aCloud方案的首篇文章,后续将持续更新aCloud方案其它模块的学习笔记供各位了一览信服云aCloud方案的魅力~

目录【结合XMind导图效果更佳~】

VS2.0

SSD读缓存颗粒度为数据块

SSD写缓存需要虚拟机一定写入量触发,如果此时有读操作则先在写缓存中查找

SSD离线超过10分钟则认为该副本需要被重建,且缓存失效

读写缓存空间为7:3,且空间不共用

aSAN存储颗粒度为文件

aSAN不需要存储交换机配置链路捆绑,按照TCP会话进行自动负载

数据重建

探测IP

VS2.8

虚拟共享盘

IO重试机制

主机个数、磁盘个数不能被副本数整除,遵循主机互斥前提下转换为热备盘

扩容

扩容后数据平衡

存储分卷(6实体机起步,每个物理资源池有3台或3台以上主机)

数据分层HCI5.3,类似于VS3.0,读缓存提高非本地读性能,写缓存提高极小块写性能

VS3.0

基本概念

数据分片

数据条带化

数据多副本

数据分布

数据平衡

平滑扩容

数据重建

仲裁机制

缓存系统架构

流水线IO无锁化

虚拟iSCSI存储

VS3.0.1

延伸集群

双活数据中心

VS3.0.3

存储快照

磁盘亚健康

三副本


简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第1张

VS2.0+

SSD读缓存颗粒度为数据块

  • 遵循就近访问原则,临近数据被重复访问机率高

SSD写缓存需要虚拟机一定写入量触发,如果此时有读操作则先在写缓存中查找

  • 写缓存满后,虚拟机写入速度小于等于SSD回写HDD速度
  • SSD离线超过10分钟则认为该副本需要被重建,且缓存失效

  • 读写缓存空间为7:3,且空间不共用

  • aSAN存储颗粒度为文件

  • aSAN不需要存储交换机配置链路捆绑,按照TCP会话进行自动负载

数据重建

  • 磁盘故障

• 无热备盘--遵循主机互斥原则,借用其它主机剩余空间磁盘重建,待替换盘后在将重建数据复制到新盘,新盘不能小于原有磁盘

• 有热备盘

• 热备盘全局使用,非一主机一个

• 热备盘等于副本数

• 热备盘也需遵循主机互斥原则,即热备盘替换的原副本不能与热备盘处于同一主机

• 热备盘作为正常磁盘上线,替换故障盘磁盘上线自动成为热备盘,不会进行数据迁移

  • 主机故障

• 与磁盘故障重建类似,进行磁盘借用,保证副本数

探测IP

  • 两台主机才需要探测IP,三主机不需要,并且探测IP跟管理网一个段的,且能ping通

VS2.8

虚拟共享盘

  • 原理:使用iSCSI代理

• iSCSI虚拟盘通过管理网通信

• 共享盘通过存储网络通信吗,外部iSCSI扫描不到

  • 使用场景

• 用作oracle和oracle RAC的安装

IO重试机制

  • 带仲裁的,处于VS存储上的虚拟磁盘镜像

• Qemu判断镜像文件是否处于vs存储上;

• 如果是vs存储,则调用glfs_fstat尝试对该镜像进行加锁操作。

• 调用glfs_fstat返回的错误码不是200时,不恢复虚拟机的运行

• 当存储恢复,如果HA在其它节点上拉起了相同实例,调用glfs_fstat返回约定的错误码200;

• 当存储恢复,且其它节点没有相同实例时,glfs_fstat调用成功,加锁成功,让虚拟机恢复运行。

  • 虚拟机由于存储导致运行异常的

• 非HA虚拟机,待存储恢复时,会自动恢复虚拟机运行;

• HA虚拟机,在HA敏感时间内,存储恢复,自动恢复虚拟机运行;否则,杀掉挂起的虚拟机,触发HA。

主机个数、磁盘个数不能被副本数整除,遵循主机互斥前提下转换为热备盘

扩容

  • 增加小于副本数台主机--磁盘内部替换,数据迁移
  • 增加大于等于副本数台主机--不会出现数据迁移

扩容后数据平衡

  • 未关机数据不能被平衡
  • 未完成迁移将被停止,待下一个时间窗口进行

存储分卷(6实体机起步,每个物理资源池有3台或3台以上主机)

  • 存储策略完全隔离
  • 场景

• 根据不同虚拟机的性能和容量要求选择存储卷

• 不同虚拟机的性质选择存储卷,进行故障隔离

  • 多卷环境虚拟机运行位置策略

• 优先在有副本的主机运行(IO本地化专利)

• 其次在本卷的主机运行

• 最后异卷CPU、RAM不足时才是在其他卷的主机运行(跨卷运行)

  • VM基于NFS协议跟解释到的VIP建立TCP连接

• 1、VM进程首先获取虚拟机存储位置的的卷名;

• 2、连接本机的DNS,把卷名解析为VIP,DNS会收集每个卷名对象的VIP列表VIP地址绑定在虚拟存储通信口上(所以跨卷访问的NFS连接走的也是虚拟存储通信网络)随机从中选择一个VIP返回

• 3、VM通过NFS协议跟获取到的VIP建立TCP连接

• 4、通过NFS协议连接上VIP所在主机的虚拟存储客户端进程,实现对虚拟存储的访问

• 5、要支持跨卷运行虚拟机,需要在虚拟存储通信网口IP的基础上,再多绑定一个虚IP

• 6、在创建第2个卷的时候,向导会自动弹出来让用户配置虚拟存储通信网口的虚拟IP池

  • 虚拟机跨卷漂移

• ① 当主机故障时,VIP会漂移到其他正常主机,VM也会随着VIP跟新主机建立NFS连接。

• ② 当故障主机恢复后,VIP会重新漂移回原来的主机,VM会跟随VIP重新跟原来的主机建立NFS连接。

• 漂移的是IP地址,且此IP为固定IP,VM使用VIP与VS客户端通信,避免实体机离线造成IP离线给VM寻址造成困难

  • Oracle RAC

• Oracle虚拟机和共享盘必须要相同的存储卷

数据分层HCI5.3,类似于VS3.0,读缓存提高非本地读性能,写缓存提高极小块写性能

  • VS客户端(读缓存)--缓存命中率,命中率与IOPS呈现指数正相关
  • VS服务端(写缓存)

VS3.0

简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第2张

基本概念

  • 吞吐量

每秒钟的IO吞吐,单位MB/s(兆字节每秒),评价大块IO性能,体现存储系统的IO带宽能力。该值越大说明性能越好

• 大块读写性能,IO带宽能力

  • IOPS

每秒读写次数,体现存储系统的IO延时能力和并发能力。业界一般默认IOPS指的是4K块大小的IO性能,该值越大说明性能越好。

• 4K读写性能,时延、磁盘并发能力

  • 缓存盘/数据盘

SSD性能高、价格贵、容量小HDD价格低、容量大、但性能低实现存储系统性能、容量、成本三者均衡,SSD作缓存层,HDD作容量层。缓存盘总容量与实际业务的数据量之比在20%以上,评估现有业务数据量大小及未来数据量增长趋势,保证缓存盘容量与机械硬盘容量之比在10%以上。如果配置的缓存盘容量过低,则会导致业务的所需访问的热数据由于没有足够的缓存空间而无法预存到高性能的SSD中,就容易导致业务性能波动较大,命中缓存时性能优,而不命中缓存时性能差。例如,单台物理主机配置了6块4T的数据盘,我们建议缓存盘至少配置10%*(6*4T)=2.4T容量的缓存盘,可以满足绝大多数的业务性能的需求。

• SSD/HDD=10%~20%

  • 磁盘组

缓存盘和数据盘以磁盘组关系配对,每个磁盘组由1个SSD带n个HDD组成(n≤7)。每个磁盘组SSD仅为其磁盘组下HDD提供缓存加速的能力。配对的好处是减少了SSD故障影响范围。

• 减小SSD故障域,数据重建仅需重建某磁盘组内HDD数据,无需整实体机重建数据修复

简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第3张

• 一个磁盘组内HDD不能超过7块,一个磁盘组最多8块磁盘=1SSD+7HDD

  • 镜像格式

虚拟机中看到的一块磁盘,实际在aSAN中是以一个qcow2文件的形式所存在。

• 旧版VS:使用一个*.qcow2文件模拟一块虚拟机磁盘

  • 条带深度

aSAN默认的条带数被设为6,当存储卷任意物理机数据盘数少于6时,aSAN默认条带数将被设为最小实体机数据盘个数值

• 又称条带数、条带组、分片组,并发IO磁盘数,提高条带数可提高IO性能,默认6,最大12

  • 条带宽度

• 又称条带数、条带组、分片组,并发IO磁盘数,提高条带数可提高IO性能,默认6,最大12

  • 聚合副本

• 数据本地化原则

• 虚拟机数据经过条带化、分片、跨磁盘组、跨磁盘写入到实际运行实体机的数据

  • 散列副本

• 主机互斥原则

• 最多分布在最多3台主机内

• 虚拟机数据经过分片、条带化、副本复制跨主机、跨磁盘组、跨磁盘写入的数据

  • 重要虚拟机

• 将重要虚拟机的数据优先级提高,优先保留到Tire分层上

• 优先进行数据重建

• 内存气球不释放

• 重要虚拟机不会进行数据平衡【平衡任务会影响虚拟机运行性能】

• 资源不足时,优先保障此虚拟机的资源分配

数据分片

简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第4张

  • 定义

• 对qcow2文件按固定大小(VS3.0默认4G)分片

  • 意义

• 基于小颗粒度qcow2进行存储均衡,使得存储卷分布更均衡、数据管理更灵活

  • 较老版本改进

• 之前:后端分片,一个qcow2在一个HDD

在磁盘满的时候才借分片,落到同一台主机上的另一个磁盘上。

• 问题

• 单qcow2文件不能超过单物理机存储空间

• 存储策略不灵活,负载颗粒度大(基于单qcow2)

• 存储性能受单HDD IO限制

• 之后:前端分片,一个qcow2在多个HDD

• 解决

• 单qcow2可达整存储卷可用容量

• 减小存储颗粒,负载分布更均匀,支持断点续修,不需整个qcow2修复,只需修损坏的qcow2分片

• 多盘性能(结合条带化)并发读写磁盘

数据条带化

  • 定义

• 数据并发的分片写、读到多个磁盘

  • 条带数

• 条带数自适应

• 限制:为避免跨主机读写存储,条带数不超过单台实体机数据盘个数

• 默认条带数为6,单主机数据盘少于6块时自适应为最小实体机数据盘个数

• 条带数定义

• 最大条带数可调整为12,前提不超过单台实体机数据盘个数

  • 条带深度

假设条带数设为4,条带大小设为128K。当写入一个连续的1MB的数据时,实际上1MB的数据会被切分8(1MB除以128K)个条带大小为128K的小数据块,由于条带数为4,那么可以同时并发写入的物理硬盘数量为4个,所以前面4个128K的小数据块就同时并发地写入到4块物理硬盘中,写入完成后,再写入后面4个128K的小数据块

• aSAN条带大小默认设为128K,128k为一个并发写入HDD的最小单位

数据多副本

  • 遵循主机互斥原则
  • 存储池可用空间 =(数据盘大小 - 数据盘预留空间16GB)/副本数

• 1TB=931GB

• 每块磁盘预留的16GB存储空间用于存储ISO镜像

  • 副本对上层用户透明,上层不感知副本存在
  • 较旧版本改进

• 之前:一个实体机的复制卷固定于另一个实体机,磁盘重建受制于复制卷实体机单HDD IO影响

• 之后:条带化、分片后,经过副本复制再分别写入不同主机,并发写降低数据写入时延,消除重建数据时单HDD写入瓶颈

数据分布

简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第5张

1、单个qcow2文件,以条带数为6,条带大小为128K,切成n个数据块。每6个128K的数据块组成1个条带组。2、对应的,数据会先切分成6个分片,组成1个分片组。分片组的聚合副本的分片会在主机A中跨磁盘组并且跨磁盘分布,分片组的散列副本的分片会跨B、C、D主机并且在主机内跨磁盘组分布。3、第1个128K的数据块 、 属于分片1,第2个128K的数据块   属于分片2,以此类推,第6个128K的数据块   属于分片6。条带组1中的6个数据块将并发地写入到所属分片对应的磁盘位置中,写入完成后,再以同样的方式写入条带组2,条带组3......4、随着数据的写入,分片的大小也随之增大,当分片组的分片大小增大到4GB时,将生成第2个分片组,同样也是由6个分片所组成,分布的策略与上一个分片是一致的,即其聚合副本仍然位于主机A中跨磁盘组于跨磁盘分布,散列副本跨主机并且跨磁盘组分布。但注意分片所落在的磁盘具体位置并不一定与上一个分片组完全一样。

  • 数据写入过程:数据条带化---数据分片---副本复制---数据落盘
  • 4大策略

• 主机分布优先剩余容量最多策略---实体机磁盘使用均衡

• 聚合副本数据本地化策略---避免跨主机IO

• 主机内优先跨磁盘组分布---充分利用SSD效能

• 磁盘组内优先跨HDD分布---避免产生单块HDD频繁随机IO读写

  • 聚合副本分片会跨磁盘组、跨磁盘分布
  • 散列副本遵循主机互斥,跨主机、跨磁盘组、跨磁盘分布
  • 需要注意

• 双主机、双副本集群:聚合副本、散列副本均为聚合副本,没有散列副本

• 散列副本最多分散在3台实体机中

数据平衡

  • 出现场景

• 扩容,添加磁盘或添加主机

• 删除虚拟机

• 磁盘或主机故障后完成重建,故障组件重新恢复上线

• 个别虚拟机数据在短时间内增长较快,聚合副本集中

  • 数据平衡目的

• 目标1:使存储卷内最高、最低磁盘剩余空间尽可能小

• 目标2:避免存储卷某磁盘空间用满,而其他磁盘仍有剩余

  • 触发数据平衡条件

• 计划内平衡

• 开始

• 计划平衡时间内

• 卷内最高与最低磁盘使用率超过30%

• 结束

• 任意两块磁盘使用率不超过20%

• 自动平衡

• 开始

• 卷内某块磁盘使用率大于90%

• 结束

• 卷内最高和最低使用率小于3%

  • 实现方式
  • 简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第6张

• 以分片为单位,将源磁盘分片分散在本机或其它实体机中的磁盘

• 原则

• 主机互斥:迁移后两副本依旧不能在同一主机

• 性能最优:按照分布策略并发写入多个磁盘组

• 容量最优:优先迁移至使用率低的磁盘中

  • 平衡保护措施

• 平衡同时,分片数据同时写入源和目的端,即多写一个副本

• 平衡中,对源和目的数据进行校验,保障数据一致性

• 平衡后,源端分片不会立即删除会保留一段时间

  • 注意

• 若存储卷所有磁盘超过90%,且任两块磁盘剩余空间小于2%,此时整个存储卷即将用尽,已无法通过数据平衡继续写入正常数据,必须扩充存储卷空间。

• 数据平衡的最小单位是同卷内的物理磁盘,通过均衡磁盘达到主机间均衡

• 数据平衡会导致虚拟机性能下降,重要虚拟机不会进行数据平衡

平滑扩容

  • 操作

• 选择存储卷

• 确认扩容方式:主机扩容、磁盘扩容

• 配置硬盘

• 确认配置

  • 支持异构无浪费,不再以磁盘为单位的复制卷
  • 简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第7张

  • 扩容条件

• 主机之间的数据盘容量总和,最高和最低的相差不能超过50%(1.5倍)

• 主机之间的数据盘个数总和,最高和最低相差不能超过3个

• 每台主机的缓存盘容量和数据盘容量的比例,不能低于5%,且各主机之间最高和最低的比例相差不能超过5%

• 每台主机缓存盘与机械硬盘个数比应该在1:7以内,单磁盘组磁盘数不能超过8块

• 2主机的情况,容量必须一致

• 单独添加缓存盘,则在界面上添加完毕后,需要联系深信服技术支持进行后台操作,否则不会生效

数据重建

aSAN仍然支持热备盘机制,但热备盘不是数据自动重建的必要条件,热备盘主要用于磁盘的冗余,当磁盘发生故障后,热备盘会自动上线替换掉故障的磁盘,及时恢复存储卷的健康。每TB/30min

  • 定义:以复制卷为源重建聚合卷数据

• 短时间磁盘离线、存储网络异常导致的差异数据修复≠数据重建

  • 原则

• 1.必须满足分片的副本之间主机互斥

• 2.磁盘容量富余(不超过85%)

  • 磁盘故障重建
  • 简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第8张

两主机没有聚合和散列副本,是1:1对应关系无法进行磁盘数据重建

• 要求存储卷的主机数≥3

  • 主机故障重建

主机故障自动重建要求存储卷的主机数≥4才具备。以两主机为例,当出现一台主机故障后,剩余另一台主机无法满足两个数据副本必须达到主机互斥的条件,此时必须人工介入更换故障主机后,才能发起数据重建。同理,由于三主机除数据的两个副本外,还有一个仲裁副本,故障后剩余的两个主机也无法满足三个副本必须达到主机互斥的原则。

• 要求存储卷的主机数≥4

  • 特点

• 断点续传:以4GB分片为单位

• 多并发:多对多IO重建

• 分级重建:“重要虚拟机”优先重建

• 智能重建:智能限速,保障业务性能

仲裁机制

5.2开始开启仲裁机制的两副本卷,其结构类似于一般的三副本卷,每个复制组都由三个brick组成,不过其中一个节点并不存放数据,只用于存放元数据(文件属性,扩展属性),该节点即为arbiter节点。

  • 尽可能减少Dirty数据--数据落盘--腾出Tier空间长期提供写缓存能力
  • 仲裁副本:只有少量的校验数据,占用的空间很小,主要是用于防止数据副本发生脑裂,与聚合副本、分散副本、一样需要满足主机互斥原则,3主机起步
  • 差异数据:脑裂、磁盘松动
  • 数据重建:无法恢复的数据丢失
  • 工作原理

• 当虚拟机运行所在的主机上可访问到的数据副本数小于总副本数(数据副本+仲裁副本)的一半时,则禁止虚拟机在该主机上运行

  • 网络借用

同时aSAN在两主机场景下实现了网络借用的功能,存储网络完全中断,依次借用管理网络或VxLAN提高存储网络可靠性降低数据脑裂风险。两主机的存储卷扩容至三主机后,仲裁机制生效并且生成仲裁副本,此过程需要存储卷上的虚拟机处于关机状态,因此两主机扩容需要关闭集群的所有虚拟机

缓存系统架构

  • 各分区大小

• Write Cache:即写缓存区,约占用10%的空间,不低于20G,不超过60G,提升极小块写性能

<4KB的写操作先写到写缓存,可以让写操作以4K对齐,后续聚合后再写入到分层,从而提高小块写的性能【4K对齐】

• Read Cache:即读缓存区,约占用10%的空间,不低于20G,不超过60G

• Tier:即分层区,分层最小单位是4KB,除读缓存、写缓存、冗余区外的全部空间。

• Redundancy:即冗余分区,约占用10%空间,利用SSD固件自身的过量冗余功能,以该分区作为垃圾回收交换空间,以提高SSD寿命保持SSD在长期使用后的I/O性能

• 小于4KB数据放入Write Cache,大于4KB数据放入Tier

• 写缓存保留的意义:避免在极小块写时引入读Tire时延

分层的最小写入单位是4KB,如果写入的数据<4KB,就需要先读出4KB的数据,再跟要写入的数据拼成一个新的数据,最后再写入SSD,从而增加了写入的开销。而写缓存是基于oplog的方式设计,每个写操作都会被重新组织成一条8KB大小的log,写入操作可以一次性完成。

• 读缓存保留的意义:提升虚拟机“非本地读”性能

未命中读缓存:运行在主机C上的虚拟机发起读取操作时,虚拟机需要读取数据b,但由于数据b的数据副本不存在于主机C上,并且在读缓存客户端中也查询不到该数据,此时就会跨存储网络前往其他主机的Tier上读取,如命中分层则直接读取返回,如不命中分层则从容量层HDD中读取返回。       读取的数据返回至虚拟机时,数据将同时保存一份到本地主机的SSD读缓存区,并且在读缓存客户端中进行记录通过读缓存机制,优化虚拟机跨主机的网络存储读写性能,减小网络开销带来的IO瓶颈,读缓存的数据淘汰机制和数据热力图与分层的机制是一致的如果没有本地副本,启用“读缓存+分层+写缓存”技术

  • 分层区

• 提供写缓存,加快数据落盘效率

• 步骤

• 虚拟机-Tier(Dirty)

第一步:虚拟机发起写入操作,数据在经过分片、条带化、副本模块之后分布位置确定落入到各个磁盘组的各个磁盘上,数据在写入到容量层HDD之前,数据会先写入到SSD的Tier分层中,写入完成后即刻向上层返回数据已写入成功, 并且将数据状态标记为Dirty。

• Tier(Dirty)-HDD-Tier(Clean)

第二步:Tier分层中的Dirty数据会持续回写至容量层HDD中,回写完成后,注意数据并没有立即被清除,只是将数据的状态标记为Clean。

• 淘汰Tier冷数据

第三步:虚拟机持续有数据写入,而Tier分层上的空间已经用满时,此时将淘汰掉clean状态的数据(淘汰是一个抹除的动作,时间是极短的),因为该部分数据已经存在于容量层HDD中,因此可以快速抹除掉该部分数据,腾出空间用于快速写入新的数据

• 写缓存特点

• 自适应回写HDD速率,不与虚拟机抢HDD IOPS,在不影响业务前提下尽可能回写数据

分层上的Drity数据回写至容量层HDD上是一直在进行的。其目的是尽可能让Tier分层上的数据都处于Clean状态,当虚拟机下次写入数据时,可以立即淘汰抹除掉Clean状态的数据,意味着可立即申请到Tier空间完成写入并返回成功,从而实现长期的写缓冲能力。

• 整合Dirty数据避免随机写HDD

分层上的Drity数据回写至容量层HDD上是顺序写入的。分层上的Drity数据在回写前会对数据先进行合并,使得回写的过程是顺序读写的,以此提升回写的速度。(机械硬盘的顺序读写性能比随机读写性能好很多)

• 尽可能减少Dirty数据--数据落盘--腾出Tier空间长期提供写缓存能力

分层上的Drity数据回写至容量层HDD上是一直在进行的。其目的是尽可能让Tier分层上的数据都处于Clean状态,当虚拟机下次写入数据时,可以立即淘汰抹除掉Clean状态的数据,意味着可立即申请到Tier空间完成写入并返回成功,从而实现长期的写缓冲能力。

• 提供读缓存,降低读IO延迟

• 读操作命中Tier直接返回数据(不区分Dirty/Clean)

• 读操作没命中Tier,HDD直接返回,并调度到Tier中并预读1MB数据

• Tire热度

• 命中增加热度

• 未命中IO回写Tire增加热度

• 优先淘汰热度低的Clean数据

  • 分层机制与缓存机制差异

• 复用空间SSD不区分读写缓存区域

• 数据一次写入,开销更小【传统:写缓存-HDD-读缓存】

• 引入热度概念抵抗扫描读【杀毒为例】

流水线IO无锁化

简单理解超融合架构_深信服 超融合 (https://mushiming.com/)  第9张

传统存储采用IO锁机制,实现不同I/O线程执行相同操作。锁机制的弊端在于随着I/O深度增大(并发度增加)线程之间抢锁变得愈发严重,当并发增加到一定程度时,继续增加的并发度IO性能不仅没有提升,还会导致IO性能下降。这是因为并发度增加使得更多线程抢锁,进而造成其他线程释放锁。aSAN自研的流水线技术,缩短关键IO路径,结合协程和异步IO技术自适应调度减少阻塞,实现I/O无锁。随I/O深度增大,IO性能仍可保持比例增加,提升存储框架性能。       流水线技术的实现方式是,把整个I/O流程切分成若干个步骤,每个步骤由一个固定的线程来完成,去掉加锁的环节。这工业生产的流水线作业类似,一个产品的生产过程划分成若干个步骤,每个工人只负责其中一个步骤,整个生产过程构成一个流水线,每个工人完成自己的步骤后,通过流水线交给下一个工人完成下一个生产步骤

虚拟iSCSI存储

虚拟iSCSI存储与存储虚拟化原理一致,只不过存储虚拟化以虚拟机的分片为最小单位,虚拟iSCSI以源IP的分片为最小单位

  • 虚IP负载iSCSI

通过接入IP重定向为虚拟IP池的方式,实现iSCSI服务器的高可用和负载均衡特性

  • 避免单点故障

存储卷内任何一台主机故障,iSCSI客户端连接到该主机的iSCSI连接会被重定向到其他主机上继续提供iSCSI服务

  • aSAN iSCSI磁盘空间为预分配空间,且只能基于VS
  • 管理口与数据通信口(VXLAN)复用、管理口与业务口复用、管理口采用链路聚合 均不支持通过管理口接入

VS3.0.1

延伸集群

以两副本为例,aSAN通过数据分布策略的控制,保证数据的两个副本写入时,必然在两个故障域内各写入一份,此外仲裁副本写入到仲裁节点中假设故障域(机房A)内的主机A和主机B同时发生故障,如机房A掉电了,此时虚拟机仍然可以在故障域(机房B)的主机C或主机D内运行,因为故障域(机房B)仍然保留一份虚拟机的完整数据,以此实现数据双活

  • 两个故障域(域内可以包含多台实体机)+ 仲裁域【单集群3主机双副本扩大版】
  • 条件

• 机房间链路

• 万兆无抖动,时延小于1ms

• 仲裁链路

• 1000M,时延小于5ms

• 规模

• 主备节点各不少于2主机

  • 双活原理

• 写操作:数据被同时写入2个副本,正常情况下,两个副本都写成功才返回成功;

• 读操作:只从本故障域的副本读取,以优化性能;(虚拟机所在故障域)

• 副本读写策略

• “2副本+1仲裁”3者至少要有2者正常才能读写,否则不可读写;

• 仲裁:仲裁用于记录指控信息,延伸集群做了优化,当指控发生变化时,才更新仲裁,优化仲裁链路的延时抖动对性能的影响。(“两个副本都正常”“副本1不一致”“副本2不一致")

• 概念

• 业务双活

• 数据双活

  • 存储空间分配

• 动态分配--后置备延迟置零

• 没有超配,没有分配,不置零

• 仅限VS

• 精简分配

• 可以超配,不置零

• 预分配--后置备置零

  • 部署最佳实践

• 仲裁节点放置在第三机房,否则,单仲裁节点、仲裁网络、主节点故障时,备故障域将处于挂起状态

双活数据中心

VS3.0.3

存储快照

  • 对比

• 新版本:基于qcow2文件快照--存储快照

• 旧版本:基于虚拟机快照

  • 注意事项

https://mp.weixin..com/s/nHk3CA3mNOzuf_V4xD70OA

• 存储快照基于虚拟存储,外置存储使用老版本的快照

• 两主机存储快照及相关功能(包括快速克隆)

• 首个快照大小显示为虚拟机总大小(即快照保护的大小),后续快照大小会随数据的变化持续增大

是否占用空间?

• 快照.doc

磁盘亚健康

  • 状态

• 健康在线

• 故障离线

• 亚健康状态

  • 表现

• 硬盘变慢、卡顿、拥塞、寿命即将用尽,坏道数过多

  • 健康扫描

• 并发扫描

• 每主机可并发扫描硬盘(brick)数量,本版本默认配置3

• 扫描优先级

• 按坏道数->使用时长排序,排在前的先扫

三副本

THE END

发表回复