Cisco Nexus™ 7000 VDC最佳实践小结

N7K上VDC Feature的实现,最大化了数据中心现有设计的灵活性,对于新增铺设的数据中心而言,采用VDC也能够大幅提升机房空间的利用效率。作为专门为数据中心而开发的网络操作系统NX_OS,VDC – Virtual Device Contexts,只是其中一种提供相关优势的技术。下面补充几点在部署VDC过程中需要注意的地方:

配置默认VDC需要注意的问题

  • VDC-1上具备网络管理角色,对全局其它VDC具有超级用户的权限
  • VDC-1上可以增加/删除 VDC
  • VDC-1上可以对现有VDC资源进行重新分配
  • VDC-1上可以对所有的全局资源与参数机型定义,如:managment0 interface, console, CoPP, etc.

基于VDC-1具有如此高的权限,对于具有高度安全敏感度的环境而言,主用VDC-1应该被严格限制仅用于作为对其它VDC的管理与维护,同时除非必要,VDC-1也不应该成为数据转发路径上的节点。

每个VDC实现独立认证

如果你在网络上部署了AAA或者本地账号登陆认证,必须保证每个VDC具有独立的认证账号体系。

关于保存VDC配置

在完成VDC配置后,需要采用copy running-config startup-config vdc all命令保存相关VDC配置,默认使用copy running-config startup-config将不保留VDC配置。

设置独立的VDC HA策略

当N7K上存在双引擎的时候,需要对每台VDC做独立的切换设置,可以将它设置为“restart”或者“bringdown”,否则单台VDC的失效将造成其它全部VDC “switchover”到另一块引擎上面。

VDC与Logical Routers设计及部署最佳实践 Part3

虚拟交换单元整合策略

1. 水平整合

这是最常见的整合方式,在同一个网络层次上面,总有多台物理设备提供相类似的功能或者业务,VDC可以将提供相似功能的这些物理设备,通过虚拟化,整合到一个物理框架当中。从而,大量的节省IT本身的空间、能源、管理开销。在企业网络环境中,这些设备往往用于连接不同的业务部门,另一方面,在运营商网络环境当中,这些设备则往往用于连接不同的客户,不同的地市接入路由器,同样也有可能用于连接运营商自身的不同业务部门。在传统的网络设计当中,为了实现不同的业务单元的聚合(这些业务单元同时需要不同程度的相互隔离),常用的解决方案无非是要么通过硬件隔离实现,要么通过划分VLAN或者近几年经常用到的MPLS/VPN技术实现。这些传统的解决方案均无法避免成本增加,以及资源分配隔离度不足的挑战。而相对于这些传统的解决方案,VDC提供了一套更为高效,灵活,并且低成本的升级方案。

Typical Use Cases: Multi-tenant datacenter environments, mergers & acquisitions, Service Provider hosted & co-location environments.

2. 垂直整合

除了能够将相似功能的物理设备进行整合以外,VDC同样也能够可以将不同功能的物理设备进行整合。对于有扁平化需求的网络架构而言,采用VDC垂直整合是非常吸引人的一个实施途径。一方面,将传统的核心交换层与分布聚合层整合到一起,降低了网络架构的复杂程度,为未来的网络扩容与升级提供了一个更为干净并易于扩展的平台。另一方面,对于网络管理员来说,所谓的网络扁平化部署,实际上只需要相对简单的将原来存在于独立的物理设备上面的配置迁移到新的虚拟化单元上面。相对于传统网络扁平化进程中需要将两台独立的物理设备配置合并到同一台设备上面的做法,很大程度上降低了实施风险与工作量。

Typical Use Cases: Collapsed core/aggregation for small to medium environments, development environments, branch or remote locations.

3. 水平+垂直整合

可以想象,这种整合方式是同时将相似/非相似功能的物理设备整合在一起的方式,最大限度的利用了端口资源。在实施过程中可以先将同一层次的相同功能的设备进行第一次整合,之后再通过扁平化迁移实现垂直的整合。当然,整合的密集程度也是需要考虑的问题,太密集的整合性网络同样会碰到扩展性的瓶颈问题。这便是你需要自己衡量的问题啦。

Typical Use Cases: Collapsed core/aggregation topologies for small to medium sized deployments, mergers & acquisitions, Service Provider hosted & co-location environments.

Nexus 7000 VDC端口分配最佳实践

回应一下昨天的一个问题,所谓的隔离实际上就是在同一台物理Cisco NEXUS 7000上创建多个逻辑交换机,而这些被创建的交换机就如同独立的物理交换机而存在,交换机与交换机之间的通讯不通过背板交换矩阵实现,而需要额外的外部连线。

