没有双手的管理=超融合?

没有双手的管理=超融合?
没有双手的管理=超融合?

这是服务器硬件领域很常见的一个神话。 在实践中,许多事情都需要超融合解决方案(当一切都合而为一时)。 从历史上看,第一个架构是由亚马逊和谷歌为其服务开发的。 当时的想法是用相同的节点创建一个计算场,每个节点都有自己的磁盘。 所有这些都由一些系统形成软件(管理程序)统一起来,并被划分为虚拟机。 主要目标是为一个节点提供最少的服务,并在扩展时将出现的问题最少:只需购买另外一千或两台相同的服务器并在附近连接它们即可。 在实践中,这些都是孤立的情况,而且更多时候我们谈论的是较少数量的节点和略有不同的架构。

但优点仍然是一样的——令人难以置信的轻松扩展和管理。 缺点是不同的任务消耗资源不同,有的地方本地磁盘很多,有的地方RAM很少,等等,即对于不同类型的任务,资源利用率会降低。

事实证明,为了方便设置,您需要多支付 10-15% 的费用。 这就是引发标题中神话的原因。 我们花了很长时间寻找该技术的最佳应用场景,最终我们找到了。 事实上,思科没有自己的存储系统,但他们想要一个完整的服务器市场。 他们制作了 Cisco Hyperflex - 一种在节点上提供本地存储的解决方案。

这突然被证明是备份数据中心(灾难恢复)的一个非常好的解决方案。 我现在就告诉你原因和方法。 我将向您展示集群测试。

需要的地方

超融合是:

  1. 将磁盘传输到计算节点。
  2. 存储子系统与虚拟化子系统完全集成。
  3. 与网络子系统的传输/集成。

这一组合使您可以在虚拟化级别实现许多存储系统功能,并且全部通过一个控制窗口实现。

在我们公司,设计冗余数据中心的项目需求量很大,并且由于具有大量开箱即用的复制选项(最多可达城域集群),因此通常会选择超融合解决方案。

就备份数据中心而言,我们通常谈论的是位于城市另一端或完全位于另一个城市的站点上的远程设施。 它允许您在主数据中心发生部分或完全故障时恢复关键系统。 销售数据不断地在那里复制,这种复制可以在应用程序级别或在块设备(存储)级别。

因此,现在我将讨论系统设计和测试,然后讨论一些储蓄数据的实际应用场景。

测试

我们的实例由四台服务器组成,每台服务器都有 10 个 960 GB 的 SSD 驱动器。 有专门的磁盘用于缓存写操作和存储服务虚拟机。 解决方案本身是第四个版本。 第一个坦率地说是粗糙的(从评论来看),第二个是潮湿的,第三个已经相当稳定,而这个可以称为公众测试结束后的发布。 在测试过程中我没有发现任何问题,一切都像时钟一样工作。

v4 中的变化修复了一系列错误。

最初,该平台只能与 VMware ESXi 虚拟机管理程序配合使用,并支持少量节点。 此外,部署过程并不总是成功结束,某些步骤必须重新启动,从旧版本更新存在问题,GUI中的数据并不总是正确显示(尽管我仍然对性能图的显示不满意) ),有时在与虚拟化的接口上会出现问题。

现在所有童年问题都已得到解决,HyperFlex 可以处理 ESXi 和 Hyper-V,此外还可以:

  1. 创建延伸集群。
  2. 在不使用 Fabric Interconnect 的情况下为办公室创建一个集群,从两个到四个节点(我们只购买服务器)。
  3. 能够与外部存储系统配合使用。
  4. 支持容器和 Kubernetes。
  5. 创建可用区。
  6. 如果内置功能不令人满意,则与 VMware SRM 集成。

该架构与其主要竞争对手的解决方案没有太大区别;他们没有创造自行车。 它全部运行在 VMware 或 Hyper-V 虚拟化平台上。 该硬件托管在专有的 Cisco UCS 服务器上。 有些人讨厌这个平台,因为初始设置相对复杂,有很多按钮,模板和依赖关系的不平凡的系统,但也有些人已经学习了 Zen,受到这个想法的启发,不再想要与其他服务器一起工作。

