图片 17

第四章 Hyper-V 2012 R2 网络配置

如图2所示,在弹出的“Change Dynamic vNIC Connection
Policy”对话框中设置Dynamic vNIC的数量为53并选择适配器策略为VMware。

本文讨论的是DirectPath I/O。
让我们由浅入深地通过一些问答来逐步展开DirectPath I/O的世界:
Q: 什么是DirectPath I/O?
A: VMware官方手册这么说:『通过 DirectPath I/O,虚拟机可以使用 I/O
内存管理单元访问平台上的物理 PCI 功能』
其实就是VM绕开了Hypervisor的管理,直接访问I/O设备。而最常见的I/O设备就是网卡。
Q: 为啥要用DirectPath I/O? (DirectPath I/O的优点)
A: 因为它绕开了hypervisor对I/O的处理,所以具有两大优点:
第一,速度快
第二,CPU的开销小
Q: DirectPath I/O的缺点?
A: VMware的手册中说:
配置了 DirectPath 的虚拟机不具有以下功能:
vMotion
虚拟设备的热添加和热移除
挂起和恢复
记录和重放
Fault Tolerance
High Availability
DRS(受限的可用性。虚拟机可以属于某个群集,但不能在主机之间迁移)
快照
Q: 为啥启用了DirectPath I/O,上述那么多功能都没法使用?
A:
以上功能比如vMotion、FT、HA、Snapshot等等,都是Hypervisor通过VMKernel来实现的。而DirectPath
I/O绕开了Hypervisor,直接访问了物理网卡,自然这些功能就无法用了。
Q:
哇,这么多重要的功能不能用了!好吧,没有了vMotion,虚拟化还有什么意义!没有了HA,生产应用怎么敢虚拟化?这么看来DirectPath
I/O完全就是个废品嘛。
A: 且慢,VMware vSphere 5.1的手册里面还有这么一段描述:
只有在 Cisco 统一计算系统 (UCS) 上通过 Cisco Virtual Machine Fabric
Extender (VM-FEX) 分布式交换机配置有 DirectPath I/O
的虚拟机才具有下列功能。
vMotion
虚拟设备的热添加和热移除
挂起和恢复
High Availability
DRS
快照
为啥呢?因为Cisco的UCS系统上的网卡很奇妙,这种被叫做VIC的网卡是一种高级的融合式网卡(CNA),可以虚拟化成多个vNIC。与HP的Flex-10网卡只能最多虚拟化成4个静态vNIC不同,Cisco
UCS的VIC可以虚拟化成128个(型号1240)或256个(型号1280)vNIC。而且Cisco支持Dynamic
vNIC,这种类型的vNIC不是固定的,可以随着VM的漂移而移动。通过和VMware的结合,Dynamic
vNIC在VM移来或虚拟设备热添加时被创建出来,在VM移走或虚拟设备热移除时被删掉。这就解决了问题,即不通过Hypervisor的管理又能同时实现vMotion。解决了vMotion的问题,HA、DRS等等问题也就迎刃而解了。
所以说,应用了Cisco UCS
VM-FEX分布式交换机,我们就可以做到既实现了DirectPath
I/O的优点,又避免了其致命的缺点。
Q: 那么结合了VM-FEX vDS和DirectPath
I/O,是不是就天衣无缝,完全没有缺点了呢?是不是在所有场合下都可以应用DirectPath
I/O了呢?
A: No. 还有2个缺点。
首先Dynamic vNIC有数量限制,其数量的上限是IO
Module(2204或2208)uplink数量乘以15减去4。
例如配置了2个2204 IO
Module的UCS刀箱满配一共有8个上联链路,那么可以配置的Dynamic
vNIC的上限就是8×15-4=116个。
实际情况是静态vNIC和vHBA还会占用一些vNIC数,所以116也不一定能达到。
而动态vNIC的总数限制就是一台物理主机上所有VM的所有网卡的数量上限。
116不是一个很大的数字,在某些应用的情况下,一台VM可能会需要2个以上的网卡,也就是会占用2个以上的动态vNIC,这导致了动态vNIC数量非常紧张。当无法创建新的动态vNIC时,新的虚拟机就无法创建出来,也无法向这台主机vMotion迁移虚拟机。
其次,要启用VM-FEX 结合的DirectPath I/O,虚拟机必须做内存保留(memory
reservation),而且是所有内存都必须保留。这使得虚拟机插槽(slot)变得非常大,而且也使得主机无法充分利用内存,无法进行内存过量分配(overcommitment)。
结论:由于DirectPath
I/O只有在I/O繁重的情况下才能发挥其优势。即使你使用了Cisco
UCS,也要根据自己的情况来衡量是否需要采用VM-FEX分布式交换机来启用DirectPath
I/O。套用一句老化,没有最好只有最合适。因此在进行架构设计的时候,请选择适合你的组织的方案,而不是盲目追求最快最新。

