睡什么睡?起来HIGH!

戴尔易安信解决方案 2018-04-25

戴尔易安信解决方案

微信号 DellEMC_Enterprise
功能介绍 戴尔易安信解决方案专注于数字化转型中的前沿技术和解决方案,内容涵盖现代化基础架构、云计算、大数据、物联网及AI等,并通过对全球,特别是中国用户的成功实践案例分析和前沿技术解读,助力企业数字化转型,快人一步!


点击“戴尔企业级解决方案”快速订阅

自从北京跑步入夏以后,

热火朝天的大干快上显然不是上策,

索性先呼朋唤友Chill out。

最近老大有点儿“头大”,

把自己没想清楚的几个题目和小目标

一股脑儿压给了哥儿几个,

正好约上龙哥一起聊聊,

撸串之余若还能

“胜读十年书”,岂不美哉!


在三环边上的小餐馆,龙哥撸着串自动开始“指点江山”,把市面上各家厂商的2U多节点服务器都给点评了一番,不愧为老司机,车开的多了,感受都要更深刻一些。


任意组合的2U“x”世界


“2U4确实省地儿啊,你想想,现在机房有几个不缺空间,不缺电的?机架空间紧张,还没有足够的电,可是IT应用却排着队等着上线,你说说,这CIO该怎么办?上虚拟化、用SDS?说起来都简单!”龙哥左手挥舞着一大把签子比划着:“当你要把几台,几十台机器组成一个集群的时候,就会发现,传统的机架式服务器并不是那么美好,复杂的网络连线,部署没你想的那么快,运维也……”


正好,我顺势把第一个问题抛了出来:“龙哥,在2U的机架空间里,2U4更适合还是2U8更适合呢?”



听到这个问题,龙哥放下签子,从手机里翻出一张图,是戴尔模块化服务器的历史演化进程,龙哥直接指着FX2开了腔:“PowerEdge FX2的三个重要特点是支持PCIe灵活分配,既能Scale-out(横向扩展)又能Scale-up(纵向扩展)……这幅图没有表现戴尔FX2在2014年发布之后还有小幅的演进优化,算上之前类似形态的刀片产品,说起来戴尔到现在在这个领域已经有十多年的积累了,肯定比刚跟风涉足2U4领域的厂商更有心得。”


龙哥点评完市场,接着回答我的问题:“如果用户需要的计算密度高,对存储没有太多要求,或者配合外接SAN存储,2U8自然是占优势了;如果用作软件定义存储(SDS),2U4的模式更适合,这样可以为存储留出足够的空间;如果对单一节点的计算性能要求高,2U2的双4路服务器节点也是可以考虑的。你看,和玩乐高堆砌一样,节点就在那里,你需要什么组合、什么形态,FX2从2U8到2U2,完美支持!”


Ceph的“3+1”


这阵子,老大还一直在追着要SDS市场分析和产品选型建议,可是这SDS市场鱼龙混杂,一时间也理不清头绪,正好抓着龙哥问问:“SDS现在除了商业化的产品,开源的大都基于Ceph环境吧?”


“的确,现在Openstack的流行,带着Ceph已经成为开源SDS的标杆了,不过要想玩儿好Ceph,是件困难的事儿……”龙哥撸完了串,“我最近刚在实验室的FX2上部署了一套Ceph的SDS环境,借助FX2的统一管理平台,可以实现快速部署Ceph环境,哥这就回去让你见识见识!”


回到实验室,龙哥拉开一个机柜的门,下面这套组合的确让我眼前一亮,我感觉已经清楚怎么在自己的环境中使用FX2了……



老司机开腔了,让我的思绪转回到“如何落地”上:


“这是一套面向高可用的关键业务系统,包括两套FX2节点,上面这套是3台FC630双路计算节点+1台FD332存储节点构成的全闪存储池+HDD存储池的SDS环境,运行的就是你刚才问的Ceph。下面的很清楚——两台FC830四路计算计算节点构成的双机高可用(HA)计算平台。”


存储即服务 看图学画“SDS”


