作者: 范军 (Frank Fan)
新浪微博: @frankfan7
Twitter: @frankfan7
博客: b.GetToCloud.com
原创作品,随意转载,转载时如果您能注明原始出处、作者信息和本声明就能帮助他人看到最近更新。谢谢!
如果把一个项目比作战役的话,项目经理是三军统帅,架构师就是羽扇纶巾运筹帷幄的那位.仗怎么打,就看你的你的战术和战略了。
未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也。多算胜少算,而况于无算乎!-孙子兵法
一 挑战
大型虚拟化项目涉及面广,模块关联多,架构设计师经常面临的挑战有以下几个方面:
满足客户关键需求
和关键客户的会谈的机会是很宝贵的,能否有效的挖掘商业和技术需求,直接关系到项目成败。架构师要有清晰的思路来掌控会议的话题和进程。哪些方面需要深入发掘,哪些方面大概覆盖,哪些方面暂时搁置,都要心中有个大概计划并灵活应对。
需求有了之后,设计并实施的过程中是否全面考虑满足那些需求呢?
掌控全局和深入局部
技术专家常常容易犯的一个毛病就是只见树木,不见森林。有时容易沉浸在技术细节中,而没能多着眼大布局。有时候对一个设计决定的风险和影响估计不足。
设计实施计划
技术蓝图之外,还要靠缜密的实施计划,才能有效利用资源,规避风险和保证质量及进度。
我设计了下面的架构设计图来说明了虚拟化项目的成功要素。屋顶代表客户需求,这是我们的终极目的,一切的努力都是要把这个屋顶撑起来。五棵柱子代表虚拟化项目中的关键模块。每棵柱子的技术决定都会对紧接下面一层的风险有影响。再下面的三层分别是假设条件、环境限制,客户环境。最下面的一层基础是实施计划,直接决定了项目执行的成败。
二 案例
光练不说是傻把式,光说不练是假把式,咱还是实战演习一把练练真把式。
谢谢看官耐着性子看到这儿,是不是觉得有点晕,有点乱,不知道从哪儿着手?这就对了。不只你晕,我也晕。
VCDX最后一关面试的时候是要求30分钟内对以上客户需求出个设计草案的,打仗没章法,那怎么成?我第一次VCDX面试的失利,原因之一就是因为折在这儿了。说着说着没词了,不知道下一步问考官扮演的客户什么问题,也不知道是不是满足客户需求了。
别急,咱有招儿,翠花,上模板!
三
模板
我又发明了个图(您是不是嘀咕了,我好像别的不会,就会画图凑字数,糊弄个推荐文章?)个人觉得还是有拨云见日的功效的(吹吧,接着吹~)
咱们把上面零碎地信息往这模板里一填,是不是清晰多了?
解释一下,ID是该条目的标识,而OID(Outcome
ID)是与此条目有关联的其他条目ID。好处就是标出了条目直接的关联,很容易查证是否满足的需求,并且掌握了设计决定之间的关联。
我仅仅列出了设计中较为重要的一些考虑因素,细节部分还需具体问题来具体研究。
在客户需求会议之中着重于模板的蓝色部分,会议中就有章可循。当然不指望一次会议就全弄清楚。
在设计过程中根据蓝色部分的信息,一步步勾勒出绿色部分的大致信息,然后再具体细化。
咱们就拿其中一个具体的需求来说事儿吧。
R1 客户需要把200台物理服务器虚拟化。下一步直接要考虑的就是
H1:
1 H1-目标ESXi服务器选用什么硬件?大概多少台?
环境限制中的 C3和C4以及条件假设A1 就大概决定了H1
C3:尽可能继续使用原来的服务器并说明了其配置
C4:新购买了五台服务器并说明了其配置
A1:假设15物理服务器的工作量将在1台ESXi主机上运行,那么一共200台服务器
200/15=13.3 取整后是14,再考虑额外2台主机作为Failover
Capacity, 14+2=16台
2 具体ESXi服务器的配置
H1有关联的条目(OID)是H2,H3
H2:需要按照C3来计算所需要的ESXi主机的CPU和RAM需求
Number of vCPU: socket
number * core number * 物理主机数(2 * 2 * 200 ) = 400
在第一步中我们预计需14台ESXi主机
400/14=29 一台主机需要满足29 vCPU
RAM:RAM * 物理主机数 (4 * 200)= 800 G
同理:800G/14= 58G 一台主机需要有58G的可用内存
新购服务器的配置是:
CPU physical cores:
2-cpu * quad core( 2*4) = 8
Ratio of physical core: vCPU = 8:29 = 1:4
, 还算是稳妥。
RAM: 不清楚
至少RAM要有20%的空余吧 ,
58G / 80% = 73G
这就看内存的价格了,可能上128G比较合适
可是我们只有5台新服务器啊,16-5=11, 还有11台没着落呢。
别忘了条件限制中的C3:尽可能使用已有服务器
已有服务器只有4G RAM,这就肯定需要扩容到最大支持的内存了。
还有一个案例中透露的细节是,200台主机是分3个阶段来虚拟化的。为什么?第一是 根据需求R2来制定执行计划P1: 把关键应用的服务器放在最后一个阶段。 第二:我们可以利用虚拟化完成后的服务器,作为ESXi主机来补充新购服务器的不足
经过以上分析,是不是主机和集群的框架就出来了?
还没完呢,存储网络的事儿还没说呢,很多看官耐着性子听我罗嗦到这儿,谢谢了。咱还是下回分解吧。
No comments:
Post a Comment