4.4NIC 组合

 

4.4.1
什么是 NIC 组合

NIC 组合即 NIC Teaming,也有被称为”网卡绑定”,此技术是 Windows Server
2012/2012 R2
的内置功能,可以为用户提供具有冗余和容错功能的网络适配器,NIC
组合允许一次性绑定最多 32
个网卡接口成一个逻辑组,供用户使用。当组中某一个网卡发生故障时,组合中依然存活的网卡还可以正常使用。值得称道的是,NIC
组合技术对网卡厂商没有硬性要求,这是一种通用的技术。并且在特定前提下,NIC
组合还可以实现带宽叠加的效果。

实现 NIC 组合需要满足以下条件:

  • 至少一个网卡接口,为了实现冗余特性,至少需要链各个网卡接口。
  • 组合接口需要处于同一个网络环境中,如果上联交换机采用的是 Access
    VLAN,则接口需要处于同一个 Access VLAN 中。
  • 组合网卡接口不可超过 32
    个。

NIC
组合拥有如下成组模式:

  • 静态成组,这是一个静态配置的解决方案,这种模式通常需要较高级别的交换机支持,如果插入配置错误的交换机,可能会导致成组失败。
  • 交换机独立,由于交换机不知道网卡接口是某一个 NIC 组合的一部分,因此
    NIC
    组合中的网卡可以连接到不同的交换机上,同时这种方式也是对交换机依赖最小的模式。
  • LACP,链路聚合控制协议(LACP)用来动态的识别计算机和特定交换机之间的关系,一般来说这项技术主要用在交换机和交换机之间,用来带宽叠加,但现在已经可以在
    Windows Server 2012/2012
    R2 上使用了。
注:lacp需要接入的是同一个交换机的2个不同端口,不能接入2台不同的交换机,我直接用我的cisco交换机来测试的。

NIC
组合拥有如下负载平衡模式:

  • 地址哈希,该算法会根据数据包的组成部分哈希,然后将其分配给具有该散列值的可用网卡。这就可以保证相同的数据流能够流向相同的网卡。可以用作哈希的组成部分包括源和目的的
    MAC
    地址、源和目的的 IP
    地址,源和目的的 TCP 端口,
  • Hyper-V
    端口,当虚拟机都具有独立的 MAC 地址时,虚拟机的
    MAC
    地址可以为流量分配提供依据,因为虚拟机的 MAC
    地址是有规律的,交换机可以平衡负载到多条链路上,这个特性和”虚拟机队列”组合使用是非常有用的。值得注意的是,

    Windows Server 2012/2012
    R2 中使用 Hyper-V
    的交换机端口作为识别符,而不是用MAC
    地址,因为在某些情况下,一台虚拟机可能会使用多个 MAC 地址。

  • 动态,该选项类似于”自动”,也被称为智能负载均衡或自适应负载均衡。

     

 

4.4.2NIC
组合基本配置

 

第 1 步,打开服务器管理器,点击左侧的本地服务器,在右侧找到 NIC
组合,点击

“已禁用”字样,如图 4-22 所示。

图片 1 图 4-22NIC 组合配置 1

第 2 步,启动”NIC
组合”,在”适配器和端口”对话框,选中未被使用的网卡接口,本例中为”以太网
2″、”以太网 3″,如图 4-23 所示。

 

图片 2 图 4-23NIC 组合配置 2

第 3 步,在”适配器和端口”对话框中,点击”任务”,选择添加到新组,如图 4-24
所示。

图片 3 图 4-24NIC 组合配置 3

第 4
步,在”新建组”对话框中,输入容易记忆的组名称,点击”确定”后返回上一级菜单,完成
NIC 组合配置,如图 4-25 所示。

