18616998618
当前位置:乐仑彩票登陆 > 大篆今日头条
工程师证/ Engineer certificate
Big bang——图解存储操作系统变迁
点击次数:1699 次    更新时间:2016-10-25

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

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

存储系统OS的5大模

1.通道及硬盘管理层

该层属于暗流汹涌的一层,也是决定了一个存储系统是否稳定可靠的关键一层,也是凝聚了对应厂商多年心血的关键一层。哦?看似这一层好像很有技术含量?其实技术含量本身不高,就是工作量非常大这一层之所以被称为暗流汹涌,是因为硬盘、HBA、链路这三样哪样都够喝一壶的。机械硬盘虽然存在这么多年了,但是其稳定性依然是个问题,各种bug层出不穷。硬盘提供商自己其实是发现不了多少bug的,因为它们根本没有大规模的场景去实践。不少bug都是存储厂商发现的。当然,能用软件规避的,都规避掉了,而且可能并不会将问题反馈给硬盘厂商,因为这是天然的技术壁垒,否则反馈给了硬盘厂商的话,其他存储厂商就不用耗费人力去解决该问题了。不同型号,甚至同一型号不同批次的硬盘的行为可能也不一样,需要牵扯到大量的测试工作。另外,HBA也是个难啃的骨头,HBA主控固件是不开放给存储厂商的,bug只能靠HBA厂商来解决,周期较长,有些必须从软件上做规避。HBA主控的驱动程序一般是由存储厂商自行开发,往往固件和驱动都得配合着来改,坑也是不少的。再就是链路问题,闪断、误码等是常事,谁踩过足够的坑,谁才能将这一层做的足够稳定。这一层需要尽量为上层提供一个稳定不变的设备列表。

2.后端数据布局及容错管理层

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

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

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

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

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

Assign a profile to a volume

Sample chart showing QoS可以看到SCOS的GUI中还嵌入了统计图表功能来动态展示对应卷的QoS效果。

4.前端访问层

这一层主要负责与主机端的通信,包括底层网络的连接、握手、设备发现、设备属性的虚拟、接收和处理IO、性能统计工作等。该层也事关整体稳定性。不过这一层除了前端HBA固件、驱动之外,基本都是标准协议,可控性较强。

5.侧翼的数据管理功能层

这一层对于一台存储系统来讲其实是可有可无的,是体现差异化的竞争力的关键。诸如快照、分层这种功能基本是标配,必须有的。自动精简配置这个功能虽然比较鸡肋但是迫于竞争压力也必须有。至于重删,在线存储应用甚少,加上近几年硬盘容量也不断加大价格也不断下降,使用的必要性似乎不大,而且还影响性能,且需要更高规格的CPU、RAM,有些得不偿失。仅在备份场景针对离线数据使用较多。在这一层近期有些新技术字眼可能熟悉的人不是很多,比如Dell在其Compellent存储系统中推出的存储联邦功能。该功能主要技术就是卷的跨存储系统透明热迁移技术(Volume Live Migration)。其本质原理就是将卷从本来与主机相连的存储系统后台迁移到其他存储系统,主机的访问仍然先发送到本地存储,然后由本地存储负责转发到目标存储。相当于用本地存储系统实现了在线迁移透明虚拟化功能。针对Live Migration的配置也比较简单,通过可视化界面点击对应菜单即可。

Start a Live Migrate

Alerts - Thresholds

Live Migrate Attributes

Swap Roles

Complete存储系统的软硬件框架

早期,有些存储系统还使用了比如Freescale、PowerPC等CPU平台。对应的OS则还有VxWorks、Linux、Windows等。后来几乎所有产品都过渡到了Linux/BSD+Intel x86平台。早期几乎所有厂商都是在内核态中实现所有的存储IO相关的处理模块的,而在用户态实现数据管理功能。而目前几乎所有厂商都转到了全用户态实现,有些甚至连设备驱动都放在用户态来实现,OS纯粹作为一个线程调度器和内存管理器而存在了。有些系统还进一步实现了容器技术,使得功能代码可移植性非常强。存储系统的配置管理接口与工具早期普遍使用私有协议以及SNMP协议。后来逐渐演化出SMI-S,然后RESTful API、Cinder、VAAI/VASA等更接近业务的资源管理接口。早期的时候,不少人还以命令行为荣,鄙视用GUI的。笔者那时候其实就很不以为然,用CLI逼格就高了么?没道理啊。当时IT领域的新技术、概念非常匮乏,市场上主要就是那几个老炮们的地盘。那时候中关村DIY能点亮个主板都是高大上,可想而知能用CLI配置这些老炮出产的高端设备时是多么彰显逼格。而现在不同了,放着GUI不用非用CLI不可的那叫负逼格装逼。

资源可视化及用户体验

笔者之前搞过一套解决方案,叫做“可视化存储智能”,其中涉及了一系列的技术和展示,体现出了可视化智能存储系统的全貌。笔者认为,对于传统存储系统而言,目前市场上已经没有什么新概念可炒作了。至于分布式、Server-SAN、超融合、一体机、云计算/大数据,这些都是新生代玩家弄的概念,老炮们实在是拿不出什么来了,拿出来的也只是老炮圈子里赏玩一下罢了,根本吸引不了外界眼球。而可视化存储智能这个概念,笔者认为是与新时代的玩法接地气的。比如Dell SC最新版本的Enterprise Manager,就是一个基于HTML5构建,用单一界面把Storage Center、Application Protection Manager一起纳入管理的GUI工具。其中的可视化元素极大增强了当今面向数据中心场景的用户体验。

综上所述,如今大数据+互联网环境下,传统存储系统更需要在可视化、智能方面继续耕耘了。以往那种不注重用户体验的玩法,在当今时代是没有什么竞争力可言的。


  |     |     |     |     |     |     |     |  
EMC存储,戴尔dell存储,戴尔dell服务器,戴尔dell工作站,戴尔dell刀片服务器,戴尔dell磁盘阵列存储,戴尔服务器,武汉戴尔服务器,戴尔 R930,戴尔 R730,武汉戴尔存储,武汉戴尔工作站 Keywords: EMC存储 戴尔dell存储 戴尔dell服务器 戴尔dell工作站 戴尔dell刀片服务器 戴尔dell磁盘阵列存储