如果两台VDC之间没有外部的线缆连接,那么它们之间将无法实现互相通讯,各个VDC内部的STP/BPDU/Layer-2/Broadcast/Multicast/UDP Flooding… 等流量均被限制在相关的VDC内而并不会被泛洪到另外的VDC当中(包括默认的主VDC)。同时,即便两台VDC之间有额外的外部线缆连接,相互联的端口同样可以通过启用三层接口而将相关的流量限制在VDC的广播/多播域内。因此,当你计划要使用VDC特性的时候,你需要做的实际上就是考虑:

  1. 我需要多少台VDC(虚拟交换机)?
  2. 我需要将那些端口非配到每台VDC(虚拟交换机)上面?

原则上,你可以交换机上的任意端口分配到任意的VDC当中,无论这些端口是否存在于同一块线卡上面。

嗯,这样子显得很灵活,同时也显得很凌乱,显然并不是你乐意看到的。同时,既然写的是最佳实践,那么有几点需要关注的地方是需要注意并遵循的。

N7K-M108X2-12L
(1 interface x 8 port groups = 8 interfaces):

你可以自由的将端口分配到指定的VDC当中。

N7K-M132XP-12
(4 interfaces x 8 port groups = 32 interfaces):

属于同一个端口组(port group)的端口必须分配到同一个VDC当中,如下图:

N7K-F132XP-15
(2 interfaces x 16 port groups = 32 interfaces)

属于同一个端口组(port group)的端口必须分配到同一个VDC当中,如下图:

N7K-M148GS-11L, N7K-M148GT-11, 以及 N7K-M148GS-11
(12 interfaces x 4 port groups = 48 interfaces):

你可以自由的将端口分配到指定的VDC当中。同时,思科建议将属于同一个端口组的端口分配到同一个VDC里面。

之后,你便可以在Master VDC上通过show vdc membership来确认接口的分配情况了。

switch# show vdc membership 

vdc_id: 1 vdc_name: switch interfaces: 
Ethernet2/1 Ethernet2/2 Ethernet2/3 
Ethernet2/4 Ethernet2/5 Ethernet2/6 
Ethernet2/7 Ethernet2/8 Ethernet2/9 
Ethernet2/10 Ethernet2/11 Ethernet2/12 
Ethernet2/13 Ethernet2/14 Ethernet2/15 
Ethernet2/16 Ethernet2/17 Ethernet2/18 
Ethernet2/19 Ethernet2/20 Ethernet2/21 
Ethernet2/22 Ethernet2/23 Ethernet2/24 
Ethernet2/25 Ethernet2/26 Ethernet2/27 
Ethernet2/28 Ethernet2/29 Ethernet2/30 
Ethernet2/31 Ethernet2/32 Ethernet2/33 
Ethernet2/34 Ethernet2/35 Ethernet2/36 
Ethernet2/37 Ethernet2/38 Ethernet2/39 
Ethernet2/40 Ethernet2/41 Ethernet2/42 
Ethernet2/43 Ethernet2/44 Ethernet2/45 
Ethernet2/48 

vdc_id: 2 vdc_name: Payroll interfaces: 
Ethernet2/47 

vdc_id: 3 vdc_name: MyVDC interfaces: 
Ethernet2/46

VDC与Logical Routers设计及部署最佳实践 Part2

使用VDC作为网络安全与相关服务接入

Virtual Device Contexts for Service Insertion & Firewalled Security Environments

VDCs几乎可以在任何需要做流量工程,或者重定向至特定网络服务设备的环境中被使用。之前提及的逻辑划分数据层面,控制层面以及管理层面的另一个好处便在于能够使得加载于网络的附件服务,策略变得更具明确性。对于那些要求高度安全的环境而言,这样的需求变得更为迫切。

我们可以通过创建一个独立的VDC,并将其与防火墙相连接,我们能有效地建立起网络隔离机制。在下面的例子中,我们在每台N7K上均创建了两个VDC,通过将两个逻辑分离的VDC同时与防火墙相连,所有进出内部网络的流量均需要通过防火墙进行过滤。从而将网络严格区分成为 “clean” and “dirty” 区域,也可以理解为防火墙的”inside” and “outside”安全级别架构。

VDC与Logical Routers设计及部署最佳实践 Part1

总该写点原创性强一点的东西,不过同样不评论两种相似的虚拟化技术的优异,一项技术问世的时机以及后续的推广灰常重要,所谓来得早不如来得巧。逻辑路由器有完善的Features支持程度,而VCD一旦集合了NX-OS的VPC/LISP/FabricPath/OTV等特性,那么在云计算数据中心虚拟化程度越来越高的时候,同样有逻辑路由器无法实现的优势。从这一方面而言,VDC 正好抓住了很好的时机。

