写点什么

Windows Server 基础架构云参考架构:硬件之上的设计

  • 2014-01-27
  • 本文字数:2512 字

    阅读完需:约 8 分钟

综述

毫无疑问,移动互联网、社交网络、大数据和云计算已经成为 IT 发展的四个大的趋势。其中云计算又为前三个提供了一个理想的平台。今天不仅互联网公司,很多传统行业的大中型企业也在建设自己的私有云。本文旨在介绍一个基于 Windows Server 2012 和 System Center 2012 SP1 构建基础架构云其硬件部分的参考架构。

设计目标

  • 从运维角度,整个架构应该易于扩展,从小到 4 个机柜至大到整个数据中心可以方便的进行扩展和容量规划。
  • 从用户的角度,整个架构应该可以兼容不同的应用类型,比如对计算敏感型,大内存型,和 IO 密集型等不同类型。
  • 从服务交付的角度,整个架构应该能够满足不同的服务等级需求,如需要高可用的和无需高可用的。
  • 从经济型角度,整个架构应该不依赖特定的硬件厂商或产品。

Windows Server 基础架构云的参考架构

Windows Server 基础架构云的参考架构如下:

图 1 Windows Server 基础架构云的参考架构

本文中我们将集中讨论上面参考架构中的硬件设计部分。

为了实现前面拟定的设计目标,我们采用的模型首先要保证在计算和存储之间实现松耦合,只有这样才能保证我们更灵活地调度计算、存储、网络三种基础资源,组建足够体量的资源池按需承载不同类型的应用。基于相同的目的,我们采用了集中的存储而不是使用更低成本的直连存储。虽然直连存储的成本更低,但我们所采用的存储方案具有更高的可靠性,弹性和灵活性,这些都是企业非常关注的。另外,我们没有采用传统的光纤存储而代以新的完全基于网络的文件共享存储,这样的好处是相对于光纤存储, 硬件采购成本较低,而且降低系统复杂度以及维护成本,但这样设计要求网络的部分必须具备足够的可靠性和高性能来满足 IO 密集型的需求。

图 2 Windows Server 基础架构云的硬件架构模型

标准 IaaS SKU

企业内部系统传统上主要通过冗余来实现高可用,例如对于一台服务器,所有的组件能冗余的都要冗余(比如内存、硬盘、网卡、电源),有的系统甚至实现了主板、CPU 的冗余,但这样一来就意味着要投入昂贵的硬件。与此不同的是,市场上主流的公有云服务商为了给大部分客户提供低成本的服务,将高可用的责任很多时候交给用户来处理,比如要求用户的应用需要具备弹性能力(resilience),将相同角色的多个实例部署在不同的 Fault Domain/Update Domain 中来提高整个服务的高可用性。在本设计中我们借鉴了公有云的这一经验,不要求采用如此高度冗余的设备,相反我们的故障单元是机柜而不是里面某台服务器或存储,也就是说我们关注的是跨机柜的可靠性,包括了基础架构、平台、应用和数据。但同时考虑到对于私有云,更多的时候面临的是将企业现有的应用迁移到云上,这些应用很可能不能很好的处理 stick session 等问题,很难通过横向扩展多个无状态的实例来实现高可用,故而私有云 IaaS 在设计时还是应该考虑到为传统应用,甚至为传统上很难实现高可用的应用提供基础架构层级的高可用性服务。在这个设计中对于没有高可用性需求的用户,也可以在下面的设计中增加非群集的 Hyper-V 服务器和存储服务器来提供不同服务等级的服务。

图 3 标准 IaaS SKU 的构成

计算节点的设计

对于计算节点我们设计了两组网络,所有的虚拟机发生的网络访问流量都走租户网络上的虚拟网络,而虚拟机发生的存储访问流量都重定向到物理机操作系统通过数据中心网络使用具备 SMB Direct 的 SMB3 协议直接同文件服务器群集通讯。

图 4 计算节点的实现

租户网络和数据中心网络在计算节点的用途小结如下:

租户网络用于:

  • 租户到租户的通讯
  • 租户到外部的通讯

数据中心网络用于:

  • 到存储节点的通讯(也就是到文件服务器,使用 RDMA 网卡)
  • 虚拟机的实时迁移
  • 虚拟机存储的实时迁移
  • 群集心跳线

下面是一个标准的计算节点的硬件配置:

项目

标准配置

处理器

Intel Sandy Bridge CPU, 2 Socket x 6 cores (ES2640, Core frequency 2.5 GHz) = 12 cores

内存

16 DIMM x 8 GB = 128 GB

存储

内置 200 GB SSD (eMLC)

网络

2 x 10 GbE onboard (虚拟机所用的网络)

2 x 10 GbE mezzanine with RDMA (用于访问存储节点、管理和实时迁移)

表 1 计算节点的标准配置

存储节点的设计

本设计中采用的存储架构是基于 Windows Sever 2012 的故障转移群集。以两节点来实现连续高可用(Continuous Availability)。为了提高性能,减少对于主机 CPU 的压力,采用了 RDMA 网卡,借助 Windows Server 2012 的 SMB3 文件服务器为计算节点提供 Hyper-V 虚拟机的存储。

图 5 存储节点的实现

存储节点通过 SAS HBA 卡连接了共享的 SAS 接口硬盘柜,每个节点到磁盘柜额带宽高达 48Gb/s (2x4x6Gb/s)。

这里的数据中心网络用于:

  • 到计算节点的通讯
  • Storage Space 重定向流量
  • 备份和复制流量

下面是一个标准的计算节点的硬件配置:

项目

标准配置

处理器