我们将考虑针对VMware的解决方案,因为该解决方案最初是为其创建的并且具有更多功能;在此过程中添加了Hyper-V,以便跟上竞争对手并满足市场期望。

有一个装满磁盘的服务器集群。 有用于数据存储的磁盘(SSD 或 HDD - 根据您的喜好和需求),有一个 SSD 磁盘用于缓存。 当向数据存储写入数据时,数据保存在缓存层(服务虚拟机的专用SSD磁盘和RAM)。 同时,数据块被发送到集群中的节点(节点数量取决于集群复制因子)。 所有节点确认记录成功后,记录确认信息将发送至虚拟机管理程序,然后发送至虚拟机。 记录的数据在后台进行重复数据删除、压缩并写入存储磁盘。 同时,大块总是顺序写入存储磁盘,减少了存储磁盘的负载。

重复数据删除和压缩始终启用且无法禁用。 数据直接从存储磁盘或RAM 缓存中读取。 如果使用混合配置,读取也会缓存在 SSD 上。

数据不依赖于虚拟机的当前位置,并且在节点之间均匀分布。 这种方法允许您平等地加载所有磁盘和网络接口。 有一个明显的缺点:我们无法尽可能地减少读取延迟,因为无法保证本地数据的可用性。 但我认为,与所获得的好处相比,这只是一个小小的牺牲。 此外,网络延迟已经达到了几乎不会影响整体结果的程度。

每个存储节点上创建一个特殊的服务VM Cisco HyperFlex数据平台控制器,负责磁盘子系统的整个操作逻辑。 在我们的服务虚拟机配置中,分配了 72 个 vCPU 和 28 GB RAM,这并不算少。 让我提醒您一下,主机本身有 512 个物理核心和 XNUMX GB RAM。

业务虚拟机通过将SAS控制器转发给虚拟机,直接访问物理磁盘。 与虚拟机管理程序的通信通过特殊的 IOVisor 模块进行,该模块拦截 I/O 操作,并使用允许您向虚拟机管理程序 API 发送命令的代理。 该代理负责使用 HyperFlex 快照和克隆。

磁盘资源作为 NFS 或 SMB 共享安装在虚拟机管理程序中(根据虚拟机管理程序的类型,猜猜哪一个在哪里)。 在底层,这是一个分布式文件系统,允许您添加成熟的成熟存储系统的功能:精简卷分配、压缩和重复数据删除、使用写入时重定向技术的快照、同步/异步复制。

服务VM提供对HyperFlex子系统WEB管理界面的访问。 与 vCenter 集成,大多数日常任务都可以从中执行,但例如,如果您已经切换到快速 HTML5 界面,或者使用成熟的 Flash 客户端,则可以更方便地从单独的网络摄像头中剪切数据存储完全集成。 在服务网络摄像头中,您可以查看系统的性能和详细状态。

没有双手的管理=超融合?

集群中还有另一种类型的节点——计算节点。 这些服务器可以是没有内置磁盘的机架式或刀片式服务器。 这些服务器可以运行虚拟机,其数据存储在带磁盘的服务器上。 从数据访问的角度来看,节点类型之间没有区别,因为架构涉及对数据物理位置的抽象。 计算节点与存储节点的最大比例为2:1。

使用计算节点可以提高扩展集群资源时的灵活性:如果我们只需要 CPU/RAM,则无需购买带有磁盘的额外节点。 此外,我们还可以添加刀片笼并节省服务器的机架布局。

因此,我们拥有一个具有以下功能的超融合平台:

  • 集群中最多 64 个节点(最多 32 个存储节点)。
  • 集群中的最小节点数为三个(边缘集群为两个)。
  • 数据冗余机制:复制因子2和3的镜像。
  • 地铁集群。
  • 异步虚拟机复制到另一个 HyperFlex 集群。
  • 将虚拟机切换到远程数据中心的编排。
  • 使用写入时重定向技术的本机快照。
  • 在复制因子 1 且不进行重复数据删除的情况下,可用空间高达 3 PB。 我们不考虑复制因子 2,因为这不是严肃销售的选择。

另一个巨大的优点是易于管理和部署。 设置 UCS 服务器的所有复杂性均由思科工程师准备的专用虚拟机处理。