接着龙哥开始为在FX2上搭建一套基于Ceph的Server SAN分布式存储系统做准备。“当然了,社区版的Ceph连界面都没有,不能称为产品。我这里用的是XSKY的X-EBS,XSKY(星辰天合)与戴尔同属未来就绪企业云联盟(Future Ready Enterprise Cloud Organization,FRECO)的成员,我去他们的研发机房看过,大量使用戴尔服务器,相应的优化工作肯定没问题——你知道SDS与硬件的紧密集成还是很重要的……”



龙哥给我看了这套配置:2U4节点的FX2中使用3个FC630计算节点,和一个FD332存储节点(分配给两台FC630上,形成HDD存储池);每个FC630分配至少两个PCIe扩展槽,分别安装双端口万兆网卡和PCIe NVMe SSD(形成的SSD存储池)。


整个Server SAN架构


 “理论上,使用FX2的网络模块FN IO就可以构建一套Server SAN,但这台FX2上配置的是较老的千兆模块,对于多副本数据保护机制的Server SAN来说,使用万兆网络更有利于性能发挥,所以添加一台Mellanox(迈络思)的万兆交换机来连接FX2的各个节点。”龙哥依然坚守着对架构的“完美理想”。


FX2详细的配置,纯干货放送!



FD332存储拆分秘辛之PERC


整理这套FX2的具体配置,突然想到一个问题:FD332里面的硬盘怎么分配?



设置存储资源池的第一个小目标:把FD332上的16个2.5英寸SAS硬盘分配给2个FC630节点


抬头一看,龙哥早就进入了FX2的CMC(Chassis Management Controller)管理界面。“存储模式”下面有三个选项:拆分式双主机、拆分式单主机、联合的,这都什么意思?



龙哥反问:你知道FD332是什么吗?


不就是JBOD吗?Just a Bunch of Disks,就是把一堆硬盘连在一起,供主机访问,自身没什么智能。


龙哥说:“FD332是JBOD,是叫着方便。实际上,它可不仅仅是JBOD——你听说过Dual PERC吗?”


PERC我知道,是戴尔PowerEdge RAID Controller的缩写,戴尔服务器里面全有这个组件,还有不同的型号可选。至于Dual PERC……是两个RAID控制器?


“没错!FD332支持两个RAID控制器。当然,你也可以不启用Dual PERC的RAID功能,只是把它们当成两个普通的SAS HBA使用——这对不希望底层硬件启用RAID功能的SDS软件来说,是很重要的。”



FD332后部的两个RAID控制器——Dual PERC,基于两个LSI(已被Avago收购)的SAS控制芯片,支持RAID功能。


 “那么,FD332为什么要……”


“支持Dual PERC?就是为了拆分啊!”龙哥继续解释。


原来,FD332上面的16个2.5英寸SAS/SATA硬盘或SSD,既可以全部分给一个计算节点(如FC630/430),也可以对半分给两个计算节点,这时就要用上Dual PERC——各带8个硬盘/SSD,供对应的节点使用。


“这岂不是说,由于FD332自带SAS HBA/RAID功能,计算节点上连这块儿都可以省了?”我有点儿理解龙哥对FX2的浓厚兴趣了。


“是啊,要不怎么说FX2的架构设计,把传统的内置存储功能,尽可能的与计算节点解耦了呢,这样才能初步实现存储硬件资源分配的灵活性,也有利于计算节点达到更高的密度。”说着,龙哥已经从他的电脑上调出一幅图来。



“你看,最上面的就是拆分式双主机,16个2.5英寸硬盘拆分给两个PERC,各划分给一个FC430计算节点,这样每个节点都有8个2.5英寸硬盘。就像上午跟你说的,这种4个FC430配2个FD332的组合,最适合做成超融合系统。当然,Dual PERC各连一个FC630也是可以的,就像我们现在的配置。”


“那拆分式单主机就是一台FD332上的两个PERC都连接在同一个计算节点上?而且这个计算节点还可以连接多个这样的FD332?”


“Absolutely right!”飙英文表明龙哥找到了共鸣。“16个硬盘还是拆分给两个PERC,但都划拨给同一个计算节点,这在FD332里面大量使用SSD的时候,是很有必要的,可以保证计算节点获得较高的性能,而不仅是容量。”


