NetApp Tech OnTap
     

端到端服务质量:

Cisco、VMware 和 NetApp 联手增强多租户环境

构建共享基础结构从来都是具有挑战性的。如果考察典型的企业数据中心设计,您就会发现重要的应用程序要么有自身专用的基础结构,要么对共享要素要求过高,远远超出实际需要。两种方法都无法充分利用资源,并且浪费了 IT 预算。

问题在于没有人能够确切知道,当添加额外负载时,服务器、网络和存储等基础结构要素将如何表现。资源是否会变成瓶颈,意外地降低重要应用程序的性能?若是如此,怎样才能快速识别此类瓶颈的来源?

当前对云计算的关注使得理解多租户环境(共享所有资源的基础结构)的方方面面变得更为重要。事实上,由于担心安全性和服务质量 (QoS),许多公司都不愿构建云基础结构或提供云服务。

Cisco 已与 VMware 和 NetApp 联手设计和测试安全的多租户云架构,以提供我们视为安全多租户环境的四大要素:

  • 安全隔离。 在任何情况下,一个租户都必须无法访问其他租户的虚拟机 (VM)、网络或存储资源。必须安全地隔离每个租户。
  • 服务保证。 计算、网络和存储的性能必须相互隔离,并且在正常操作以及发生故障或某些租户产生异常负载时都能得到保证。
  • 可用性。 基础结构必须确保在发生可能的故障时仍然可以提供所需的计算、网络和存储资源。
  • 管理。 快速提供、管理和监控所有资源的能力至关重要。

在本文中,我将介绍三家公司为实现这些多租户要素而共同设计的独特架构。接着,我将详细谈论我们围绕第二个要素 “服务保证” 展开的工作。

一本近期发布的设计指南 p详细介绍了一项 Cisco 认证设计,该设计使用了所有三家公司技术以实现上述全部四个要素。 本期 Tech OnTap 的另一篇文章 详细介绍了架构的一个组成部分 NetApp® MultiStore®。

架构概述

图 1 显示了架构的块级概述。在架构的所有层都设计了关键的软件和硬件组件,以提供安全性、服务质量、可用性且易于管理。

图 1) 端到端块图。

计算层
在计算层,VMware® vSphere™ 和 vCenter™ Server 软件提供强大的服务器虚拟化环境,使服务器资源能够动态分配至在虚拟机中运行的多个来宾操作系统。

VMware vShield Zone 提供计算层安全性。这是一个集中管理的、有状态的分布式虚拟防火墙,与 vSphere 4.0 捆绑在一起,后者利用 ESX 主机邻近性和虚拟网络可见性的优势以创建安全区。vShield Zone 与 VMware vCenter 相集成,并利用虚拟清点信息(如 vNIC、端口组、群集和 VLAN)来简化防火墙规则管理和可信区配置。这一创建安全性策略的新方法通过 VMotion™ 跟踪虚拟机,并且对 IP 地址更改和网络重新编号是完全透明的。

Cisco Unified Computing System™ (UCS) 是新一代数据中心平台,该平台将计算、服务器网络访问、 存储访问和虚拟融入一个结合性系统中。UCS 将低延迟无损万兆以太网网络结构与企业级 x86 架构服务器相集成。该系统是一个集成的可扩展多机箱平台,在 这一平台中,所有资源都参与一个统一管理域。

网络层
网络层提供计算层和存储层之间的安全网络连接,以及到外部网络和客户端的连接。关键组件包括:

  • Cisco Nexus 7000,它提供到外部网络的以太网 (LAN) 连接
  • Cisco Nexus 5000,它与 FC 存储和 Cisco 7000 界面相联接
  • Cisco Nexus 1000V,它是在 VMware 内核中运行的软件交换机,可提供 Cisco VN-Link 服务,以使服务器和网络环境紧密集成,从而允许在实时迁移中随虚拟机移动策略
  • Cisco MDS 9124,它是提供 SAN 连接的光纤通道交换机,可允许在 UCS 上运行的 VMware ESX 进行 SAN 启动