明显的,无论Cisco的Virtual Device Context (VDC)还是Juniper的Logical Routers均通过虚拟化技术,将物理设备划分成两台甚至更多的逻辑设备。试想一下,你很难想象IT投资者愿意非常乐意为了独立分离的1、2个端口而增加一台设备的采购。对了,通过划分VLAN似乎能解决。同时你要考虑到,采用VLAN划分的话可能会碰到两个挑战:

  1. VLAN采用二层接口隔离,当客户需要三层接口进行隔离的时候VLAN显得捉襟见肘 —— 当然你也可以说服客户采用一个VLAN SVI三层接口捆绑一个VLAN二层接口略显笨拙的形式;
  2. 马上第二个问题就来了,即便如此,对于设备而言这些VLAN相互间不但同时共享全局路由表,同时你需要为了实现真正的分离而不得不设计繁复的访问控制策略 —— 虽然实际上它们无法被真正分离;

此时,通过虚拟化,然后按需的将端口分配到划分出来的虚拟化设备上面,就显得非常吸引眼球了。另外,不要忘了每台虚拟出来的设备均可以被配置为独立管理的设备,就象一台独立物理设备一样。每台虚拟的逻辑设备均包含独立的控制层面,数据转发层面,以及独立的管理层面。因此,它们之间很容易的便能实现生成树,广播风暴,UDP泛洪等一堆乱七八糟的二层流量的隔离,将所有的相关类似失效机制限制在虚拟设备边缘。

所以,通过虚拟化的逻辑划分技术,Cisco与Juniper都提出了相关的解决方案,也就是所谓的Cisco Nexus™ 7000 Virtual Device Context (VDC),还是Juniper JUNOS的逻辑路由器 (Logical Routers) —— 不要怪我啰嗦,我得更多的命中关键字,以便你能Google出这篇文档;一方面在资源调配与整合上满足了IT投资者降低CPEX投资成本的需求;另一方面,通过容错与失效隔离机制使得一旦出现网络失效的时候,将影响限制在虚拟化设备边缘,满足了IT投资者降低OPEX运维成本的需求。

唐僧跑出来了:“弱弱的问一句,通过设置Pravite VLAN是不是也能满足隔离的要求?” Grrr… VLAN …. Who care? 偏执于现有技术可能让你连与客户见面说话的机会都木有,See?未来几天争取介绍几种VDC的设计与部署案例,争取吧~

Cisco Nexus™ 7000 VDC与Juniper逻辑路由器

五一节确实应该勤劳一点,当然按照惯例得先帖一段概述性语言,不单纯为了写blog,更重要的是以后用来写标书的时候还用得上。VDC与逻辑路由器的设计理念,其实大部分都相同,所以你完全可以参考两家的概念去描述同一个对象。同时,也没必要真的去比较谁更优秀或者谁先谁后的问题了,技术真正的价值在于应用部署而不仅仅在实验室内部。所以假如你之前了解过Juniper JUNOS上实现的逻辑路由器的概念,那么很容易就能将相关的经验迁移到Cisco N7K的VDC当中去。

由于维护不断扩大的IT基础设施不仅成本高昂,而且效率很低,因此很多企业都开始实施大规模的基础设施整合计划。虚拟化技术让IT部门可以在多个逻辑职能之间共享一台物理设备,最大限度地利用现有资源。这可以避免将整个设备专门用于单一职能,导致物理设备的利用率过低。

不同的虚拟化级别

根据故障遏制和管理分离的层次要求,可以对设备执行多种不同级别的虚拟化。决定网络设备虚拟化级别的主要组件包括:

  • 控制平面:创建多个独立控制平面例程的能力让用户可以创建多个逻辑拓扑和故障域。
  • 数据(或者转发)平面:用户可以通过对转发表和其他数据库进行分区,实现数据隔离。
  • 管理平面:可以为每个虚拟设备独立提供精简的管理环境。
  • 软件分区:可以将模块化软件进程合并到专门用于特定虚拟设备的分区之中,从而创建明确定义的故障域。
  • 硬件组件:用户可以对硬件组件进行分区,将某个分区专门用于特定的虚拟设备,从而以可预测的方式,将硬件资源分配给不同的虚拟设备。

Cisco Nexus™ 7000系列可以通过虚拟交换机技术(VDC),支持所有这些不同的虚拟化级别。VDC能够将专用软件进程和专用硬件组合到一起,在一个独立的管理上下文中提供虚拟的控制和数据平面。

对于虚拟化的需求

计算、存储和网络基础设施资源的容量和功耗在最近几年中大幅增加。与此同时,对于这些资源的需求也在不断增长。这两个因素导致分布式基础设施资源的迅速扩散,但同时也使得一些过剩的、没有得到充分利用的基础设施容量散布于整个网络之中。

随着需求的进一步增长,利用率低下的系统数量继续增多,进而形成极为庞大、复杂和昂贵的基础设施,以及高昂的投资开支(CapEx)和运营开支(OpEx)。另外,与供电、冷却和占地空间有关的成本也随着基础设施的扩大而增加。

