Xenserver 网络管理

原创
2015/07/01 17:19
阅读数 1K

Xenserver 网络管理

时间: 2015-02-28 21:37
作者: lsgxeva
分类:  我的笔记>>工作学习>>citrix>>XenServer
摘要:  Xenserver 网络管理
标签:  Xenserver 网络管理
提示: 文章均来自网络,版权为原作者所有,如有侵犯权益,请联络我们.


每个Xenserver服务器都有一个或多个网络。XenServer 网络是虚拟的以太网交换机,它可以连接到外部接口(带或不带 VLAN 标记),或者是单个服务器或池内部完全虚拟的网络。 在物理服务器上安装XenServer 后,系统将为该服务器上的每个物理 NIC 创建一个网络。该网络在虚拟机上的虚拟网络接口 (VIF) 在主机服务器上网络接口卡 (NIC) 所关联的物理网络接口 (PIF) 之间起到桥接的作用。将Xenserver服务器移至资源池中时,这些默认网络将合并,这样,设备名称相同的所有物理NIC 都将连接到同一个网络只有当您希望创建内部网络、使用现有 NIC 设置新 VLAN 或创建 NIC 绑定时,才需要添加一个新网络。最多可为每个托管服务器配置 16 个网络,或者最多配置 16 个绑定的网络接口。

 

 XenServer有四种网络类型:

1. 单服务器专用网络:这种网络类型属于内部网络,与物理网络接口没有关联,仅在指定服务器上的虚拟机之间提供连接,不与外部连接。

2.  外部网络:这种类型的网络与物理网络接口关联,在 VM 与外部网络之间起到桥接作用,从而使 VM 能够通过服务器的物理网络接口卡连接外部资源。

3.  绑定网络:此类网络的构成方式是将两个 NIC 绑定到一起,以创建连接 VM 与外部网络的高性能单一通道。NIC 绑定可以通过将两个物理 NIC 用作如同是一个 NIC 来提高 XenServer 主机恢复能力。具体而言,NIC 绑定是一种用来增加恢复能力和/或带宽的方法,在此方法中,管理员可以将两个 NIC 配置在一起,使其在逻辑上充当一块网卡。这两个 NIC 具有相同的 MAC 地址,对于管理接口来说,则具有一个 IP 地址

4. 跨服务器专用网络:这种网络类型属于池级别的网络,在一个池中的各 VM 之间提供专用连接,但不与外部连接。跨服务器专用网络将单服务器专用网络的隔离属性与跨资源池的功能结合在一起,从而可以对连接跨服务器专用网络的 VM 使用 VM 的各种灵活功能(如 XenMotion 实时迁移和 Workload Balancing (WLB))。尽管 VLAN 也提供类似功能,但与 VLAN 不同的是,跨服务器专用网络通过使用通用路由封装 (GRE) IP 隧道协议提供隔离功能,而无需配置物理交换机结构。要创建跨服务器专用网络,必须满足一些条件,包括池中的所有服务器必须使用 XenServer 5.6 FeaturePack 1 或更高版本,所有服务器必须使用 OpenVSwitch 来进行网络连接,必须配置了 vSwitch 控制器,用来处理 vSwitch 连接所需的初始化和配置任务(必须在 XenCenter 外部完成)。


 


在XenServer中,为了提供网络层面的冗余或者负载均衡功能,我们需要对网卡进行绑定(bond),但是在XenServer中,在XenCenter中创建绑定的时候只能选择两块物理网卡进行绑定,无法实现三块网卡,甚至更多网卡的绑定。XenServer为了这些需求,提供了CLI命令来解决这些问题。

在开始对多个网卡进行绑定之前,我们需要了解一下XenServer中关于绑定的一些处理方法和流程。

  1. 首先,在XenServer中创建一个Network对象,最后Bond会关联到该对象,并分配给VM
  2. 规划要绑定的物理网卡以及绑定模式
  3. 创建绑定(bond-create),关联Network对象即可
我们在使用XenCenter创建绑定的时候,会自动的完成上面的过程,但是通过CLI来创建绑定,我们就需要手动来创建相关的对象了,同时我也会列出相关的截图,方便大家理解。

我们可以看到,XenCenter中的显示,主机默认4块网卡,默认每个网卡一个Network对象。

