Gregg Ferguson 如何将 1500 节点无盘服务器群发展成为完全虚拟化系统
作者:Gregg Ferguson
我们最初是想把工程测试实验室设在三角研究园,以满足 NetApp 内部不断增长需求:能够针对大型网格或服务器群测试产品,并快速重现顾客在这种环境中可能遇到的问题。我们最初计划使用服务器刀片,其中每个刀片都是从本地磁盘启动。但随着项目进展我们开始明白,将启动映像复制到上千个本地磁盘所需的时间和管理开销,会导致配置和管理集群的时间超过运行实际测试。
因此,我们在设计测试实验室时包括了通过 iSCSI 启动的 1,120 个服务器刀片。我们给这个实验室取名为 Kilo-Client,并相信其在 2005 年启动时会成为全世界最大的基于 iSCSI 的无盘服务器群(可能现在还是!)。后来我们还添加了 98 个带 iSCSI HBA 的刀片和 280 个能够通过光纤通道启动的刀片。查看特定硬件和软件组件的选项。
结果:1,500 节点服务器群将高度的性能和灵活性融入到仅占 389 平方英尺多一点的空间中。
尽管 Kilo-Client 目前多少仍保持着它在开始时的动机,但这个实验室已经发展到了可与新兴技术媲美的程度。此外,在过去的两年中,我们掌握了许多有关操作和维护大型环境的知识。本文着重介绍了目前测试实验室设计当中客户和合作伙伴最感兴趣的几个方面,包括:
- 快速配置服务器
- 配置虚拟环境
- 通过 iSCSI、FC 和 NFS 启动
- 通过 10 千兆位以太网实现 iSCSI
- 管理自动化
- 简化配置
- 数据中心冷却
但在深入探究之前,我想让大家明白 Kilo-Client 仅建立在五、六种不同技术的基础之上,其中每种技术目前都在成百上千个 NetApp 客户的网站上使用。建立体系结构很大程度上就是将所有这些要素整合到单个基础设施中,其中每个要素我都在担任 NetApp 系统工程师时接触过。
简言之:每一位 NetApp 客户都可以利用我们测试实验室中的一切资源。
快速配置服务器
我们早期的一个目标是快速配置能够符合特定测试特点的计算网格。这就意味着必须能够通过任意操作系统/应用程序环境快速启动服务器。我们使用 NetApp FlexClone® 技术解决了此问题,从而能够快速创建系统映像,而无需对这些映像进行完全的物理拷贝。
这样,就为服务器群中所需的每个操作系统和应用程序堆栈创建一套"黄金"启动映像(如 iSCSI、光纤通道 SAN LUN)。使用 SnapMirror® 和 FlexClone,我们可快速复制出数百个克隆(每台配置用于测试的服务器一个 FlexClone 克隆);仅需将特定于主机的"个性化"添加到每个受配置服务器的核心映像。这种独特方法提供的近乎即时的映像配置几乎不占任何空间(只需将不同的映像块添加到存储系统,由
存储系统来跟踪各个映像),从而使我们在数分钟内即可配置并启动全部或部分近 1500 个刀片。
虚拟环境
尽管我们的方法非常有效,我们最终发现仅配置服务器环境还不够。NetApp 工程师需要、并且我们必须能够做到的就是快速配置完整的虚拟环境,其中包括计算网格、互连 Fabric 及存储网格。
这正是我们现在所做的工作。我们可以自动配置几乎可运行所有操作系统(包括 VMware)的计算网格,并通过 vLAN (IP)、vSAN(光纤通道)、NFS 甚至通过 CIFS(我们无法通过 CIFS 启动,但可以测试 CIFS 功能)将其连接至五个可能的存储网格中的任意一个。典型的虚拟环境(可能包括 100 个服务器、多个操作系统及五至六个存储控制器)通常可在一个小时或更短时间内就可启动运行。我们创建过的最复杂的环境花了近 10 个小时才启动运行,它包括 500 个服务器、30 个 NetApp FAS 6070、72 个 300GB FC 驱动器托架(约 500TB)及 Data ONTAP® GX 操作系统。
图 1)真正的虚拟环境。
无论何时,我们的实验室都在运行着 12 到 15 个虚拟环境,用于从产品和互操作性测试、故障诊断到概念验证测试的一切任务。您可以通过中断服务器并创建该系统的空间高效的派生克隆(使用 FlexClone)来预先进行测试。甚至在其它系统上(虽然具有同样的体系结构),也可以保存或与其他用户共享任何环境的测试配置,并在数月或数年后重新运行。构建环境之后,再也不需要重新构建。比如说,我们构建了 Red Hat Linux® 环境并且团队要求该环境加载 Oracle 10g™。测试完毕后,他们可以创建克隆,并且将来必要时可重新使用该预配置环境。
最后一个要强调的是,您可以在世界各地访问和管理这些虚拟环境。在 NetApp 全球六个公司就职的工程师或全球任何位置的 NetApp 系统工程师都可以远程规划资源并运行测试。
最初的 Kilo-Client 设计允许我们使用硬件启动端 (iSCSI HBA) 通过 iSCSI 来启动服务器刀片。现在我们可使用以下四种方法种的任意一种来启动服务器:
- 使用硬件启动端(1,218 个刀片)通过 iSCSI 来启动
- 使用软件启动端(整个环境)通过 iSCSI来启动
- 使用 FC HBA(280 个刀片)通过光纤通道来启动)
- 通过 NFS(整个环境)来启动
这样我们就可以测试并比较各种环境和启动方法。如果我们并非专门测试启动方法,则可根据测试要求来定制方法。比如,如果有人想通过故障注入来执行光纤通道测试,我们一般会通过 iSCSI 或 NFS 来启动正用于进行其它测试的服务器,从而闲置光纤通道以便进行测试。
通过 10GBE 实现 iSCSI
不久以前,在 blade.org 赞助的一次活动中有人要求我就 Kilo-Client 的设计发表演讲。我讲完之后,几乎在场的所有供应商都希望把他/她的新技术出售给我用于 Kilo-Client。某个销售人员过度热情,我甚至躲进了洗手间!
到家时,我看了一下那些硬塞给我的所有名片,发现有几个供应商可提供 10 千兆位以太网产品。我给他们一一打了电话,最后我们通过 IBM Blade Center 制作了一个测试套件,连接 NetApp 集群的 NetXen 控制器也配备了 10 千兆位以太网卡。最后确定了采用端到端 10 千兆位以太网的配置,可使用 iSCSI 进行无盘启动。我们将该配置带到了新奥尔良的一次活动当中,在那里引起了广泛的关注,该硬件又相继在巴黎和新加坡展出(尽管我没有去)。
到目前为止,我们已完成大部分功能测试,该体系结构让我们能够对 10 千兆位以太网与光纤通道以及希望测试的其它产品进行大范围的性能比较。
自动化配置管理
创建 Kilo-Client 时,我们有一些脚本可用来帮助处理配置及相关事项。由于可以随意使用,这是薄弱的环节。现在,我们的工作遵循可预测模式,这包括规划'配置'监控'根据负载调节资源'撤消配置'重新规划,等等。
我们有一个自动化框架,可以处理所有这些任务的大约 70%,这是一个很大的进步。受困于可扩展性问题的客户对我们的管理方法很感兴趣,因为它体现了数量极为有限的员工可以如何有效地管理动态、高容量、高要求的环境。
简化配置
在 Gartner 的一名分析人员指出 Kilo-Client 是现实中的一个规模最大、最好的简化配置实例之前,我实际上从未将"简化配置"这个术语与 Kilo-Client 关联起来。他说得对,我们的实验室极具空间效益,可提供 1500 倍以上的容量效率,因为克隆映像 (LUN) 仅占用启动映像更改所需的额外磁盘空间。
比如,我们想使用 Red Hat Linux 启动所有 1,498 个服务器。我们的测试实验室需要的存储总量是 7.63TB(假定七个启动存储系统每个需要 20GB,每个刀片需要 5GB)。在传统的服务器群(甚至采用传统的无盘启动)中,每个服务器足足需要 20GB,这样我们的存储总量就需要 30TB。天啊!正如我前面所说,配置和管理集群所花的时间比运行测试的时间还要多。
针对紧密配置的冷却设计
人们经常问我一个问题,"您究竟有什么办法来冷却这个庞然大物?"其部分原因与我描述的简化配置的特点有关:它需要冷却的热量远不及传统环境中的热量。
固然,将 1,500 个刀片、7102 个 Fabric 端口和 87 个存储控制器集中到一个区域,设备确实是非常密集。在我们原来的数据中心,我们采用的是一种热通道/冷通道方法。我们在设备的前面(吸入空气的地方)添加了额外的冷却设备,从而制作了一个冷通道。这使得由前至后形成了 30 度角。
最近我们迁移到了新的数据中心,并在新实验室中采取了一种不同的方法-建立了一个制冷室。我们购买了全新的地板到天花板式机柜,并确保由前至后的所有缝隙都已完全密封,从而形成一个空调系统。设备前面的冷气只能在设备内流动,并且也决不会与设备后面散出的热气混合在一起。冷空气一侧的气压也要稍高一些,以确保气流仅往一个方向流动。使用此方法,我们在实验室中实现了约 8 千瓦的冷却效果,而先前的设计只能达到 4 千瓦。
有时,一些来访者会询问我们是否使用受控电源条带来给那些未使用的客户端断电。实话说,我们甚至都没这样想过,因为从第一天起我们的目标就一直是要达到 100% 的利用率。这些服务器都受到 100% 的利用,并且会彻夜运行自动化测试,因此从来不会关闭。
摘要
在过去的两年中,我们掌握了许多有关管理大型环境的知识。我们也从客户和分析人士那里了解到该体系结构影响到了他们考虑技术和数据中心设计的方式。主要优点包括:
- 服务器配置时间大幅缩减
- 在基础设施的快速重新配置方面实现了极大的灵活性
- 只需小型团队即可管理基础设施
- 保存并重新使用已经配置的环境
该基础设施的最终保证是可扩展性强。公司如何在不增加 30% 比率的硬件的情况下实现 30% 的增长?许多公司都无法继续快速地扩建数据中心来适应增长,并且我们现在所使用的技术类型可能要依掌握时间而定。
了解详细信息
在此我已谈到了许多不同话题,但由于空间限制,我无法对其中的任何话题进行详述。虽然 Kilo-Client 体系结构是一个动态目标,但还可使用其他的资源。最近,EMA 发布了一份白皮书,提供了对 Kilo-Client
体系结构的外部评价. 2007 年 1 月的 一项
技术案例研究 也提供了详细信息