作者:田逸(vx formyz)


需求的产生

在一个高配置的Proxmox VE 超融合集群中,为充分利用资源,需要按某种需求将虚拟机之间进行网络隔离,以支持更大规模的场景。


网络虚拟化基本条件

ü 支持VLAN的网络交换机。

ü Proxmox VE 安装openvswitch-switch。

ü 多网卡服务器。


交换机配置

我这里用的交换机是Cisco Catalyst 4500,具体的步骤是如下:

1、 创建vlan 80,vlan 81,vlan 82,vlan 83。在全局配置模式下,执行命令


STYF1(config)#vlan 80-83


2、 三节点服务器分别连接网线到交换机端口1到3,将这三个端口设置成干道trunk,启动非协商模式,排除vlan 1通过,执行命令


STYF1(config)#interface GigabitEthernet1/1

STYF1(config-if)#switchport mode trunk

STYF1(config-if)#switchport nonegotiate

STYF1(config-if)#switchport trunk allowed vlan 2-4094


STYF1(config-if)#interface GigabitEthernet1/2

STYF1(config-if)#switchport mode trunk

STYF1(config-if)#switchport nonegotiate

STYF1(config-if)#switchport trunk allowed vlan 2-4094


STYF1(config-if)#interface GigabitEthernet1/3

STYF1(config-if)#switchport mode trunk

STYF1(config-if)#switchport nonegotiate

STYF1(config-if)#switchport trunk allowed vlan 2-4094


3、 验证配置是否生效,执行命令


STYF1#show running-config

Building configuration...


Current configuration : 2889 bytes

!

version 15.0

vtp mode transparent

………………………….省略若干……………………………………….

vlan internal allocation policy ascending

!

vlan 80-83

!

!

!

interface FastEthernet1

ip vrf forwarding mgmtVrf

no ip address

speed auto

duplex auto

!

interface GigabitEthernet1/1

switchport trunk allowed vlan 2-4094

switchport mode trunk

switchport nonegotiate

!

interface GigabitEthernet1/2

switchport trunk allowed vlan 2-4094

switchport mode trunk

switchport nonegotiate

!

interface GigabitEthernet1/3

switchport trunk allowed vlan 2-4094

switchport mode trunk

switchport nonegotiate

!

interface GigabitEthernet1/4

…………………………………….略………………………………


4、 配置模式下输入指令write永久保存。


Proxmox VE 超融合集群上的操作

分安装软件、网络配置、配置验证几个步骤,下边分别介绍。


Promxox VE 超融合集群安装openvswitch-switch


集群的每一个节点,都要进行安装,安装的步骤很简单,仅需输入命令“apt install openvswitch-switch”即可。


网络规划及配置


集群服务器每节点有四个网口,网口eno3作为管理地址,网口eno4虚拟出2个网段,vlan ID分别为80和81。登录Proxmox VE 集群Web管理后台,对每一个节点进行如下操作。

Proxmox VE 超融合集群OVS(Open vSwitch)虚拟机网络隔离_网络接口

第一步:创建OVS Bridge。选定节点子菜单“网络”,点击页面左上方按钮“创建”,填写好“桥接端口”为“eno4”及其它信息。

Proxmox VE 超融合集群OVS(Open vSwitch)虚拟机网络隔离_服务器_02

第二步:创建OVS IntPort。必须填写在交换机上创建的VLAN值,并给接口填写预先规划好的地址。

Proxmox VE 超融合集群OVS(Open vSwitch)虚拟机网络隔离_桥接_03

重复这个步骤,用同一个OVS Bridge创建好剩余的OVS IntPort并配好网络地址,注意不要设置多个默认网关。


第三步:物理接口标识VLAN Trunk,指定许可通过的VLAN流量。编辑作为OVS 桥接接口的网络接口,OVS填写交换机设置好的VLAN项值。

Proxmox VE 超融合集群OVS(Open vSwitch)虚拟机网络隔离_网络接口_04

第四步:使虚拟网络设置生效。单击页面上部按钮“应用配置”,即可立即生效(旧的版本需要手动重启宿主系统)。

Proxmox VE 超融合集群OVS(Open vSwitch)虚拟机网络隔离_网络接口_05

第五步:验证配置的正确性。登录任意Proxmox VE 超融合集群节点宿主系统Debian,以指令Ping 另一个节点设定的虚拟IP地址,如“ping 172.16.80.20”,能成功则基本表明配置正确。


虚拟机网络隔离


在Proxmox VE集群每个节点上创建两个虚拟,网络接口分别设置为vlan 80及vlan 81,安装后,对其虚拟机系统设置相应的IP地址。Proxmox VE 超融合集群OVS(Open vSwitch)虚拟机网络隔离_4s_06

第2个虚拟机,VLAN标签设定为81。在节点pve1上,虚拟机s80-101地址为“172.16.80.101”,虚拟机s81-101地址为“172.16.81.101”.在节点pve2上,虚拟机s80-102地址为“172.16.80.102”,虚拟机s81-102地址为“172.16.81.102”。

Proxmox VE 超融合集群OVS(Open vSwitch)虚拟机网络隔离_ip地址_07

登录任意虚拟机,比如登录172.16.80.101,用指令“ping 172.16.80.102”(在另一个物理节点上的虚拟机),能ping通则视为正常。再登录虚拟机172.16.81.102,用指令”ping 172.16.81.101”,能ping通则视为正常。


在同一节点,比如pve1 创建虚拟机,VLAN标签设置为81,而虚拟机的IP地址设置为172.16.80.103.登录虚拟机172.16.80.101或者172.16.80.102,用指令“ping 172.16.80.103”,如果ping不通,则为隔离有效,虽然它与其它虚拟机处于同一个物理网口。