瓜哥图解存储操作系统变迁

企业动态

 

之前的那期《瓜哥图解PCIE/NVMe》

大家是不是意犹未尽?

那么今天瓜哥又来了

本期瓜哥图解知识讲堂继续开讲

从Dell SCOS看存储操作系统变迁

外置传统存储系统的OS及其配置本身很少受到人们关注。人们往往更加重视存储系统的架构、规格、特性、场景、价格等。存储系统的及其配置界面直接关系着系统的软件特性对外的展现,关系到易用性和运维成本。

 

该层属于暗流汹涌的一层,也是决定了一个存储系统是否稳定可靠的关键一层,也是凝聚了对应厂商多年心血的关键一层。哦?看似这一层好像很有技术含量?其实技术含量本身不高,就是工作量非常大。

这一层之所以被称为暗流汹涌,是因为硬盘、HBA、链路这三样哪样都够喝一壶的。

机械硬盘虽然存在这么多年了,但是其稳定性依然是个问题,各种bug层出不穷。硬盘提供商自己其实是发现不了多少bug的,因为它们根本没有大规模的场景去实践。不少bug都是存储厂商发现的。当然,能用软件规避的,都规避掉了,而且可能并不会将问题反馈给硬盘厂商,因为这是天然的技术壁垒,否则反馈给了硬盘厂商的话,其他存储厂商就不用耗费人力去解决该问题了。不同型号,甚至同一型号不同批次的硬盘的行为可能也不一样,需要牵扯到大量的测试工作。

另外,HBA也是个难啃的骨头,HBA主控固件是不开放给存储厂商的,bug只能靠HBA厂商来解决,周期较长,有些必须从软件上做规避。HBA主控的驱动程序一般是由存储厂商自行开发,往往固件和驱动都得配合着来改,坑也是不少的。

再就是链路问题,闪断、误码等是常事,谁踩过足够的坑,谁才能将这一层做的足够稳定。这一层需要尽量为上层提供一个稳定不变的设备列表。

这一层虽说没有太多的暗流,但是也够得上异常澎湃。得益于底层的工作,这一层将获得的物理设备做成逻辑设备,并需要负责数据的冗余,以及IO出错时候的恢复。IO错误是家常便饭了,各种原因可能都会导致IO错误,比如坏扇区/坏道,信号质量问题导致的数据校验错误,机械问题等等。不管原因如何,这一层都需要将这个错误纠正回来,比如利用Raid技术。该层拥有很多开源实现,比如Linux下mdraid模块等,其更加开放,可控性也更好。

该层需要为上层提供一个稳定的逻辑资源视图。这一层早期主要是Raid功能,后来逐渐演化出Raid2.0、分层等技术。

该层负责缓存管理。又分为数据持久性管理和性能管理。

持久性管理主要是将脏数据按照对应的策略刷到后端硬盘上***保存。在这一层上,早期的存储系统基本没有什么优化措施,大家千篇一律,按照LRU等通用算法,甚至直接使用Linux原生的Page Cache策略而不加修改。到后来,随着互联网蓬勃发展,业务层不管是在种类还是数量上,都有点爆发式增长,直接对存储系统产生了影响。不少存储系统演化出诸如QoS这种精细化性能调节能力。比如其中典型的Dell的(Compellent)SC系列存储系统中就针对QoS做了精细化实现。其可以实现针对单个逻辑卷或者一组逻辑卷,设置其总IOPS、MB/s和时延。其实现原理是在缓存层的队列处理时增加了对应的调节策略,包括入队比例、重排等。

其中Relative Priority指的是当发生队列较满时,该卷的IO是要被提前、不动,还是排***得到执行。用户可以不指定具体的指标,而用相对性能来配置某个卷或者卷组的QoS,这就一定程度上简化了配置,对于那些生手来讲比较合适。

具体做法则是在Dell的SCOS存储操作系统配置界面中先创建一个QoS Profile,在其中定义对应的指标,然后将该Profile黏着在逻辑卷作为其一个属性即可。

 

 

 

 

 
 

 

责任编辑:润月 来源: 51CTO
相关推荐

2016-05-16 14:32:30

任意云戴尔微软

2016-05-24 13:36:56

任意云戴尔微软

2016-05-16 15:23:54

任意云戴尔微软

2021-11-15 06:56:46

操作系统U盘

2012-10-15 09:28:33

Windows操作系统

2010-04-22 14:18:42

Aix操作系统

2009-03-21 10:18:31

微软浏览器IE8

2009-12-09 17:25:19

Linux操作系统

2014-10-14 16:17:52

DCS存储操作系统

2018-09-14 11:00:33

操作系统存储管理

2010-04-15 14:40:26

Unix操作系统

2011-04-13 17:31:33

2010-04-29 14:08:38

Unix操作系统

2021-04-19 11:23:29

操作系统计算机DOS

2011-12-29 17:25:13

AndroidiOSWP7

2012-03-30 14:43:23

2010-04-13 12:27:44

Unix操作系统

2010-05-05 17:07:47

AIX操作系统

2009-12-14 17:46:40

Linux桌面操作系统

2020-12-29 16:39:01

Linux代码命令
点赞
收藏

51CTO技术栈公众号