“联合式是不是就是更注重容量的方案?和拆分式单主机一样,也是每台FD332的全部16个2.5英寸硬盘都划给一个计算节点,也允许多台FD332连到同一个计算节点。区别在于FD332只启用一个PERC,而不是拆分给两个PERC,所以出口带宽仅为拆分式单主机的一半。如果FD332里面装的都是SSD,这个PERC可能成为性能瓶颈。”


“孺子可教啊!都会举一反三了!”一转眼的功夫,龙哥又切换到了成语模式。


“不管是三种模式中的哪一种,FD332上的PERC自身还有一些设置项吧?”


龙哥点头称是,随即转到(已配置FD332的)FC630的iDRAC界面,“这个PERC用起来和计算节点内置的PERC没啥区别,对咱们来说最重要的是这个选项:在面向比较传统的Scale-up(纵向扩展)应用时,我们可以启用PERC的RAID功能,就像是FX2内置的小型磁盘阵列;在面向SDS这种典型Scale-out(横向扩展)的场景时,则需要设置为HBA模式,CPU直通(pass through)访问SAS/SATA硬盘或SSD。”



PCIe的奥妙


看我仿佛搞明白了FD332里面的道道, 龙哥又恢复了“一切尽在掌握”的神秘笑容,问道:“你猜,FD332与FC630之间是通过什么协议连接起来的? ”


“这有什么难的,肯定是SAS啊!”我脱口而出。


“再想想,这个Dual PERC可是在FD332上的哈!”龙哥给出提示。


我一下就悟了:是PCIe!


“没错,是通过PCIe连接的。并且,结合FX2背部的8个PCIe插槽设计来看,FX2的背板核心是PCIe Switch。包括FD332、PCIe插槽以及FN IO网络模块都是通过PCIe Switch与前面的服务器节点连接。正是因为PCIe Switch的存在,所以连接更加灵活,而且也可以实现更多功能。”


都说“内行看门道”,没想到外观看似简单的一个小东西,内部设计却“别有洞天”……既然FD332的连接都可以如此灵活,借助PCIe Switch,PCIe插槽的灵活性也就毋庸置疑了。龙哥接下来的操作证明了这一点。


这是FX2当前的PCIe分配模式:



可是,为什么节点1上面会有4个PCIe插槽?


节点3又到哪里去了?这台FX2里明明是有4个半宽节点的啊。


龙哥解释说:FX2后面的8个PCIe插槽,默认分别对应一个四分之一宽插槽位。譬如,8个FC430的配置,每个FC430分到自己对应的1个PCIe插槽;4个FC630的话,每个节点分到2个PCIe插槽,以此类推。当某节点不能拥有PCIe插槽时,譬如我们这个配置里节点3是FD332,不需要也无法接入PCIe设备,它原本对应的2个PCIe插槽,就被FX2自动分配给靠前的节点,也就是节点1。


如果我们对这种“将无主的PCIe插槽追加到第一台服务器节点上”的分配方式不满,FX2也提供了另一种选项:在PCIe插槽的“设置”页面,勾选“PCIe重新分配”,FX2就会用另一种规则自动分配PCIe插槽,如下图:



与默认的自动分配方式不同,“PCIe重新分配”希望在有权瓜分PCIe插槽的节点之间尽可能做到平均分配。比如在当前的这台FX2中,其有8个PCIe插槽,无法平均分配到3台FC630服务器上,“PCIe重新分配”的策略是干脆舍弃最后面的服务器节点,将8个PCIe插槽,平均分配到靠前的2台FC630服务器上,每台FC630上会有4个PCIe插槽。


两种不同的分配方式,具体可见下面的逻辑拓扑图:



图上为PCIe默认分配方式,首先满足每个FC630上都有基本的2个PCIe插槽,再将FD332空出的2个PCIe插槽追加给第一个FC630节点;图下为开启“PCIe重新分配”选项,舍弃一个FC630节点,将8个PCIe插槽平均分配到2台FC630上。


由于我们为安装Server SAN准备的SSD资源池,需要在每个FC630上都安装1个PCIe NVMe SSD,最终还是采用了默认的PCIe插槽分配方式。


几支烟的功夫,安装Server SAN需要的硬盘资源池和SSD资源池都已经准备好了!“接下来看哥用一个小时给你装好Server SAN,还有超融合!”龙哥兴奋的说道。


能有这么快?这炎炎夏日,果然撸串就是生产力啊!