跨 vCenter 的 NSX-V 的组件与 NSX-V 基本相同,但其部署、实现的功能还是有一些区别。 通用 NSX Controller 集群 每个跨vCenter的NSX-V环境都有一个通用NSX Controller与主用NSX Manager关联。 辅用 NSX Manager 没有通用 NSX Controller 集群。通用 NSX Controller 集群会维护有关通 用逻辑交换机和通用分布式逻辑路由器,以及该通用 NSX Controller 对应的本地逻辑交换 机和本地分布式逻辑路由器的信息。 为避免任何对象 ID 重叠,系统会为通用对象和本地对象维护单独的 ID 池。
通用传输区域 在跨 vCenter 的 NSX-V 环境中,只能存在一个通用传输区域。通用传输区域在主用 NSX Manager 上创建,并会同步到辅用 NSX Manager。通用的逻辑网络集群必须添加到通 用传输区域中。 通用逻辑交换机(ULS) 通用逻辑交换机允许二层网络跨越多个 vCenter Server 甚至多个站点。 在通用传输区域中创建逻辑交换机时,首先会创建一个通用逻辑交换机,它在通用传 输区域中的所有集群上都是可用的。通用传输区域可以包括跨 vCenter 的 NSX-V 环境中的 所有 vCenter 的集群。 子网的 ID 池用于向逻辑交换机分配 VNI,而通用子网 ID 池用于向通用逻辑交换机分 配 VNI。这些池中的 ID 是不能重叠的。 在通用逻辑交换机之间实现路由功能时,必须使用通用分布式逻辑路由器。如果需要 在通用逻辑交换机与逻辑交换机之间路由,则必须使用 NSX Edge 服务网关。
通用分布式逻辑路由器(UDLR) 通用分布式逻辑路由器提供能够在通用逻辑路由器之间、通用逻辑交换机之间、集群 和主机之间的可集中式管理的路由。 创建通用逻辑路由器时,必须选择是否启用本地输出,本地输出允许根据标识符(即 区域 ID)进行路由选择。这个设置在创建后无法更改。每个 NSX Manager 都分配有一个区 域 ID,它的默认设置为 NSX Manager 的 UUID。如果不启用本地输出,区域 ID 就会被忽 略,连接到通用逻辑路由器的所有 ESXi 主机将收到相同的路由。因此,建议启用这个功 能,但并非所有跨 vCenter 的 NSX-V 配置都需要启用该功能。 通用防火墙规则 通过跨 vCenter 的 NSX-V 环境中的分布式防火墙,可以集中管理整个 NSX-V 网络虚 拟化环境中的所有规则。由于分布式防火墙可跟随虚拟机迁移而迁移,并支持跨 vCenter的 vMotion,因此扩展了数据中心的安全性。 支持可扩展性的数据中心的规模需要不断扩大,这就可能需要将应用程序迁移到不同 vCenter 管理的新 ESXi 主机之上。也可能需要将应用程序从环境中的测试服务器移至生产 环境的服务器,其中测试服务器由一个专门的 vCenter 进行管理,而生产环境的服务器又 由不同的 vCenter 进行管理。
NSX 分布式防火墙支持这些跨 vCenter 的 vMotion 方案,它可 以把为主用 NSX Manager 定义的防火墙策略复制到辅用 NSX Manager。 在主用 NSX Manager 中,可以创建一个通用的二层防火墙策略规则区域和一个通用的 三层防火墙策略规则区域。这些区域及其规则都会同步到环境中的所有辅用 NSX Manager。 其他区域中的规则保持为相应的 NSX Manager 的本地规则。 以下分布式防火墙功能在跨 vCenter 的 NSX-V 环境中是不支持的:
排除列表;
SpoofGuard;
汇总流的 Flow Monitoring;
Network Service Insertion;
Edge 防火墙。
此外, Service Composer 不支持通用同步,因此无法在通用区域中使用 Service Composer 创建分布式防火墙规则,这意味着与 Palo Alto 等第三方安全厂商的集成方案目前在跨 vCenter 的 NSX-V 环境中是有限制的。 以上缺陷将在后续 NSX-V 的版本中逐步得到解决。 可以通过创建定义网络和安全对象,以在通用区域中的分布式防火墙规则中使用。这 些对象是:
通用 IP 集;
通用 MAC 集;
通用安全组;
通用服务;
通用服务组。
需要注意的是,只能从主用 NSX Manager 创建通用网络和安全对象。同样,无法从 Service Composer 中创中通用安全组。从 Service Composer 创建的安全组将成为该 NSX Manager 的本地安全组。
8.1.3 单站点数据中心设计
通过跨 vCenter 的 NSX-V 环境,可以在多个 vCenter 之间的 NSX-V 部署中使用相同的 逻辑交换机和其他网络对象。多 vCenter 可以位于同一站点的数据中心,也可以位于不同 站点的数据中心。
无论跨 vCenter 的 NSX-V 环境是在同一数据中心中还是跨越多个数据中心,都可以使 用相似的配置,但是拓扑却不尽相同。 图 8.4 所示为在单站点数据中心内部署跨 vCenter 的 NSX-V 环境的简单拓扑架构图。 图中创建了一个通用传输区域,其中所有集群都是在单站点数据中心内所有的 vCenter 之 上创建的。通用传输区域的两个通用逻辑交换机用于连接虚拟机,并连接到通用分布式逻 辑路由器。 NSX Edge 上的通用逻辑路由器,又可以作为连接外部网络和通用分布式逻辑路 由器的桥梁。通用 NSX Controller 可以对这些通用的 NSX 组件进行统一控制,并由主用 NSX Manager 进行管理。
8.1.4 多站点数据中心设计
在过去,设计一套多站点数据中心解决方案是一项极其复杂的工作。但是有了 vSphere 6.0 和 NSX 6.2 之后,这样的设计就变得相当容易了。 首先,需要在不同数据中心之间打通大二层的网络环境。由于数据中心之间的通 信链路一般都是运营商提供的三层链路(同城数据中心可能使用光纤直连), 因此在三 层链路之上实现大二层就变得非常困难。在之前,可以借助 VPLS 这种二层 VPN 功能 来实现它,但是会带来诸多问题。 Cisco 的 OTV 解决方案优化了跨越三层的大二层解决方案,但是企业需要购买支持 OTV 的昂贵的 Nexus 7000 系列交换机或 ASR 9000 系列 路由器、支持 OTV 的设备板卡和可以开启 OTV 功能的 License。而 NSX 网络虚拟化 环境通过 VXLAN 可以轻松地在三层链路中打通二层隧道,从而非常有效地实现了大 二层环境。 其次,由于虚拟机可能在不同数据中心之间进行迁移,那么漂移之后,其网关所在 的位置也成了在部署中需要关心的问题。基于硬件的传统多数据中心解决方案可能在核 心交换机上启用 HSRP 或 VRRP 的功能, 在不同数据中心之间虚拟出一个共同的网关。 然而 NSX 网络虚拟化平台则更进一步,在控制平面上创建的网关可以下发到每台 ESXi 主机之上,这意味着无论虚拟机迁移到哪里, 它的网关都在本地 ESXi 主机的 Hypervisor 之上。
再次,在传统的多数据中心中,部署自动化的安全策略面临很大的挑战。由于访问控 制等安全策略都是配置在物理三层交换机或物理防火墙上的,一旦虚拟机迁移到了其他数 据中心,其安全策略很可能需要在另外一个数据中心中再次添加。安全策略无法跟随虚拟 机移动,给运维带来了困难。而 NSX 分布式防火墙的安全策略可以跟随虚拟机迁移到其他 站点数据中心,这个问题也就迎刃而解。 最后,也是设计多站点数据中心中最棘手的问题。 在数据中心 A 中, 虚拟机 A 与 Internet 的交互本来是通过数据中心 A 中的路由器 A 完成的,而一旦虚拟机 A 迁移到了 数据中心 B,它能否通过虚拟机 B 的本地路由器 B 与 Internet 交互流量呢?实现这个功 能的部署非常复杂, Cisco 在 Nexus 7000 交换机之上引入了 LISP 功能,使得虚拟机在 迁移后所有信息都保持不变, 并可以使用本地流量策略。
但这个功能也是基于硬件实现 的, 因此会带来昂贵的硬件采购成本,且在配置本地流量策略时非常繁琐。 其他硬件厂 商对此尚无很好的解决方案。而 NSX 实现这个功能,只需要在创建通用逻辑路由器时 启用本地输出功能即可。这样,就可以在通用逻辑路由器、集群或主机层面自定义路由。 一旦虚拟机发生迁移, vCenter 就会知晓其所在的位置,随后 NSX Manager 就可以根据 虚拟机的位置,将其区域 ID 设置为本地 ID, 虚拟机的所有流量随后都可以通过本地路 由器与外界进行交互。 如果跨越不同站点数据中心的流量全部由一个站点进行输出(主要是南北向流量),那 么所有站点都使用同一台(对)物理路由器来处理去往 WAN 或 Internet 的流量。如图 8.5 所示,在不进行本地输出的情况下,在不同数据中心之间部署跨 vCenter 的 NSX-V 平台, 除了辅用 NSX Manager 和其对应的 vCenter 部署在站点 B 之外,其余部分的设计与单站点 完全相同。
如果需要在每个数据中心都使用本地出口来处理去往 WAN 或 Internet 的流量,那么在 多站点数据中心中设计跨 vCenter 的 NSX-V 环境时,就需要启用本地输出。每个站点中的 NSX Edge 服务网关都有一条条默认路由, 指向该站点的物理路由器,以处理默认路由流量。 在 NSX Edge 之上配置两台通用逻辑路由器,放置在不同站点,分别作为通用逻辑路由器 的主用设备和备用设备。这两台设备通过其站点的 Edge 网关那里获知路由信息,已获知的 路由会发送到通用 NSX Controller 集群。而一旦虚拟机发生迁移, vCenter 就会知晓其所在 的位置,与 vCenter 集成的主用 NSX Manager 就可以根据虚拟机的位置,将其区域 ID 设置 为本地 ID。
由于启用了本地输出,该站点的本地 ID 就会与这些路由关联。通用逻辑路由 器会将匹配区域 ID 的路由发送给主机—从站点 A 中的设备获知的路由会发送给站点 A 中的主机,而从站点 B 中的设备获知的路由会发送给站点 B 中的主机。在多站点数据中心 中部署跨 vCenter 的 NSX-V 的拓扑如图 8.6 所示。 最后需要重新强调一次,不同数据中心之间的 RTT(Round-Trip Time,往返时间)必 须在 150 毫秒以内,才可以实现在不同数据中心之间跨 vCenter 的 NSX-V 环境。
8.2 跨 vCenter 的 NSX-V 部署
跨 vCenter 的 NSX-V 的部署和配置,与之前介绍的 NSX-V 有很大不同。 本节会详细 介绍如何部署跨 vCenter 的 NSX-V 网络虚拟化平台。
8.2.1 跨 vCenter 的 NSX-V 部署准备工作
在部署跨vCenter的NSX-V之前,需要在每个vCenter Server中安装一个NSX Manager, 在每个 ESXi 主机上安装一个 Guest Introspection,在每个数据中心(每个 vCenter 域中)安 装多个 NSX Edge 实例。 在 vSphere 6.0 中引入了增强型链接模式,它使用一个或多个 Platform Services Controller 连接到多个 vCenter Server。这使得我们可以查看和搜索 vSphere Web Client 内所 有已连接的 vCenter Server。在跨 vCenter 的 NSX-V 环境中,增强型链接模式允许从一个 vSphere Web Client 的可视化界面中管理所有的 NSX Manager。在存在多个 vCenter 的大型部署中,可以对 vCenter 组合使用跨 vCenter 的 NSX-V 和增强型链接模式。这两项功能是 互补的,但又相互独立。
1. 组合使用跨 vCenter 的 NSX-V 和增强型链接模式 在跨 vCenter 的 NSX-V 环境中,会有一个主用 NSX Manager 和多个辅用 NSX Manager。 它们中的每个 NSX Manager 都连接到独立的 vCenter。在主用 NSX Manager 上,可以创建 能够从辅用 NSX Manager 查看的通用 NSX 组件(例如交换机和路由器)。此外,当使用增 强型链接模式部署每个 vCenter 时,可以从一个 vCenter 查看和管理所有 vCenter。 因此,当对 vCenter 组合使用跨 vCenter 的 NSX-V 与增强型链接模式时,可以从任何 连接到的 vCenter Server 查看和管理任意 NSX Manager 以及所有通用 NSX 组件。
2. 在不启用增强型链接模式的情况下部署跨 vCenter 的 NSX-V 对于跨 vCenter 的 NSX-V,增强型链接模式并不是必要条件或要求。如果不启用增强 型链接模式,仍然可以创建跨 vCenter 的通用传输区域、通用交换机、通用路由器和通用 防火墙规则。但是,在不启用增强型链接模式的情况下,必须登录到各个 vCenter,才能访 问每个 NSX Manager 实例。 与一般的 NSX-V 中的描述相同, NSX Manager 在跨 vCenter 的 NSX-V 中同样提供用 于创建、配置和监控 NSX 组件(如控制器、逻辑交换机和 Edge 服务网关等)的图形用户 界面 REST API。为了实现高可用性,同样可以在配置了 HA 和 DRS 功能的群集中部署 NSX Manager,或直接将 NSX Manager 配置成 FT 工作模式。 在跨 vCenter 的 NSX-V 安装中,部署 NSX Manager 的过程与之前讨论的普通 NSX-V 环境中的部署过程基本相同,这里不再赘述,我们需要讨论的是如何配置主用 NSX Manager 和辅用 NSX Manager。
8.2.2 部署主用 NSX Manager
跨 vCenter 的 NSX-V 环境中只有一个主用 NSX Manager。需要选择一个 NSX Manager 作为主用 NSX Manager。主用 NSX Manager 用于部署通用 NSX Controller 群集,这是一个 共享的对象,为跨 vCenter 的 NSX-V 环境提供控制平面的管理工作。辅用 NSX Manager 会自动导入通用控制器群集。跨 vCenter 的 NSX-V 环境中需要有一个主用 NSX Manager 和最多 7 个辅用 NSX Manager。除此之外, NSX Manager 可以拥有“独立” 和“转换”的 角色。要查看 NSX Manager 的角色,可以登录到 vCenter,找到 Networking & Security(配 置 NSX 的图标),在 Installation 中选择 Management 选项卡,就可以查看 NSX Manager 的 角色列。如果未显示“角色” 这一列,则 NSX Manager 拥有独立角色。 配置主用 NSX Manager,需要满足以下前提条件。 NSX Manager(主用 NSX Manager 和它的辅用 NSX Manager)的版本必须相匹配。
主用NSX Manager和它的辅用NSX Manager必须配置节点ID且节点ID不能相同。 从 OVA 文件部署的 NSX Manager 实例均有唯一的节点 ID。从模板部署的 NSX Manager 就像将虚拟机转换为模板一样, 会与用于创建模板的原始 NSX Manager 具有相同的节点 ID,这意味着不能通过模板进行部署。
每个 NSX Manager 必须向独立且唯一的 vCenter 进行注册。 对于所有 NSX Manager,用于 VXLAN 的 UDP 端口都必须相同。 当向 NSX Manager 分配辅用角色时,其注册到的 vCenter 不能包含任何已部署的 NSX Controller。 辅用角色的 NSX Manager 的网段 ID 池不得与主用 NSX Manager 的网段 ID 池或任 何其他辅用 NSXManager 的网段 ID 池重叠。 将 NSX Manager 配置为主用角色的步骤如下。 1.使用 vSphere Web Client 登录到与该 NSX Manager 注册的 vCenter。 2.在 Networking & Security 图标中选择 Installation,并找到 Management 选项卡。 3.选择需要分配为主用角色的 NSX Manager,单击 Actions,然后单击 Assign Primary Role。这样,这个 NSX Manager 就被分配为主用角色。
设置了主用 NSX Manager 之后, 就可以继续其他的设置了。这些设置包括通用网段 ID、 通用传输区域、通用逻辑交换机和通用逻辑路由器。 通用网段 ID 池指定构建逻辑网络网络时所使用的范围。跨 vCenter 的 NSX-V 部署使 用唯一的通用网段 ID 池,以确保通用逻辑交换机 VXLAN 的 VNI 在所有辅用 NSX Manager 中保持一致。通用网段 ID 在主用 NSX Manager 中定义,随后会同步到所有辅用 NSX Manager。对通用网段 ID 的范围进行控制,限制了可以创建的通用逻辑交换机的数量。网 段 ID 范围在用于跨 vCenter 的 NSX-V 部署中的任何一台 NSX Manager 中都必须是唯一的。 通用传输区域控制通用逻辑交换机可以访问的主机。通用传输区域由主用 NSX Manager 创建,并会同步到辅用 NSX Manager。
通用传输区域可跨越整个网络虚拟化环境 中的一个或多个 vSphere 群集。创建后,通用传输区域在跨 vCenter 的 NSX-V 环境中, 所 有辅用 NSX Manager 上都是可用的。只能创建一个通用传输区域。 在跨 vCenter 的 NSX-V 部署中,可以创建跨所有 vCenter 的通用逻辑交换机。当在通 用传输区域添加逻辑交换机时,逻辑交换机是通用逻辑交换机。可以选择将虚拟机连接到 逻辑交换机或通用逻辑交换机。 通用逻辑路由器用于提供通用逻辑交换机之间的东西向路由功能。配置时,需要确定 是否需要启用本地输出功能。如果 NSX 的部署跨多个站点的数据中心,而每个数据中心都 有自己的出口的时候,就应该启用这个功能。
版权归原作者 BinaryStarXin 所有, 如有侵权,请联系我们删除。