图片 4 图 4-25NIC 组合配置 4

第 5 步,在”组”对话框中,可以看到刚才创建的 NIC
组合的状态是”错误”,错误原因在”适配器和接口”中有所显示,原因均为媒体已断开连接,即未插入网线。如图
4-26 所示。

图片 5 图 4-26NIC 组合配置 5

第 6 步,在”组”对话框中,右键点击已创建的组合,选择”属性”,如图 4-27
所示。

图片 6 图 4-27NIC 组合配置 6

配置动态UCS vNIC

首先Intel这边,必须CPU支持VT-D,基本就是i5/i7的型号,而且部分i5中低端型号还不支持,带K的不支持。同时主板要开启VT-D支持,这些从775时代开始就有了,所以型号搭配复杂。
AMD那边,CPU倒是基本都支持,45nm开始全系列和部分65nm都支持IOMMU,但只有服务器主板才开放,桌面版想用,起码都是890FX开始(IOMMU
1.2),新出的9系列,970/990x/990fx也都针对IOMMU加入默认支持行列,搭配推土机虚拟化性能才得以发挥,但现在价格过高,性价比和intel差不多。
选择的时候,连VMware官方论坛都是将AMD的IOMMU当成实验性质的,也就是性能不可预计,稳定性不可知。
自然intel那边成为了首选,考虑内存优先,那么i7 1366+X58+6x 4/8G
的大内存应该是首选,sandy
bridge的i5/i7二代支持vt-d的型号价格都偏高,这就延续了过去775时代Q6600/Q8400
CPU价格功耗过高,而E5200/E6600只支持vt-x的选择性困难。现在看4月发布ivy
bridge是否在虚拟化的性能上有所差距,如果只停留在10%范围,那么完全可以考虑上老平台。
(update:X58平台功耗高于sandy bridge 50W平均,不是家庭用户的选择)
存储是虚拟化的基础,所有软raid(南桥,低端raid卡)都不能被esxi支持,而是识别为独立硬盘,所以要考虑稳定的存储管理系统,freenas/openfiler/solaris才是下一步重点学习的方向。

 

图片 7

综合而言,direct i/o
性能绝对是好的,当然,也是牺牲了相关的可用性;用ucs,去补偿

尼玛的我不高兴写了,所以下面的文档我直接把原来的pdf给转换出来,加了点自己的注解,我写的话会写自己觉得终于的章节。

图2. 设置动态vNIC数量以及适配器策略

4.1Hyper-V 虚拟交换机管理器

在安装 Windows Server 2012 R2 的操作系统上,为该系统添加 Hyper-V
角色后,宿主机自动变为”第一台虚拟机”,也就是”父分区”,因此部分硬件在设备管理器中也进行相应的改变。在添加
Hyper-V
角色的过程中,如果在”虚拟交换机”对话框中勾选了创建虚拟交换机的网卡,如图
4-1 所示,则会发现”控制面板”→”网络连接”中的属性会产生一些变化。
图片 8 图 4-1 Hyper-V 虚拟交换机的设置

如果未在安装阶段勾选创建虚拟交换机的网卡也没有关系,进入”Hyper-V
管理器”,于主界面右侧点击”虚拟交换机管理器”,在弹出的对话框中可以创建新的虚拟交换机。如图
4-2 所示。

图片 9 图 4-2 创建新的虚拟交换机

Hyper-V
虚拟交换机通过微软虚拟交换机协议,模拟出一个二层的虚拟交换机,支持 VLAN
划分、Microsoft NDIS 捕获、Microsoft Windows Filtering Platform
等特性。Hyper-V 支持三种虚拟交换机类型,分别是外部、内部、专用。

  • 外部:虚拟机和物理机连接到同一个交换机,当希望虚拟机”看起来’和真实物理机一样,能够与局域网内的其他机器通信,可以使用此类型。
  • 内部:虚拟机可以和该物理服务器上的虚拟机通信,同时与这台物理服务器通信,但是无法跨物理机与其他主机通信。
  • 专用:虚拟机可以和该物理服务器上的虚拟机通信,但无法同任何物理服务器进行通信。