Intel Sandy Bridge CPU, 2 Socket x 6 cores (Core frequency 2.5 GHz) = 12 cores

内存

16 x 8 GB = 128 GB

存储

2 x 10 GbE mezzanine with RDMA

网络

132 x 2.5” 10K SAS 900 GB Drives

2 x JB9

表 2 存储节点的标准配置

下图展示了计算节点和存储节点的连接方式

图 6 计算节点和存储节点的连接

网络的冗余设计

本设计中使用的网络三层都有冗余,他们分别是:

  • 每个数据中心 2 个汇聚层交换机
  • 每个机柜 2 个租户网络交换机
  • 每个机柜 2 个数据中心网络交换机

网络 Trunk 设置:

  • 4 x 10 GbE 租户网络接口聚合
  • 4 x 10 GbE 数据中心网络接口聚合 -> Aggregate
  • 16 x 10 GbE 聚合到核心交换

下面是示意图:

图 7 网络的冗余设计

小结

企业在设计自己的基础架构云时可以考虑采用或者部分采用上面的设计,事实上微软自己的很多产品已经采用了上面的设计,比如微软 SQL Server 2012 的并行数据仓库(PDW)就采用了类似的架构。微软自己的模块化数据中心也是采用一样的架构。

由于篇幅所限,我们讨论硬件之上的设计,正如我们一开始所说的,我们的目标之一就是用应用的弹性取代对于硬件冗余的需求,当我们把一个机柜最为一个故障单元的时候,如何跨机柜、甚至跨数据中心来调度、部署应用就显得非常重要。这个部分我们将在以后进行介绍。


感谢马国耀对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-01-27 03:012721

评论

发布
暂无评论
发现更多内容

还在stream中使用peek?不要被这些陷阱绊住了

程序那些事

Java java8 程序那些事 JDK20

如何通过Java代码在Word中创建可填充表单

在下毛毛雨

Java 表单 word文档

全网爆火!阿里内部产出的Java面试核心手册震撼开源了,太香了

开心学Java

Java 面试 春招 java Java八股文 Java 面试题

苹果M1芯片的Mac怎么关闭SIP?M1 mac关闭Sip方法教程!

互联网搬砖工作者

腾讯大神耗时三年,立足实际开发的巅峰之作,详解高并发程序设计

做梦都在改BUG

Java 程序设计 高并发

金三银四互联网大厂精选1160道Java面试题答案整理(2023最新版)

架构师之道

编程 程序员 java面试

初学后端,如何做好表结构设计?

王中阳Go

Go golang 数据库 表结构 golang 面试

跟着字节AB工具DataTester,5步开启一个实验

字节跳动数据平台

大数据 云服务 AB testing实战 ab测试 企业号 3 月 PK 榜

使用流水线插件实现持续集成、持续部署

北京好雨科技有限公司

Kubernetes CI/CD rainbond

ByteHouse:基于ClickHouse 的实时计算能力升级

字节跳动数据平台

大数据 云原生 flink 消费 kafka Clickhouse 企业号 3 月 PK 榜

CloudCanal 落地 StarRocks 数据迁移同步的实践与思考

StarRocks

数据库

中国全屋智能市场将达万亿级,仅3.5%住宅渗透率拥有巨大潜力

Geek_2d6073

Flink 在中泰证券的实践与应用

Apache Flink

大数据 flink 实时计算

软件测试/测试开发丨一文带你了解接口测试价值与体系

测试人

软件测试 自动化测试 测试开发

NFTScan 与 DeBox 达成合作,双方在 NFT 社交数据层面展开合作

NFT Research

NFT

不可错过!Arm 、Intel 及阿里云等资深技术专家现场解读系统安全

OpenAnolis小助手

系统安全 Meetup 龙蜥社区 sig 机密计算

面试被怼:技术更新这么快,你还不懂响应式微服务就out了

做梦都在改BUG

Java spring 微服务 响应式

开源订单管理系统

源字节1号

开源 软件开发 小程序开发

企业数智化转型不仅是可行的,还是必行!

加入高科技仿生人

人工智能 低代码 制造业 数智化

pytest学习和使用4-pytest和Unittest中setup、teardown等方法详解和使用(最全)

Python 自动化测试 unittest 测试框架 pytest

龙蜥自动化平台 SysOM 2.1 热补丁中心介绍 | 第 74 期

OpenAnolis小助手

直播 系统运维 龙蜥大讲堂 SysOM 补丁

终于有人把Java面试高分Guide总结得如此系统,堪称傻瓜式笔记总结

采菊东篱下

java面试

快速掌握网站监控关键数据:仪表盘的创建与管理

云智慧AIOps社区

监控 监控宝 监控工具 云智慧 网站监控

pytest学习和使用3-对比unittest和pytest脚本在pycharm中运行的方式

Python 自动化测试 pytest

百度CTO王海峰:全栈AI技术加持,打造新一代大语言模型文心一言

飞桨PaddlePaddle

好用的Java开发工具:IntelliJ IDEA 2022v2022.3.3汉化激活版

真大的脸盆

Java Mac Mac 软件 Java 开发

2023中国儿童防敏市场发展洞察

易观分析

医疗 防敏 儿童

adobe安装提示错误“Error:SyntaxError:JSON Parse error:Unexpected EOF”

互联网搬砖工作者

软件工程高效学 | 软件的内涵与危机

TiAmo

软件工程 软件开发

百度文库接入文心一言,国内首个生成式AI文档服务即将上线

Geek_2d6073

软件测试/测试开发丨接口测试必备技能-常见接口协议解析

测试人

软件测试 自动化测试 测试开发

Windows Server基础架构云参考架构:硬件之上的设计_Windows_王枫_InfoQ精选文章