图1. 通过采用合适的虚拟化技术逐渐降低运营开支

将多种职能整合到少量设备的能力可以简化系统架构,进而在不降低效率、利用率和可扩展性的前提下,减少需要执行的任务和需要维护的组件。这将最终可以提高企业的运营效率。在网络基础设施的虚拟化方面,VDC可以帮助企业将多个网络整合到一个统一的物理基础设施上,同时保持整合网络之间的运营独立性,同时提高设备的利用率。

虚拟设备上下文环境

Cisco Nexus 7000系列交换机可以根据业务需求划分为多个虚拟设备(如图2所示)。VDC能够真正地区分不同虚拟设备的网络流量,提供上下文级别的故障隔离,以及通过创建独立的硬件和软件分区实现有效的管理。

图2 虚拟设备上下文

整合的基础设施可以提高灵活性和简化运营。VDC能够通过降低功耗和空间要求,提高设备利用率,以及简化维护和加快维修速度,有效地节约投资开支和运营开支。

Cisco Nexus 7000系列交换机支持Cisco NX-OS操作系统。这是一种专为数据中心而设计的新型操作系统。Cisco NX-OS建立在Cisco IOS® 软件、Cisco® MDS 9000 SAN-OS软件和一些重要的收购成果的基础上,可以为VDC提供有力的支持,并能在设备级别实现交换机的虚拟化。对于该物理交换机框架中的连接用户而言,该系统所配置的每个VDC都会显示为一个不同的设备。VDC会作为一个单独的逻辑实体在交换机中运行,具有其自己独特的软件进程集,拥有独立的配置,并由一个单独的管理员负责管理。

Cisco Nexus 7000系列虚拟化网络设备的特性

  • 故障遏制是指防止某个虚拟设备上的问题影响运行于同一个物理设备上的其他虚拟设备。
  • 为每个虚拟设备设立独立的管理环境对于简化各种虚拟环境的运营和管理极为重要。管理用户的层次化结构要求限制某些操作人员只能使用特定的管理环境,或者这些管理环境的子集。
  • 在不同的虚拟设备之间灵活地区分和分配软件组件的能力非常重要。在OS内部,软件组件通常包括多个进程或者进程例程。Cisco NX-OS可以提供模块化的软件进程,而这种模块化对于实现VDC所需要的软件组件隔离和分配极为有用。
  • 为将硬件资源分配到特定的虚拟设备,需要灵活地区分硬件资源。遏制故障的程度在很大程度上取决于为不同虚拟设备隔离和分配硬件资源的能力。端口等资源可以专门用于某个VDC;在某个端口被分配给一个VDC之后,其他VDC就将无法使用该端口。
  • 一个硬件平台要想支持虚拟化,必须具备一定的可扩展性。在部署多个逻辑设备时,物理设备所需要管理的流量会大幅增加。Cisco Nexus 7000系列交换机的分布式架构,加上VDC的硬件分配能力,可以为硬件平台带来出色的智能扩展功能,最大限度地提高现有资源的利用率。

VDC的运行特性

VDC是交换机物理端口的一个子集

  • 使用一个独特的配置文件来定义设备的功能
  • 与其他VDC分开管理
  • 可被用于隔离同一个物理基础设施上支持的其他VDC的数据流
  • 支持同一交换机上不同VDC之间的进程独立性和故障隔离(如图3所示)

图3 VDC故障隔离

VDC的潜在应用案例

  • 为多个部门的流量提供安全的网络分区,让每个部门可以独立管理和维护其各自的配置
  • 整合数据中心内部的多个层次,以降低总体的投资开支和运营成本,提高资产的利用率。
  • 在生产网络的隔离VDC上测试新型配置或连接选项,从而大幅度缩短部署服务所需的时间。
  • 支持效用计算,让不同的客户以不同的SLA连接到隔离的网络域
  • 为网络管理员和操作人员的培训提供一个设备上下文环境,降低培训开支

为什么数据中心客户应投资于VDC

投资于数据中心的客户可以通过部署Cisco NX-OS中的VDC,获得显著的优势。

VDC能够通过创建多个逻辑交换机上下文,帮助数据中心客户划分物理交换机资源,从而提高虚拟化水平。此外,一些新推出的功能――例如在不同VDC之间重复使用ID(VLAN、虚拟路由转发[VRF]等)――可以实现真正独立的基础设施运营和扩展

为数众多的运营改进功能(例如故障和管理隔离)可以提高系统的可用性和加强隔离,从而为数据中心客户提供创新的网络服务。

VDC可以提供流量隔离功能,将交换机的物理资源的使用范围扩展到基本限制之外。这些范围广泛的优势可以为数据中心客户提供对下一代虚拟化技术的支持,帮助他们将Cisco Nexus 7000系列交换机的应用范围拓展到其物理限制之外。