测试台配置:

  • 2 个 Cisco UCS Fabric Interconnect 6248UP 作为管理集群和网络组件(48 个端口在以太网 10G/FC 16G 模式下运行)。
  • 四台 Cisco UCS HXAF240 M4 服务器。

服务器特点:

中央处理器

2 个英特尔® 至强® E5-2690 v4

内存

16 个 32GB DDR4-2400-MHz RDIMM/PC4-19200/双列/x4/1.2v

商业网络

UCSC-MLOM-CSC-02(维多利亚州 1227)。 2 个 10G 以太网端口

存储主机卡

思科 12G 模块化 SAS 直通控制器

存储磁盘

1 个 SSD Intel S3520 120 GB、1 个 SSD 三星 MZ-IES800D、10 个 SSD 三星 PM863a 960 GB

更多配置选项除了选定的硬件之外,当前还提供以下选项:

  • HXAF240c M5。
  • 一到两个 CPU,范围从 Intel Silver 4110 到 Intel Platinum I8260Y。 第二代可用。
  • 24 个内存插槽,从 16 GB RDIMM 2600 到 128 GB LRDIMM 2933。
  • 6至23个数据盘、XNUMX个缓存盘、XNUMX个系统盘和XNUMX个启动盘。

容量驱动

  • HX-SD960G61X-EV 960GB 2.5 英寸企业级 6G SATA SSD(1 倍耐用性)SAS 960 GB。
  • HX-SD38T61X-EV 3.8TB 2.5 英寸企业级 6G SATA SSD(1 倍耐用性)SAS 3.8 TB。
  • 缓存驱动器
  • HX-NVMEXPB-I375 375GB 2.5 英寸英特尔傲腾驱动器,极致性能和耐用性。
  • HX-NVMEHW-H1600* 1.6TB 2.5 英寸入门级性能。 NVMe SSD(3 倍耐用性)NVMe 1.6 TB。
  • HX-SD400G12TX-EP 400GB 2.5 英寸入门级性能。 12G SAS SSD(10 倍耐用性)SAS 400 GB。
  • HX-SD800GBENK9** 800GB 2.5 英寸入门级性能。 12G SAS SED SSD(10 倍耐用性)SAS 800 GB。
  • HX-SD16T123X-EP 1.6TB 2.5 英寸企业级性能 12G SAS SSD(3 倍耐用性)。

系统/日志驱动器

  • HX-SD240GM1X-EV 240GB 2.5 英寸企业级 6G SATA SSD(需要升级)。

引导驱动器

  • HX-M2-240GB 240GB SATA M.2 固态硬盘 SATA 240 GB。

通过 40G、25G 或 10G 以太网端口连接到网络。

FI 可以是 HX-FI-6332 (40G)、HX-FI-6332-16UP (40G)、HX-FI-6454 (40G/100G)。

测试本身

为了测试磁盘子系统,我使用了 HCIBench 2.2.1。 这是一个免费实用程序,允许您自动从多个虚拟机创建负载。 负载本身是由通常的fio产生的。

我们的集群由四个节点组成,复制因子为3,所有磁盘都是闪存。

为了进行测试,我创建了四个数据存储和八个虚拟机。 对于写入测试,假设缓存磁盘未满。

测试结果如下:

100% 读取 100% 随机

0% 读取 100% 随机

块/队列深度

128

256

512

1024

2048

128

256

512

1024

2048

4K

0,59 毫秒 213804 IOPS

0,84 毫秒 303540 IOPS

1,36 毫秒 374348 IOPS

2.47 毫秒 414116 IOPS

4,86 毫秒 420180 IOPS

2,22 毫秒 57408 IOPS

3,09 毫秒 82744 IOPS

5,02 毫秒 101824 IPOS

8,75 毫秒 116912 IOPS

17,2 毫秒 118592 IOPS

8K

0,67 毫秒 188416 IOPS

0,93 毫秒 273280 IOPS

1,7 毫秒 299932 IOPS

2,72 毫秒 376,484 IOPS

5,47 毫秒 373,176 IOPS

3,1 毫秒 41148 IOPS

4,7 毫秒 54396 IOPS

7,09 毫秒 72192 IOPS

