漫谈两篇,上篇谈的性能,接下来聊聊可靠性。
1.关于可靠性
可靠性在技术领域实际有2个参数,一个是availability,一个durability,前者反映系统是否可用,后者反映数据是否丢失,有一定关联性,数据不可用,显然系统
也是不可用的。但就重要性来看,后者显然更重要。如:你的PC 机因各种故障导致2天不可用,心情会极其不爽,这是availability,如果告诉你保存在PC上的10几年
的相片丢失了,估计你砍人的心都有了,这就是durability。如果告诉你存在电脑上自拍的小电影泄露出去了,······这个,不是咱这次的重点,下次再聊。
可靠性问题,在传统的IT 系统中,是靠应用开发商和硬件、平台软件等供应商共同来保证的,从业界统计来看,应用开发商造成的可靠性问题占70%以上,所以选对
应用提供商是关键。剩下的30%可靠性事故是硬件和平台软件来保证的。应用开发商为了解决这部分的可靠性问题,需要进行大量的可靠性开发工作,这需要有经验
的工程师,同时也会导致应用代码急剧增加,进一步加大应用软件的可靠性风险---显然系统越复杂,可靠性风险越高。
有经验的软件工程师是很难招聘和不跳槽的,这需要投入很多的人力成本。精简IT,降低软件开发难度,这就是包括华为在内的大部分IT 厂商的追求。所以大家在这个
领域不断推陈出新,如现有小型机、FCSAN,后有IPSAN、NAS、中间件,再有容灾、备份等等技术手段,这些东西对企业IT来讲就是高昂的capex成本;像华为在
电信领域,或者如淘宝这类的互联网厂家,招聘大量的有经验的工程师,在最垃圾的硬件上构建最可靠的系统,一样也能达到目的,这种付出的人力成本是opex.
所以提升可靠性,要么购买昂贵的系统,要么雇佣昂贵的程序员,这是每个企业不得不考虑的选择。
2.云计算的可靠性基础
云计算的出现,在设备和程序员的选择之间达到了一个新的平衡,以合理的代价提升了可靠性。一般的云计算系统都提供的故障HA、容灾、备份、快照等手段,
不同的方案在成本上略有差异,从我的观点来看,相对传统IT,故障HA时一个最低成本、可靠性提升最明显的特性,最大的好处在于云平台对应用软件的硬件环境
做了标准化,应用不需要跟硬件打交道了,不用担心硬件厂家兼容性、停产替换等事情了,应用的开发难度答复降低。
云平台本身可靠性设计,在于大规模条件下的软件能力,10个刀片左右的虚拟化系统的可靠性其实比较好设计,如果一个云平台管理的规模上百、千、万服务器,
系统软件难度大幅上升。从特性对标上来讲,大家都差不多,就不啰嗦了。
3.桌面云的可靠性
桌面云是基于云平台的一种应用,革命的对象是PC机,其他好处不啰嗦了,就可靠性和可维护性上讲,提升太明显了。客户不用再担心PC机停产找不到配件,
数据中心的服务器替换不会影响用户,如果采用华为的DSWare(一体机内置的分布式存储),则硬盘更换也对用户不感知了,以前IT为了保证可靠性,如果硬件损坏
就需要立即更换设备,现在不用,每周推着小推车金数据中心,看见坏的硬件就把它换下来,这种惬意的维护方式不再是梦想,再不用羡慕Google数据中心的维护人员
在办公室可以遛狗的幸福生活了。
等等,愿景很美好,华为桌面云难道不会有故障吗?坦率地讲,可靠性是个概率问题,没人可以拍胸脯保证系统永远正常工作,但是华为的桌面云中有很多有意思的
可靠性设计,能够极大降低可靠性事故。
1)桌面云中管理系统的故障,不会造成数据面的不可用,如已经在使用桌面能够继续正常工作,不会影响用户办公,但会影响还未登录连接进桌面的用户。
2)所有的管理部件都是双部件运行,其中DB和ITA是准备运行,其他部件都是负荷分担方式运行,如HDC、WI部件,系统默认安装是2台,实际上可以部署更多,
以进一步提升可靠性。管理系统的进程异常都有自我保护,如果代码出问题,会自动重启;所有管理不见无论启动的先后顺序,异常情况下维护更简单;管理系统的
数据还提供自动备份到第三方设备上的能力。
3)对于用户连接的可靠性,所有在VM里的协议软件都有误删停机制,还有防止被修改等,万一还有问题,如用户删除了Windows 系统文件等,还可以通过自助维护
平台进行恢复操作。
4)对于第三方重要部件,如AD异常,系统日志会有提示,而且有工具来检测AD是否正常工作;网络如果有异常,客户端上有红黄绿灯来标识等。
5)前面说到,durability很关键,如果客户选择IPSAN来建设,那跟其他供应商没什么区别,IPSAN一般采用RAID0或者RAID5来建设,在可靠性上讲,这实际上
就是2跟数据,由于硬盘故障后,raid组需要有个重建时间,硬盘容量越大,可靠性就会越低,因此及时更换坏件还是必须的。如果采用华为的一体机DSware
来存储,系统默认是提供了3分数据,可靠性大幅提升,为了兼顾成本和性能需求,采用的大容量的SATA盘来降低每用户成本,采用SSD来提升性能。DSware
中任何硬件损坏,系统会自动把数据重新分布。这个数据重新分布的速度也远超SAN,可靠性也是有保障的。(如果三分数据仍发生故障,用户可以去买彩票了,
因为买彩票的中奖率远比DSWare三分数据发生数据丢失的概率高)如果真的还是不放心,那就要用到容灾和备份了,因为系统在底层无法判断数据有效性,只能
全部数据同步或者备份,这会极大增加成成本,系统复杂度大幅上升,比如除了增加1:1的计算和存储容量外,还需增加数据中心间的大带宽。最佳的方案建议
采用在用户虚拟机中安装第三方的网盘系统,用户自己选择少量的重要数据自动备份,同时在灾备中心建立pool型虚拟机,万一出现系统故障,用户登录POOL
虚拟机,从网盘上去下载用户数据,这样也能低成本迅速恢复办公环境。
6)最后,来谈谈综合能力。桌面云系统涉及到网络、服务器、存储、云平台软件、桌面云软件,还是比较复杂的,华为具备端到端的能力包括研发能力,同时
自己已经建设并用10万桌面云,该碰的问题全碰到了,所以尽管放心华为的品质,虽然华为刚进入IT领域,但多年在电信领域的技术积累,不能以一般眼光
来看待。举个例子,某国内著名的医疗设备制造商想上桌面云,华为和IXX受邀去投标,因为华为在IT领域是新兵,最后IXX以高价中标,其中集成由IXX
完成,设备情况是服务器IXX提供,存储EXX,云平台VXX,桌面云CXX,都是名牌货,但是最后项目在努力1年后失败,该企业CIO黯然离职,项目终止。
所以,别看各厂商各谈各的技术有多牛,系统异常情况下的端到端的问题定位和处理能力,才是选择供应商的关键。