存储层
存储层由 NetApp 统一存储系统组成,可同时提供 SAN 连接(用于 SAN 启动)和用于运行 VMware 环境的 NFS 连接。NetApp 存储还可满足任何运行应用程序的专门存储需求。在以太网上运行 VMware 环境可提供大大简化的管理环境,从而降低成本。

NetApp MultiStore 软件提供的共享存储安全性和隔离级别可与物理隔离的存储阵列相媲美。MultiStore 允许您在单个存储系统上创建多个完全隔离的逻辑分区,因此您既可共享存储,又能保护隐私。可以在存储系统之间独立透明地迁移单个存储容器。

租户配置
使用此架构配置租户时,产生的环境将配备以下项目:

  • 一个或多个虚拟机或 vApp
  • 一个或多个虚拟存储控制器(vFiler 单元)
  • 一个或多个用于互连和访问这些资源的 VLAN

这些实体共同构成一个逻辑分区。租户无法侵犯逻辑分区的边界。除安全性以外,我们还想确保在一个租户分区内发生的活动不会间接干扰其他租户分区内的活动。

端到端服务质量:

很少有项目能够解决端到端服务质量问题。在大多数情况下,会在一个层中启用 QoS 机制,以期下游或上游的层也会因此得到扼制。遗憾的是,不同的应用程序有不同的特性,例如计算密集型、网络密集型或 I/O 密集型。单单限制 I/O 对于控制 CPU 密集型应用程序的 CPU 使用率作用很小甚至毫无作用。除非三个层均有适当的机制,否则无法完全保证 QoS。我们的团队正是以设计这样的系统为目的。

Amazon、Google 和其他一些公司使用专有软件建立了多租户或“云”产品,这些软件需要数以百计的开发人员在内部耗时多年才能完成。我们的方法是使用 Cisco、NetApp 和 VMware 的市售技术达到类似的效果。

我们在所有层应用的一个设计原则是,当资源未得到利用时,高价值应用程序应该能够在需要时使用这些可用资源。这可使应用程序应对无法可预见的情况。但是,当发生争用情况时,必须保证所有租户都能得到合同中规定的服务水平。

另一设计原则是,将服务类别设置尽量接近应用程序,将该值映射至策略定义,并确保该策略能够根据每个层的独特性质在所有层得到统一应用。我们在每个层使用三个机制以提供 QoS:

表 1) QoS 机制。

计算 网络 存储
• 可扩展预留
• 动态资源调度器
• UCS QoS 系统资源预留和限制级别


• QoS—排队
• QoS—带宽控制
• QoS—Rate Limiting
• FlexShare®
• 存储预留
• 精简配置


 

计算层
在服务器虚拟化级别,VMware vSphere 提供众多功能,以确保合理使用资源,特别是 CPU 和内存资源。vSphere 资源池是一个用于灵活管理资源的逻辑抽象。资源池可分为多个层次,并可用于对可用 CPU 和内存进行多层次分区。 通过正确配置资源池的预留、限制、份额和可扩展预留属性,您可以进行十分精细的控制,并且在发生资源争用的情况下授予租户高于其他租户的优先权。

VMware Distributed Resource Scheduler (DRS) 允许您创建包含多个 VMware 服务器的群集。它持续监控各个资源池的使用率,并 在虚拟机之间智能地分配可用资源。DRS 可在群集级别完全自动化,这样群集中所有 ESX 服务器之间的基础结构和租户虚拟机可实现实现均衡负载。

在硬件级别,Cisco UCS 使用数据中心以太网 (DCE) 处理 Cisco UCS 系统中的所有流量。这一行业标准的以太网增强功能将以太网管的带宽分为八条虚拟通道。系统类决定如何在整个 Cisco UCS 系统中分配这些虚拟通道中的 DCE 带宽。每个系统类为特定的流量类型保留特定的带宽分段。即使在超额申请的系统中,这也可提供某种程度的流量管理。