12,77 毫秒 80132 IOPS

16

0,77 毫秒 164116 IOPS

1,12 毫秒 228328 IOPS

1,9 毫秒 268140 IOPS

3,96 毫秒 258480 IOPS

3,8 毫秒 33640 IOPS

6,97 毫秒 36696 IOPS

11,35 毫秒 45060 IOPS

32

1,07 毫秒 119292 IOPS

1,79 毫秒 142888 IOPS

3,56 毫秒 143760 IOPS

7,17 毫秒 17810 IOPS

11,96 毫秒 21396 IOPS

64

1,84 毫秒 69440 IOPS

3,6 毫秒 71008 IOPS

7,26 毫秒 70404 IOPS

11,37 毫秒 11248 IOPS

粗体表示生产率没有增加,有时甚至可见下降的值。 这是因为我们受到网络/控制器/磁盘性能的限制。

  • 顺序读取 4432 MB/秒。
  • 顺序写入 804 MB/秒。
  • 如果一个控制器发生故障(虚拟机或主机发生故障),性能会成倍下降。
  • 如果存储磁盘出现故障,则回撤为 1/3。 磁盘重建占用每个控制器5%的资源。

在小块上,我们受到控制器(虚拟机)性能的限制,其CPU负载为100%,当块增加时,我们受到端口带宽的限制。 10 Gbps 不足以释放 AllFlash 系统的潜力。 不幸的是,所提供的演示站的参数不允许我们测试 40 Gbit/s 的操作。

根据我的测试和研究架构的印象,由于在所有主机之间放置数据的算法,我们获得了可扩展的、可预测的性能,但这也是读取时的限制,因为有可能从本地磁盘中挤出更多内容,这里可以节省一个更高效的网络,例如可以使用 40 Gbit/s 的 FI。

此外,用于缓存和重复数据删除的一个磁盘可能是一个限制;事实上,在这个测试台中,我们可以写入四个 SSD 磁盘。 如果能够增加缓存驱动器的数量并看到差异,那就太好了。

实际使用

要组织备份数据中心,您可以使用两种方法(我们不考虑将备份放置在远程站点):

  1. 主动-被动。 所有应用程序都托管在主数据中心。 复制是同步或异步的。 如果主数据中心出现故障,我们需要激活备份数据中心。 这可以手动/脚本/编排应用程序来完成。 这里我们会得到一个与复制频率相称的RPO,而RTO则取决于管理员的反应和技能以及切换计划的开发/调试质量。
  2. 主动-主动。 在这种情况下,只有同步复制;数据中心的可用性由严格位于第三站点的仲裁/仲裁器决定。 RPO = 0,RTO可以达到0(如果应用允许)或等于虚拟化集群中节点的故障转移时间。 在虚拟化级别,创建需要主动-主动存储的延伸(Metro)集群。

通常我们看到客户已经在主数据中心实现了具有经典存储系统的架构,因此我们设计了另一个用于复制的架构。 正如我提到的,思科 HyperFlex 提供异步复制和延伸虚拟化集群创建。 同时,我们不需要中端及更高级别的专用存储系统,具有昂贵的复制功能和两个存储系统上的双活数据访问。

1脚本: 我们拥有主数据中心和备份数据中心,以及基于 VMware vSphere 的虚拟化平台。 所有生产系统都位于主数据中心,虚拟机的复制在虚拟机管理程序级别执行,这将避免虚拟机在备份数据中心保持开启状态。 我们使用内置工具复制数据库和特殊应用程序,并保持虚拟机处于开启状态。 如果主数据中心发生故障,我们会在备份数据中心启动系统。 我们认为我们有大约 100 个虚拟机。 当主数据中心运行时,备用数据中心可以运行测试环境和其他系统,如果主数据中心切换,这些系统可以关闭。 我们也可以使用双向复制。 从硬件角度来看,不会有任何改变。

在经典架构的情况下,我们将在每个数据中心安装一个混合存储系统,通过 FibreChannel 访问、分层、重复数据删除和压缩(但不是在线),每个站点 8 台服务器、2 个 FibreChannel 交换机和 10G 以太网。 对于经典架构中的复制和切换管理,我们可以使用VMware工具(Replication + SRM)或第三方工具,这会更便宜一些,有时也更方便。