可以看到,三种类型的虚拟交换机的通信权限是依次递减的。在部署虚拟化的企业中,多数会使用到的是”外部”这种虚拟交换机类型。需要注意的是,”外部”交换机每张网卡只能创建一个。而内部和专用则不限制数量。

4.1.1
创建外部虚拟交换机

在虚拟交换机管理选项卡,创建一个新的外部网络虚拟交换机,如图 4-3
所示,名称和说明处填写容易识别的信息,外部网络选择”Intel(R) PRO/1000 MT
Network Connection”这张网卡。如果连接这张网卡的是交换机的 Access 口,则
VLAN ID 是不需要进行配置的,如果连接的是交换机的 Trunk
口,则需要配置相应的
VLANID,否则很可能无法正常使用。需要注意的是,在创建或删除虚拟交换机时,网络会有短暂的中断,此时
Hyper-V 也会弹出警示框提醒用户注意。

图片 10 图 4-3
创建新的外部网络虚拟交换机

回到”网络连接”,可以看到已经多出了一个网卡标志,其名称为”vEthernet(VM虚拟交换机)”,网卡的名称包含了刚才设置的虚拟交换机的”名称”部分。如图
4-4 所示。

图片 11 图 4-4 创建新的虚拟交换机

分别查看”VM”和”vEthernet(VM虚拟交换机)”
两张网卡的详细信息,会发现原本已经配置了 IP 地址的”VM”网卡被清空,而新增加的”vEthernet(VM虚拟交换机)”则保留了未配置虚拟交换机之前的
IP 地址。如图 4-5 所示。

图片 12

图片 13

图 4-35NIC 组合高级配置 6

4.4.3
虚拟机中的 NIC 组合

NIC 组合不仅可以在物理机中使用,在虚拟机中一样可以配置 NIC
组合,这使得虚拟机具有同时连接多张物理网卡获得冗余的特性,同物理机上的
NIC 组合一样,即使某一张网卡失效,依然不影响业务的持续运行。然而这种 NIC
组合只能提供故障转移的功能,当某一个网卡失效时,另外一张网卡可以迅速切换。

建议用户直接在物理机上配置 NIC
组合,这样更为简单,同时一次配置即可使其上所有对应的虚拟机的网卡获得冗余、分流等特性。

4.4.4 NIC
组合的不兼容性

已知的在 Windows Server 2012 R2 中,NIC 组合与以下三项技术不兼容:

  • SR-IOV,单根 I/O
    虚拟化技术,由于其是一种硬件级的网络加速技术,因此数据直接传送到网卡,不通过网络堆栈,自然不可能数据重定向到一个虚拟的
    NIC 成组上。

  • RDMA,远程直接内存访问技术,该技术多用于
    10Gbps
    网卡,是一种硬件级的网络加速技术,无法支持的原因同上。

  • TCP
    Chimney,不受支持。

4.4.5
通过命令行快速打开 NIC 组合

通过图形界面打开 NIC 组合需要依次打开”服务器管理器”→”本地服务器”→”NIC
组合”,而在运行中只需在输入一条命令”lbfoadmin”即可打开 NIC
组合工具,如图 4-36 所示。

图片 14

UCS计算系统针对虚拟化环境的网络管理提供了两种解决方案:一种是纯软件的Cisco
Nexus 1000V;一种是基于Cisco UCS M81KR网卡的硬件解决方…

第 7 步,在弹出的对话框中,点击”其他属性”,出现下拉菜单,依次选择成组模式为

“交换机独立”、负载平衡模式为”动态”,点击”确定”返回上一层,如图 4-28
所示。

图片 15 图 4-28NIC 组合配置 7

第 8 步,进入”控制面板”→”网络和共享中心”→”更改适配器设置”,可以看到

NIC 组合创建了一张新的虚拟网卡,并且图标异于其他,如图 4-29 所示。

图片 16 图 4-29NIC 组合配置 8

第 9 步,将 NIC 组合中涉及的两个网卡接上网线,直接插入同一个 VLAN
下的交换机,此时检查该网卡状态,发现其已连接,并且该网卡的带宽速度为两张网卡的叠加。如图
4-30 所示。

需要注意的是,NIC 组合中所涉及的网卡无需配置 IP,在 NIC
组合完成后,所涉及的网卡的 IP 信息均会丢失,并且丢失的 IP 不参与通信。

图片 17