绑定过程:
1
2
3
4
5
6
7
#创建Network对象,成功后返回Network对象UUID
xe network-create name-label= "Bond 1+2+3"
#查看物理网卡UUID
xe pif-list params=device,uuid
#绑定eth1,eth2,eth3,并关联到预先创建好的network对象
#可以指定绑定模式,XenServer6.0提供了两种模式支持active-back和balance-slb
xe bond-create pif-uuids=<eth1,eth2,eth3 's uuid> network-uuid=<network uuid>
在第一步中,完成了Network对象的创建以后,我们就可以在Network标签中看到新创建的Network对象,另外其他四个物理网卡对应的Network对象也可以看到。
在我们完成了Bond的创建,并关联上Network对象以后,我们可以发现,在Network显示中,Bond 1+2+3的MAC地址已经自动生成,而,以前物理网卡eth1,eth2,eth3对象的Network 1,Network 2,Network 3已经消失了。这是因为,在创建网络绑定的过程中,XenServer会解除物理网卡到以前网卡对象的关联,防止再去使用单独的物理网卡。
BTW:这里只是说的是到Network对象的关联被解决,而对应的内部Bridge还是存在的,具体大家可以自己去理解了。

来源: <http://xenme.com/1303>
 


作业环境

XenServer服务器

硬件型号:Dell PowerEdge R720

OS:XenServer 6.2

Hostname:xsr01

Eth0 IP:192.168.0.241/24

Gateway:IP:192.168.0.1/24

三层交换机

硬件型号:Quidway S5700

VLAN信息:

VLAN10网段为192.168.10.0/24,管理IP为192.168.10.1

VLAN20网段为192.168.20.0/24,管理IP为192.168.20.1

VLAN100网段为192.168.0.0/24,管理IP为192.168.0.1

三个VLAN相互隔离,

Xenserver的管理端口Eth0和XenCenter所在的PC机均连接到VLAN100的端口上。

另外,为本案实验方便起见,交换机上为各VLAN开设了DHCP地址池,允许远端系统自动获取IP地址及DNS地址。

本案中交换机前6个端口所属VLAN,以及交换机与服务器各端口的连接情况,如下图所示。

wKioL1PBDvbR32h9AABoCORFHrs850.jpg

注:1、2端口属于VLAN100,3、4端口属于VLAN10,5、6端口属于Trunk口。

Trunk口允许所有的VLAN通过。

一、关于XenServer网络

在物理服务器上安装XenServer后,系统将为该服务器上的每个物理NIC创建一个网络。该网络在虚拟机上的虚拟网络接口(VIF)与和主机服务器上的网络接口卡(NIC)所关联的物理网络接口(PIF)之间起桥接作用。XenServer网络是其系统内部虚拟的以太网交换机。

wKiom1PBFEWQr6iIAADakmiYEUE516.jpg

XenServer默认安装过程中会选择第一块网卡eth0对应的网络Network0作为管理端口,对于每个XenServer 主机,XenServer 最多支持 16 个网络(或最多支持 8 个已绑定的网络);对于每个 VM,最多支持 7 个虚拟网络。

在 XenServer 中可以配置四种不同类型的网络:

1、外部网络:与物理网络接口相关联,在虚拟机与外部网络之间起到桥接作用,从而使虚拟机能够通过服务器的物理网络卡连接到可用的资源。

2、绑定网络:可在两个 NIC 之间创建一个绑定,以在虚拟机与网络之间创建一个高性能通道。可支持主动-主动和主动-被动两种绑定模式。

3、单服务器专用网络:其与物理网络无关联,可用于提供指定主机上的虚拟机之间的连接,而与外界无连接。

4、跨服务器专用网络:对单服务器专用网络这一概念进行了扩展,允许不同主机上的 VM 使用 vSwitch相互通信。

XenServer网络的设置,说复杂也复杂,因为网络理解与其他虚拟化工具不大相似;说简单也简单,因为绝大部分的操作都可以通过XenCenter图形界面完成。

一、虚拟网络

打开XenCenter,连接并选择xsr01服务器,在其右侧切换到网络连接标签,里面会显示这台服务器的网络配置信息。

如下图所示,xsr01服务器有4块网卡,系统默认为每个网卡创建了一个虚拟网络Network,也就是说,此时系统内部有四台虚拟的交换机,每个虚拟交换机通过一个物理网卡与外界的物理交换机通讯。

wKioL1PBDyfB69rNAAF_VwWJJ3Y049.jpg

在上图中,通过单击Properties按钮,在弹出的网络属性对话框中可以更改名称、说明、文件夹、标记和自定义字段属性等。

本案将把“Network0”改名为“Network-VLAN100”。

wKiom1PBD1rCSnkfAADaoTeAyhk722.jpg

本案中,网卡NIC0和NIC1分别连接到交换机的属于VLAN100和VLAN10的端口,对应地此处将Network0、Network1分别改名为Network-VLAN100、Network-VLAN10。名字的定义是随意的,改名主要是为了方便记忆管理。

Network2、Network3,在后文中要被绑定,此时暂不改名。

wKioL1PBDzTS3aFeAAGBLIT55qQ370.jpg