如图所示。

没有双手的管理=超融合?

当使用Cisco HyperFlex时,获得以下架构:

没有双手的管理=超融合?

对于 HyperFlex,我使用了具有大量 CPU/RAM 资源的服务器,因为…… 部分资源将分配给HyperFlex控制器VM;在CPU和内存方面,我什至重新配置了HyperFlex配置,以免与Cisco合作并保证剩余VM的资源。 但我们可以放弃光纤通道交换机,并且每个服务器都不需要以太网端口;本地流量在 FI 内交换。

结果是每个数据中心的配置如下:

伺服器

8 个 1U 服务器(384 GB RAM、2 个英特尔金牌 6132、FC HBA)

8 个 HX240C-M5L(512 GB RAM、2 个英特尔金牌 6150、3,2 GB 固态硬盘、10 个 6 TB NL-SAS)

SHD

具有 FC 前端的混合存储系统(20TB SSD、130TB NL-SAS)

-

局域网

2 个以太网交换机 10G 12 端口

-

SAN的

2 个 FC 交换机 32/16Gb 24 端口

2 个思科 UCS FI 6332

许可证

VMware Ent Plus

虚拟机切换的复制和/或编排

VMware Ent Plus

我没有为 Hyperflex 提供复制软件许可证,因为我们可以开箱即用。

对于古典建筑,我选择了一家已成为优质且廉价制造商的供应商。 对于这两个选项,我都应用了特定解决方案的标准折扣,因此我收到了实际价格。

事实证明,思科 HyperFlex 解决方案便宜了 13%。

2脚本: 创建两个活跃的数据中心。 在此场景中,我们正在 VMware 上设计一个延伸集群。

经典架构由虚拟化服务器、SAN(FC 协议)和两个可以读取和写入它们之间延伸的卷的存储系统组成。 我们在每个存储系统上放置了有用的存储容量。

没有双手的管理=超融合?

在 HyperFlex,我们只需创建一个在两个站点上具有相同数量节点的延伸集群。 在本例中,使用 2+2 的复制因子。

没有双手的管理=超融合?

结果是以下配置:

古典建筑

超弹性

伺服器

16 个 1U 服务器(384 GB RAM、2 个 Intel Gold 6132、FC HBA、2 个 10G NIC)

16 个 HX240C-M5L(512 GB RAM、2 个英特尔金牌 6132、1,6 TB NVMe、12 个 3,8 TB 固态硬盘、VIC 1387)

SHD

2 个全闪存存储系统(150 TB SSD)

-

局域网

4 个以太网交换机 10G 24 端口

-

SAN的

4 个 FC 交换机 32/16Gb 24 端口

4 个思科 UCS FI 6332

许可证

VMware Ent Plus

VMware Ent Plus

在所有计算中,我没有考虑网络基础设施、数据中心成本等:对于经典架构和 HyperFlex 解决方案来说,它们是相同的。

就成本而言,HyperFlex 贵了 5%。 这里值得注意的是,就 CPU/RAM 资源而言,我对思科有偏差,因为在配置中我均匀地填充了内存控制器通道。 成本稍高,但不是一个数量级,这清楚地表明超融合不一定是“富人的玩具”,但可以与构建数据中心的标准方法竞争。 那些已经拥有 Cisco UCS 服务器及其相应基础设施的人可能也会对此感兴趣。

优点包括:无需管理 SAN 和存储系统的成本、在线压缩和重复数据删除、单一支持入口点(虚拟化、服务器,它们也是存储系统)、节省空间(但并非在所有情况下)、简化操作。

至于支持,您可以从一家供应商处获得——思科。 根据我使用 Cisco UCS 服务器的经验来看,我喜欢它;我不必在 HyperFlex 上打开它,一切都一样。 工程师响应迅速,不仅能解决典型问题,还能解决复杂的边缘情况。 有时我会向他们提出问题:“这有可能吗,管它呢?” 或者“我在这里配置了一些东西,但它不起作用。 帮助!” - 他们会耐心地在那里找到必要的指南并指出正确的操作;他们不会回答:“我们只解决硬件问题。”

引用

来源: habr.com

添加评论