目录
目录
一、Vmware Workstation 网络配置
1. windows网络适配器
2. Vmware 虚拟网络编辑器
3. 虚拟机管理(增/删硬件)
二、虚拟机网络配置
1. CentOS 6及(real6 及以前)
2. CentOS 7 以后
三、Bond网卡7类型
1.1 bonding概述:
双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性。网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包,tcpdump工作用的也是混杂模式(promisc),将两块网卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进行处理。
1.2 bonding模式(bonding mode)
bond网卡示例配置:
DEVICE=bond0
TYPE=Bond
BOOTPROTO=none
ONBOOT=yes #自启动
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.3
BONDING_OPTS="mode=0" #网卡模式
Bond模式 | 交换机配置 |
mode=0 balance-rr 轮询均衡模式 | LACP mode on 强制链路聚合 |
mode=1 active-backup 主备模式 | 无 |
mode=2 balance-xor HASH均衡模式 | LACP mode on 强制链路聚合 |
mode=3 broadcast 广播模式 | LACP mode on 强制链路聚合 |
mode=4 LACP (802.3ad) 动态链路聚合 | LACP动态协商 |
mode=5 balance-tlb 发送负载均衡 | 无 |
mode=6 balance-alb 收发负载均衡 | 无 |
模式0 balance-rr
模式0(mode=0,round-robin):此模式使用轮询策略,即顺序的在每一个被bond的网卡上发送数据包,这种模式提供负载均衡和容错能力。Bond0可以保证bond虚拟网卡和被bond的两张或多张物理网卡拥有相同的MAC地址,其中bond虚拟网卡的MAC地址是其中一张物理网卡的MAC地址,而bond虚拟网卡的MAC地址是根据bond自己实现的一个算法来选择的。
在bond0模式下,如果一个连接或者会话的数据包从不同的网口发出,途中再经过不同的链路,则在客户端很有可能会出现数据包无序到达的现象,而无序到达的数据包一般需要重新发送,这样网络的吞吐量就会下降。同时,如果做bond0的两张或多张网卡接到了同一交换机上,还需对其配置聚合模式。
模式1 active-backup
模式1(mode=1,active-backup):此模式使用主被策略(热备)。在所有做bond1的物理网卡中,同一时刻只有一张网卡被激活,当且仅当活动网卡失效时才会激活其他的网卡。这种模式下做bond的两张或多张网卡的MAC地址和Bond虚拟网卡的MAC地址相同,而Bond的MAC地址是Bond创建启动后活动网卡(Active Slave)的MAC地址。这种模式要求主被网卡能快速的切换,即当主网卡出现故障后能迅速地切换至备用网卡。切换过程中,上层的应用几乎不受影响,因为Bond的驱动程序会临时接管上层应用的数据包,存放至数据缓冲区,等待备用网卡启动后再发送出去。但是如果切换时间过长,则会引起缓冲区的溢出,导致丢包。
模式2 balance-xor
模式2(mode=2,balance-xor):xor为异或运算(二进制位相异为1,相同为0)。此模式的默认选择策略是:
选择网卡的序号=(源MAC地址 XOR 目标MAC地址) % Slave网卡(从网卡)的数量。
其他的传输策略可以通过xmit_hash_policy配置项指定。
模式3 broadcast
模式3(mode=3,broadcast):使用广播策略,数据包会被广播至所有Slave网卡传送。
模式4 LACP (802.3ad)
模式4(mode=4,802.3ad):使用动态链接聚合策略,启动时会创建一个聚合组,所有Slave网卡共享同样的速率和双工设定。必要条件:
1.支持使用ethtool工具获取每个slave网卡的速率和双工设定;
2.需要交换机支持IEEE 802.3ad 动态链路聚合(Dynamic link aggregation)模式
模式5 balance-tlb
模式5(mode=5,balance-tlbtransmitload balancing):基于每个slave网卡速率选择传输网卡。必要条件:支持使用ethtool工具获取每个slave网卡的速率。
模式6 balance-alb
模式6(mode=6,balance-alb,Adaptive load balancing):该模式包含了bond5模式,同时还支持对IPV4流量接收时的负载均衡策略(receive load balance, rlb),而且不需要任何交换机的支持。
必要条件:ethtool支持获取每个slave的速率;
底层驱动支持设置某个网卡设备的硬件地址。
1.3 bond 0 配置实验
实验:双网卡做bond0,启用轮询策略。
1.3.1 虚拟机管理:添加模拟硬件:
1.3.2 查看网卡mac
ifconfig ens32 # ifconfig 网卡名称
1.3.3 编写bond0 的slave 网卡配置文件
在此以ens32为例:(注:写MAC地址是为了便于系统识别,以免造成网卡竞争,报错)
ens33与此类似
vim /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE=ens32
HWADDR=00:0c:29:a9:8f:b1 #这个网卡MAC是刚刚查询的,一定要对应清楚
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
1.3.4 编写bond0 网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.13
NETMASK=255.255.255.0
GATEWAY=192.168.1.3
BONDING_OPTS="mode=0"
1.3.5 重启网络服务
systemctl restart network