以上更改的结果,在PC机上,需要关闭、重新开启XenCenter并连接xsr01才能看到。

在上图中单击界面底部的“Configure”按钮,将弹出“Configure IP Addresses”窗口,可为网络配置IP。

三、配置网络IP

在“Configure IP Addresses”窗口中,在这里更改或增删IP地址。

管理网络Management作为特殊的网络,不可删除。

单击左侧边框里的“Add IP address”,将进入到新增IP的界面。

wKiom1PBD2mRdMv0AADhS8hXBFg592.jpg

新增的IP地址,默认是以“Storage+数字”命名的,因为这一步设计的初衷是用于连接存储设备,这里改名为STVLAN10。Network下拉框中选择“Network-VLAN10”,即对应到网卡NIC1。接着设置IP,交换机里虽然启用了DHCP,不过这里为统一起见,使用固定IP 192.168.10.241。

在生产环境中,这一网络端口往往用于连接存储设备。本案中,由于没有存储设备,该网络用于桥接虚拟机。

wKioL1PBDz6gbwMLAADWK1VKqhE144.jpg

添加IP完成后的结果如下图所示。

wKioL1PBD02gzhz4AAGWqC1le_o169.jpg

顺便提一下,这里提供的是一种通过XenCenter修改网络IP的方法。在XenServer系统主界面中,有一个“Networking and Management Interface”的选项,从中也可以理改IP,但在那里似乎所有网卡都成了管理,如果设置eth1的IP地址,则eth0的IP也跟着变化,不好处理,处理不好会造成断网。第三种方法,是通过CLI命令进行设置,此文不涉及。

四、虚拟机桥接

本案中,新建并运行了一个CentOS6.5虚拟机,只配置了一个虚拟网卡,将系统设置成通过DHCP获取IP地址。

通过XenCenter查看该虚拟机,在其Networking标签栏中,可以看到该虚拟网卡连接到物理主机名为Network-VLAN100的网络,也就是说,该虚拟机通过物理机的Network-VLAN100上网。

wKiom1PBD4SC4PJRAAE3xm4r4hE861.jpg

注,如果这个界面上看不到IP,请在虚拟机系统里安装xe-tools。

如果局域网没有提供DHCP服务,请到虚拟机系统里手动配置VLAN10网段的IP及网关等。

通过Properties按钮,弹出Virtual Interface Properties对话框,可以更改其桥接的宿主机虚拟网络。本案中,将其改为Network-VLAN10。点击OK按钮完成设置。

wKiom1PBD4bDjj_dAABuXqi4Oig888.jpg

设置完成后,过十来秒钟,该虚拟机会自动通过DHCP获得VLAN10里的IP地址(当然,如果嫌慢,也可以到系统里使用server network restart重启网络,但XenCenter仍然需要花费约一分钟的时间,才能将IP同步过来),在Networking界面上显示,本案是192.168.10.225,进入系统使用ifconfig查看到的IP便是这个。

wKiom1PBD4vAelTnAAE_xLlGW_I233.jpg

五、双网卡绑定

网卡绑定(NIC Bonding)技术,在Linux 世界里,是用得很普遍的。相关的技术信息可参考笔者以前的博文《Linux bonding研究及实现》。

Linux提供了多种绑定模式的支持,XenServer的bond是基于Linux的绑定功能,但是官方指出,只支持mode 6(Active/Active)与Mode 1(Active/Passive)两种模式,使用其他模式,可能不受官方技术支持,但是实际测试发现,XenServer的绑定也支持其他一些模式。

网卡绑定,常见的是双网卡绑定,其实现是将两块网卡虚拟成为一块网卡设备,简单来说,就是两块网卡共享同一个 MAC 地址和IP地址而并行链接聚合成一个逻辑链路工作,提供网络层面的冗余或者负载均衡功能。如果绑定中的有一个网卡失败,则主机的网络通信会自动通过另一个网卡重定向。

XenServer 支持主动-主动、主动-被动和 LACP三种绑定模式。支持的 NIC 数量和绑定模式随网络堆栈而异:LACP 绑定仅适用于 vSwitch,而主动-主动和主动-被动对于 vSwitch 和 Linux 桥均可用。当 vSwitch 是网络堆栈时,可以绑定两个、三个或四个 NIC。当 Linux 桥是网络堆栈时,只能绑定两个 NIC。

在XenCenter上,xsr01的Networking界面中,单击中间的Add Network按钮,将弹出New Network对话框。

在New Network对话框中,选择Bonded Network,然后下一步。

wKioL1PBD1_iTWsgAADQUQcMeqs156.jpg

这里选择需要绑定的两张网卡NIC2和NIC3,绑定模式选择“Active-active”,MTU保留默认值。点击Finish按钮,完成绑定。

wKioL1PBEXjg68bpAAEXcKB-nIY600.jpg

注:选择主动-主动绑定类型可以在两个绑定的NIC之间平衡通信,如果中一个NIC出现故障,主机服务器的网络通信将自动通过另一个NIC进行路由;

选择主动-被动绑定类型,通信仅通过其中一个绑定的NIC传输。在此模式下,只有在活动NIC出现故障时,另一个NIC才会变成活动状态。

若要使用巨型帧,需将最大传输单元(MTU )的值设置为介于1500 与 9216 之间;

若要新网络添加到使用新建VM 向导创建的任何新VM 中,需勾选自动将此网络添加到新虚拟机复选框

绑定后在XenCenter网络栏中看到的是NIC2和NIC3绑定后的网卡Bond2+3,其对应的网络名字默认与之同名。可以通过Properties进行更改。由于下文会把该绑定网卡放入到名为Network-VLAN20的网络中,此处不对Bond2+3进行改名。

wKiom1PBEa2j728tAAGTUH_zV1o270.jpg

如果要删除创建的网络,在列表中选择要删除的网络,然后单击Remove Network按钮即可。

在 XenCenter中创建绑定的时候只能选择两块物理网卡进行绑定,无法实现三块网卡,甚至更多网卡的绑定。对于这些需求,虽然在实践中少有应用,但XenServer还提供了 CLI命令来解决这些问题,网上的一篇文章《XenServer中创建多块网卡的绑定》对此有很详细的讲解,但笔者尚没有实践过。

六、添加外部网络

XenServer允许一个物理网卡支持多个逻辑VLAN网络。当使用VLANs时,XenServer将会连接到交换机的trunk端口,VLANs允许网络管理员进行流量或带宽隔离,或者其他安全操作。

XenServer的外部网络(External Network),是基于VLANs的。 如果XenServer启用了外部网络,那么,其对应的物理网卡所连接的对端交换机的端口,必须配置为中继端口,并且进行了802.1q封装。

本案中,交换机上的5、6号端口已配置成Trunk口,并且允许包括VLAN20在内的所有VLAN流量通过。

在XenCenter上,xsr01的Networking界面中,单击中间的Add Network按钮,将弹出New Network对话框。在New Network对话框中,选择External Network,然后下一步。

wKioL1PBEf7yq8aYAADVrIgubd0099.jpg

自定义名称,可根据业务类型、VLAN划分情况等进行区分,这里命名为Network-VLAN20,表示连接到外界的VLAN20。

wKiom1PBEjHQbWC1AACTvaqAt-o387.jpg

接下来,选择已绑定的2+3端口,输入将要分配的VLAN号。

勾选 “Automatically add this network to new machines”,表示以后新建虚拟机时,默认会创建一个连接到该网络的虚拟网卡。

注,如果交换机上没有VLAN20,或是相应的端口没有设置成Trunk口,xsr01主机的网络将会出现问题。

wKioL1PBEgPA6A0lAACjXZtZqWo447.jpg

添加成功后,结果如下图所示。

wKiom1PBEjmgabhSAAGeuj3ydmI105.jpg

接下来,为上述新建的网络Network-VLAN20配置IP。

通过单击上图中的Configure按钮,弹出Configure IP Address对话框。在Configure IP Address对话框中单击Add IP address,新增一个IP地址,在此为Network-VLAN20配置IP等。如下图所示。

wKiom1PBEsTwhZB1AADtFykTTsU912.jpg

注,这一步是选择Network-VLAN20,而不是Bond2+3。如果是选择后者的话,与前面选择Network10(NIC1)就没有区别了。

配置完成,结果如下图所示。

wKiom1PBEsuBHYlXAAGwTG1OBCk352.jpg

将虚拟机CentOS6.5vm01的虚拟网卡桥接到上述新增的Network-vlan20,过一段时间,可看到该虚拟机自动通过DHCP获得VLAN20里的IP地址。

wKiom1PBEtDy2DrdAAE_M-n1mWE145.jpg

由于上述操作中,勾选 “Automatically add this network to new machines”,以后新建虚拟机,在配置虚拟网卡这一步中,Network-vlan20成了默认网络之一。

wKioL1PBEqSSblJuAAD2E-X1xwU651.jpg

七、其他 

上述操作完成后,到xsr01命令行控制台里使用ifconfig命令,可查看到很多奇怪的网络信息。有兴趣的朋友不妨研究一下,笔者还不是很理解呢。

wKiom1PBE2ezfV1KAAFvHzweMwQ366.jpg

wKiom1PBHJayr9WkAAKrzwP0Q0c190.jpg

此外,Single-Server Private Network的配置,其操作与上述过程类似,这里就不研究了。


 










展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部