×

【1月26日-技术盲盒】数据分层技术原理
  

农夫山泉有点咸 1707

{{ttag.title}}
原理讲解

1. 读、写缓存技术原理
上图所示是读缓存和写缓存的系统结构图,aSAN分为客户端和服务端两部分,客户端和服务端通过网络进行通信,读缓存位于客户端,写缓存位于服务端,客户端是跟虚拟机在一起的,而服务端则是跟数据在一起的,或者换句话说:虚拟机在哪,读缓存就在哪;副本在哪,写缓存就在哪。

之所以要把读缓存放在虚拟机所在的位置,是因为离虚拟机越近,意味着IO路径越短,延时越低,性能越高。之所以要把写缓存放到副本所在的位置,是为了数据安全,写数据的时候,数据会被同时写入到所有副本的写缓存,这样某个主机的SSD出现故障,也不会出现数据丢失的问题。

为了提供最佳的读性能,读缓存被设计成位于最靠近虚拟机的地方,读缓存缓存的数据是在物理主机内有效的,在上图中,如果VM1的运行位置从host1迁移host2,原来host1中缓存的数据就失效了,需要在host2重新缓存。如果host1关机重启,那么host1上的读缓存将被清空,因为有可能在host1关机的期间,其他主机如host2更改了数据,host1的读缓存数据已经不可信了,所以关机重启后,读缓存失效导致读性能直线下降,需要重新缓存后,性能才会恢复到原有的水平。读缓存的原理是把经常读的数据缓存起来,这样下次读的时候,读缓存模块就直接从缓存盘里面读取,这里有就有一个缓存命中率的问题,如果要读的数据已经被缓存起来了,那就命中了缓存,如果没有被缓存起来,那就是没命中缓存,需要从底层的数据盘读,所以读缓存有一个命中率的问题。

写缓存用于对写进行加速,VM写的数据交给aSAN客户端,读缓存会检查一下要写的数据是否已经被读缓存缓存起来了,如果已经被缓存起来了,那就要更新读缓存里面的数据,否则下次读的时候,就会从读缓存里面读到旧的无效数据。然后aSAN客户端会把写操作通过网络同时往所有的副本写入,上图示例中,采用2本,写操作会同时发往2个副本的服务端,写缓存模块把数据写入到缓存盘后,就返回写入成功,后面再慢慢地把数据从缓存盘回写到数据盘上,由于写入缓存盘就直接返回写入成功了,所以写延时非常的低。

跟读缓存相比,写缓存不存在是否命中的问题,但是为了数据可靠性,会同时往所有副本写数据,需要走网络,所以对于写操作来说,网络才是瓶颈所在。

2.数据分层技术原理
分层跟读、写缓到底有什么不同的地方呢?我们可以这样来理解:
读、缓存只是把缓存盘当成一个临时的缓存空间使用,数据的真正存储位置是在数据盘;
而分层则是把 SSD 缓存盘也当成数据盘来用,数据存在缓存盘的分层空间里面后,就是数据的真正存储位置了,不存在读缓存失效的问题。
跟写缓存一样,分层模块位于aSAN服务端,分层也是基于冷热数据识别,把热数据存储在SSD分层,把冷数据存储在HDD分层。

读数据的时候,VM向aSAN客户端发出读命令,aSAN客户端通过网络把命令发送给aSAN服务端,分层模块先从缓存盘的分层空间查找要读取的数据,如果在缓存盘,则从缓存盘读取,否则从数据盘读取,如果在缓存盘的分层空间里面找到要读取的数据了,则说命中了SSD分层,否则就是没有命中,所以对于分层的读来说,也有命中率的问题。

要写数据的时候,VM向aSAN客户端发出写命令,aSAN客户端通过网络向所有副本发送写命令,aSAN服务端接收到写命令后,这个数据写到哪里呢?新产生的数据,我们就认为他是热数据,因为我们认为新产生的数据在不久的将来会
被使用到,所以这个数据会被写入SSD分层。

不断地往SSD分层写入数据,SSD分层空间尽早会用光,这时候就面临一个调度的问题,随着时间的推移,SSD分层空间不够了,SSD分层空间里面肯定有一些数据变成了冷数据,这些冷数据不应该再占用高性能的SSD空间,就把这些数据从SSD调出到HDD数据盘里面去。相反,有一些HDD里面的冷数据,在某个阶段被读的次数增多,慢慢地变成了热数据,就再把它从HDD调入到SSD里面。这就是SSD分层的冷热调度问题。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

新手210358 发表于 2024-2-1 09:20
  
关注订阅华北区板块,获取更多学习干货!
王龙龙 发表于 2024-4-3 15:44
  

每天学习一点点,每天进步一点点!
发表新帖
热门标签
全部标签>
【 社区to talk】
新版本体验
干货满满
每日一问
技术咨询
纪元平台
功能体验
GIF动图学习
标准化排查
安全效果
自助服务平台操作指引
产品连连看
社区新周刊
社区帮助指南
每周精选
信服课堂视频
每日一记
技术顾问
云化安全能力
畅聊IT
技术笔记
安装部署配置
2023技术争霸赛专题
秒懂零信任
高手请过招
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
技术盲盒
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
西北区每日一问
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
故障案例库

本版版主

0
2
1

发帖

粉丝

关注

40
11
5

发帖

粉丝

关注

5
3
4

发帖

粉丝

关注

65
6
1

发帖

粉丝

关注

2
4
0

发帖

粉丝

关注

0
0
0

发帖

粉丝

关注

本版达人