网络层
在网络层,流量根据 Nexus 1000v 已指定并由 UCS 系统遵守或监察的服务类别 (CoS) 进行分段。提供稳定状态性能保护有两种截然不同的方法:

  • 排队 允许网络设备根据分类条件安排数据包发送。能够区分应该优先发送哪些数据包,最终便可在发生超额申请时,区分重要应用程序的响应时间。只有在所有服务类别充分利用指定带宽时才会发生排队。
  • 带宽控制 允许网络设备的每个队列有适当数量的缓冲区,这样特定流量类别就不会过分利用带宽。这可使其他队列有平等的机会满足剩余类别的需求。带宽控制与排队相互依存,因为排队决定首先发送的数据包,而带宽决定每个队列可以发送的数据量。

可以启用一组策略控制,这样便可通过软策略(允许应用程序在一段时间内发生高于服务承诺的突发/违反)和硬策略(丢弃过多流量或设置传输速率上限)处理无法预测的流量模式变化。这一功能也可用于定义服务级别,这样便可将非关键服务保持在特定流量级别,或设置最低服务级别流量的上限,以便其无法影响更高端的租户服务。

报警及速率限制用于定义此类保护级别。将这些工具应用于尽量接近网络边缘的位置,以阻止流量进入网络。在此设计中,使用了 Nexus 1000V,以对三种类型的流量执行报警和速率限制功能:

  • VMotion。 VMware 通常为 VMotion 流量推荐专用的千兆接口。在我们的设计中,VMotion 流量使用了不可路由的专用 VMkernel 端口。来自刀片式服务器的 VMotion 流量保持在 1Gbps,以反映传统环境。这一限制可根据要求提高或降低,但配置后的流量速率不能影响更加关键的流量。
  • 区分事务性和存储服务。 在多租户设计中,采用了多种方法以生成区分服务。例如,对最关键的服务使用“优先”队列,对无法丢弃但可承受一些延迟的流量使用 “不丢弃” 队列。对固定速率服务使用速率限制,以对每个应用程序类别或服务设置特定级别的上限。
  • 管理。启用管理 VLAN,并使用速率限制将流量上限设置为 1Gbps

存储层
如上所述,NetApp MultiStore 软件为多租户环境提供安全隔离。(本期另一篇文章详细介绍了 MultiStore。)

在存储层,提供 QoS 意味着控制存储系统缓存和 CPU 使用率,以及确保在足够数目的轴之间分配工作量。NetApp 开发了 FlexShare 以控制工作量优先顺序。FlexShare 允许您调节 MultiStore 配置中每个存储卷或每个 vFiler 单元的三个独立参数,这样您便可为租户分区设置高于其他租户分区的优先级。 (上篇 Tech OnTap 文章中详细介绍了 FlexShare。) B多年以来,MultiStore 和 FlexShare 已都可用于 NetApp Data ONTAP® 操作环境。

NetApp NetApp 精简配置为租户提供某种程度的 “按需存储”。原始容量视为共享资源,并且仅在需要时占用。在多租户配置中部署精简配置资源时,您应该设置卷自动增加、Snapshot™ 自动删除和部分保留策略。卷自动增加允许卷以定义的增量增加,直至达到预定义的阈值。 Snapshot 自动删除方法是指在卷将满时自动删除最旧的 Snapshot 副本。部分保留允许根据关联数据的重要性修改一定百分比的保留空间。

同时使用这些功能时,可为重要的租户授予优先权,以在共享池的保留空间中根据需要增加卷。与之相反,较低级别的租户需要额外的管理员干预才能满足额外存储请求。

结论

Cisco、VMware 和 NetApp 已联手定义和测试了一种安全的多租户云架构,不仅可提供必要的安全性,还可提供服务质量、可用性和高级管理。

本文介绍我们的端到端 QoS 方法。有关 QoS 或多租户的其他要素,您可参阅 我们近期发布的设计指南, 其中详细介绍了架构的要素, 并且提供了正确配置的建议。

 对多租户环境 QoS 有任何见解?

在 NetApp 社区中在线提出问题、交换观点及分享您的想法。

Chris Naddeo
UCS 技术营销工程师
Cisco Systems

Chris 加入 Cisco 后主要职责是客户支持,以及为 Cisco 的 Unified Computing System 设计最佳存储。他拥有丰富的存储背景,包括在 NetApp 担任 Oracle 和 Data ONTAP GX 咨询系统工程师一年以及在 Veritas 担任 Veritas 存储软件产品经理九年。