从大规模并发的动手实验室(HOL)实践看私有云架构 –– “异质还是同质,这是个问题”
To be, or not to be, that is the question.
生存还是毁灭?这是个问题。
-- 莎士比亚《哈姆雷特》第3场
正如“生存还是毁灭”这个艰难的选择出现在哈姆雷特面前,摆在TechEd动手实验室(HOL)团队面前也有一个必须面对的问题:服务器的规划,异质还是同质,这是个问题。
http://blogs.technet.com/b/nevin_dongs_blog/archive/2012/12/20/hol.aspx
在私有云架构的规划中,计算资源(主要是服务器)的同质及异质的问题,是一个需要重点关注的问题。可以参考以下网址:
http://social.technet.microsoft.com/wiki/contents/articles/4614.private-cloud-planning-guide-for-systems-management.aspx
http://social.technet.microsoft.com/wiki/contents/articles/4622.private-cloud-planning-guide-for-infrastructure-as-a-service-iaas.aspx
同质的服务器资源,具有同类CPU(例如Intel或者AMD)、同样的CPU数量/核数、同样的主频、同样类型和数量的RAM等等。虽然这样的要求高了点儿,但对于云计算,却有着很大的好处,特别是可伸缩性、高可用性、性能。基于同质的服务器资源,虚拟化的服务可以方便、可靠地从一个失败的服务器或节点平滑无缝地迁移到另一个服务器或节点。
同样的情形,也适用于云计算的另两个关键部分:存储和网络。
但要做到同质化,谈何容易。因为TechEd大会预算非常有限,动手实验室的服务器都是靠赞助“化缘”得到的,可谓五花八门:厂商有HP、IBM、CISCO、DELL等,CPU有Intel的同时也有DELL的,CPU主频从1.9GHZ到2.7GHZ不等,内存也是各不一样,增配的内存甚至存在不匹配的情况,有的有HBA卡而有的则没有HBA卡,等等。
对于很多IT主管而言,在构建自己的云计算数据中心的时候,这个情形应该也是一个必须要面对和解决的问题:要实现完全的同质化,难度太大,需要结合风险来综合评估。
在TechNet上私有云的参考架构(http://social.technet.microsoft.com/wiki/contents/articles/3819.reference-architecture-for-private-cloud.aspx#Planning_and_Design_Guides)中对同质和异质方案进行了对比:
同质物理基础设施
异质物理基础设施
优势
劣势
· 在资源池内实现可预测的性能
· 支持动态迁移
· 现有设备可能无法重用
· 现有设备可重用
· 支持多种服务器种类
· 虚拟机无法在资源池进行转移
· 为实现动态迁移需要更多事先工作
最终,HOL团队根据实际资源情况,选择了异质的私有云技术方案,如下图所示:
在部署中,根据服务器的配置,具备HBA卡的12台服务器采用了SAN结构,访问后台的NetApp公共存储;对于其他3台服务器采用直连结构,针对虚拟机负载进行了动态分布,这种区隔保证了整体解决方案的高性能和伸缩性。
从大规模并发的动手实验室(HOL)实践看私有云架构 –– 存储及“冰山理论”
The dignity of movement of an ice-berg is due to only one-eighth of it being above water.
冰山运动之雄伟壮观,是因为他只有八分之一在水面上。
-- 海明威 《午后之死》
12月6日下午4点40分,当微软TechEd China 2012大会动手实验室(HOL)最后一时间段的动手实验进行完毕,学员们离开会场的时候,HOL团队终于迎来了这次支持大规模并发、支持多种复杂实验环境的动手实验室的胜利时刻。
每当回想起这次难忘的经历,脑海里经常会想起海明威的那段话。在较短时间至此会如此大规模的虚拟环境并发,而且让学员体验到流畅的操作,何尝不像冰山的运动?在大家看来,一切都是那样的自然,但要真正一览冰山的壮观,则需要将大海变成彻底透明的液体,让水面下八分之七的巨大冰体与冰山一角融为一体。
那本次HOL的八分之七的巨大冰体是什么?是在后台机架上运行的共36T的NetApp存储。
如何做到这一点?
首先,也是至关重要的,需要进行事前的容量预测和规划。云计算要让IT满足业务的增长的需求,则需要超前(Proactive)进行容量分析和管理,而存储的容量又是非常关键的一点。
在TechNet上私有云的参考架构中,将基础设施即服务(IaaS)的规划摆在非常重要的地位。
在对存储进行规划的时候,如何保证存储提供高性能和稳定的可用性,一个重要的指标就是每秒处理数(Operations per Second,IOPS)。
下图是本次HOL的批量虚拟机启动时所有存储所承受的压力。如果没有足够的存储设备的支持,很难想象如何满足如此规模的虚拟机同时provision和提供给用户进行操作。
当然,HOL团队也深刻理解存储的有限,而很多HOL环境比较复杂,需要同时起多部虚拟机,而且尺寸还比较大。如何有效地提供存储支持?HOL团队通过进行时间段的合理规划,将需求进行了预调度,确保了每个时间段存储压力的有序分布,避免了存储短缺风险。
另外一个关键点就是连接存储与计算节点(/服务器)的网络,这对于保证整体运行高性能和高可靠性至关重要。通过HBA卡和SAN解决方案,本次HOL确保了网络的高效和稳定。
另外一个非常值得一提的,就是本次HOL使用了NetApp存储的Flash Cache闪存的解决方案。Flash Cache闪存使得活动数据访问速度更快,充分发挥了存储的能力。
http://www.netapp.com/us/products/storage-systems/flash-cache/
本次HOL 使用的Flash Cache闪存总容量为512GB,用作存储系统读缓存。
图表中蓝色实线表示系统对外提供的总吞吐量,红色实线表示磁盘实际产生的吞吐量,二者差额为Flash Cache缓存加速部分。
可以看到大部分读请求通过Flash Cache卡直接响应,避免了磁盘机械结构造成的性能瓶颈。
再次向海明威致敬,精彩的阐述!
“冰山理论”用在云计算真是再贴切不过了,当大家正在体验云计算所带来的无所不在、无时不在的便利的时候,在世界的某些地方,在云中心机房里,灯光闪烁的机架上,海量的存储在工作…
如何将现有基于SQL Server低版本的应用,顺利升级到SQL Server 2012上来?
升级到SQL Server 2012,可以充分利用SQL Server数据库的一些新特性,例如列索引、AlwaysOn等技术,实现更高性能、更高可用性、更高安全性等,还可以拓展更多的商业洞察力及基于云的创新。但对于原有系统,首先需要完成的,就是确保原来的数据库能够迁移到SQL Server 2012中。
本周初举行了一个Microsoft SQL Server 2012应用程序兼容性实验室(Application Compatibility Lab),总的说来,在升级和兼容性测试过程中,关键是要选择合适的策略和工具。
策略方面,首先,并不是所有的先前版本都能直接通过安装升级到SQL Server 2012。只能由SQL Server 2005, 2008, 2008 R2升级到2012,且SQL Server 2005必须打SP4包,SQL Server 2008必须打SP2包,SQL Server 2008 R2必须打SP1包。对于SQL Server 2000,只能通过先升级到SQL Server 2005或者2008,然后再升级到SQL Server 2012。
谈到升级策略,主要有两种,即“In-place”和“Side-by-Side”,“In-place”就是直接在现有服务器上进行升级安装,替代原有数据库系统。而“Side-by-Side”又分成了在原有服务器上升级和在另一台服务器上升级两种。两种策略,各有优劣,具体应根据目标和自身情况来选择。
对于工具,有几个工具非常有价值,易于使用:
http://www.microsoft.com/en-us/download/details.aspx?id=29302
这个工具收集数据库实例信息,使用规则来检测元数据保留复制配置中的异常情况,并提醒可能存在的问题。
http://go.microsoft.com/fwlink/?LinkID=239679&clcid=0x409
http://go.microsoft.com/fwlink/?LinkID=239680&clcid=0x409
分析的结果如下图所示:
可以参考下面的网址:
http://technet.microsoft.com/zh-cn/subscriptions/index/d85b0833-ddeb-42e3-9397-97ea60d521b7
http://www.scalabilityexperts.com/tools/downloads.html
UAFS使用了Playback Capture Wizard(重播捕获向导)技术提供了工作负荷捕获功能,包含了应用程序与数据库之间发生的各种不同的Transact-SQL交互操作。高质量的代码覆盖重播应包含90%以上由应用程序生成的不同类型的Transact-SQL命令。主要操作步骤包括: