6. 虚拟机路由方案及配置
在虚拟化的数据中心中,虚拟机承载着关键业务,其相互之间的通信必不可少,虚拟机的网卡桥接在宿主机的网桥上,以宿主机的IP地址作为默认网关,同一物理机上的虚拟机之间的通信,直接通过宿主机网桥可二层互通,不同宿主机上的虚拟机通信经过三层转发互通。
6.1 本节目标
- 理解VM直接的通信过程;
- 学习在leaf交换机上配置VM的路由;
- 学习在VM及其宿主机上配置VM的路由;
6.2 拓扑结构
本节在上一节的基础上增加了3个VM:ks0,ks1,ks2. 其宿主关系和网络结构如下图所示。
6.3 测试资源创建
- 按上图所示,在三台物理机上创建3个VM(ks0,ks1,ks2);
- 将VM的网卡桥接到前面章节创建的宿主机网桥br0上。
6.4 路由方案及配置
以ks1和ks2之间通信为例,ks2发往ks1的包,源地址为ks2的IP,目标地址为ks1的IP,流量路径如下:
- 在ks2上查询路由表,将包发往宿主机devopsr01n01;
- devopsr01n01收到包后,查询路由表,将包发往leaf交换机;
- leaf交换机收到包后,查询路由表,发往devopsr01n02;
- devopsr01n02收到包后,查询路由表,将包发往ks1;
如果是ks2和ks0之间的通信,则还需经过spine,在流量途径的所有设备上,都必须要有目标IP地址的路由,才能够成功建立通信,这些设备包含:
- VM
- 宿主机
- leaf
- spine
由于spine上的路由条目全部通过BGP协议从leaf学习而来,因此不需要在spine上进行额外配置,而上述其余设备上,则都需要对VM的路由进行配置,接下来讲解具体的配置方法,大致步骤为:
- 物理机配置网桥,将虚拟机桥接到网桥上;
- 物理机开启内核转发功能;
- 物理机配置路由表,以等价多路径方式将默认路由指向两个物理网口;
- 交换机上配置虚拟机的路由条目;
6.4.1 VM网络规划与路由配置
-
按下表为3个VM分配ip地址:
VM hostname VM IP 宿主机IP ks0 10.10.20.24 10.10.10.24 ks1 10.10.20.22 10.10.10.22 ks2 10.10.20.21 10.10.10.21 -
根据上面的ip地址为三个VM配置ip地址,以ks2为例,ks0,ks0按例配置即可,从VM上发出的所有流量都发送给宿主机进行处理,因此将网关配置为宿主机IP即可。
# 将/etc/network/interfaces文件内容替换为如下 auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.10.20.21 # ks1 netmask 255.255.255.255 # 32位掩码 gateway 10.10.10.21 # 网关为宿主机IP
-
在三个VM上重启networking服务
service networking restart
-
查看VM上的路由表
root@ks2:~# ip route default via 10.10.10.21 dev eth0 onlink
6.4.2 宿主机路由配置
VM的网卡桥接在宿主机的网桥br0上,因此将目标地址为VM的包发往br0即可,以ks2的宿主机devopsr01n01为例,注意,需要在宿主机上开启内核转发
|
查看宿主机的路由条目如下:
|
请按例对其他两个VM的宿主机配置路由。
6.4.3 在leaf上配置VM的路由
在leaf上配置目标地址为VM的路由下一跳为VM的宿主机业务ip, 以在leaf01上配置ks1的路由为例
|
与前面的章节中配置物理机一样,对于VM的路由,同样有必要判断路由的有效性,通过上文的分析及拓扑图,可以看出,仅当leaf与宿主机相连的链路up时,流量可以直接从leaf发往宿主机,因此判断方法与前面物理机路由有效性一样,是以leaf与物理机的互联链路状态为依据的,前文我们通过PingCheck这个扩展模块来监控链路状态,并在链路状态变化时进行路由切换,leaf01与ks1的宿主机devopsr01n02之间的链路监测进程为PingCheck4,查看其当前的配置与状态
|
因此,在链路状态由UP变为DOWN时,应使到ks1的路由失效,则需在/mnt/flash/pingcheck/failed_4.conf中加入下面的内容
|
当链路状态由DOWN变为UP时,应使到ks1的路由恢复,则需在/mnt/flash/pingcheck/recover_4.conf中加入下面的内容
|
同理,在leaf01/02/03/04上完成三个VM的路由配置。
6.5 测试
完成上面的配置后,测试VM之间是否能互相ping通。
6.6 小结
本节介绍了在spine leaf网络中如何配置VM的路由,需要在VM,宿主机和leaf交换机上都进行相关的配置。与物理机路由一样,在leaf上同样需要检测到VM的路由的有效性,本文也介绍了检测原理与具体配置。接下来的章节将介绍在spine leaf网络中的服务高可用及负载均衡方案。
上一节:叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(五) - 物理服务器路由方案及配置
下一节:叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(七) - 负载均衡及高可用