使用IPMP实现网卡负载(网卡负载就是需要两张网卡共用一个IP地址实现网卡灾备功能)。修/etc/hosts、/etc /hostname.bge0、/etc/hostname.bge1、 /etc/defaultrouter、/etc/netmasks 五个文件,具体配置如下:
使用Solaris 10 的IPMP实现网卡负载均衡功能,网卡负载均衡即使用两个或两个以上的网卡共用一个IP地址,实现网卡灾备的功能。
在本例中实现此项功能需要配置/etc/hosts、/etc/hostname.vmxnet0、/etc/hostname.vmxnet1、 /etc/defaultrouter、/etc/netmasks 等五个文件。
以下过程为配置过程:
1.验证系统的版本
# uname -a
SunOS Solaris10 5.10 Generic_118855-33 i86pc i386 i86pc
或
# cat /etc/release
Solaris 10 11/06 s10x_u3wos_10 X86
Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 14 November 2006
2.修改EPROM中的 local -mac -address?= 的参数值,设置网卡使用自身的MAC地址,重启后生效。
#eeprom local-mac-address?=true
注意:此命令在解除 ipmp 时是否需要更改
3.设置子网掩码
# vi /etc/netmasks
192.1.1.0 255.255.255.0
4.编辑 /etc/hosts 文件
# vi /etc/hosts
#
# Internet host table
#
127.0.0.1 localhost
192.1.1.200 Solaris10 #此地址为将要虚拟出来用于服务的IP地址
########configure for ipmp################
192.1.1.201 Solaris10-test1 #test ip 1 #此地址为 vmxnet0 的实际地址
192.1.1.202 Solaris10-test2 #test ip 2 #此地址为 vmxnet1 的实际地址
##########################################
5.编辑 /etc/hostname.vmxnet0
# vi /etc/hostname.vmxnet0
Solaris10 netmask + broadcast + group fzu1 up addif Solaris10-test1 netmask + broadcast + deprecated - failover up
注意: Solaris10为系统主机名
Solaris10-test1用于本次测试的ip地址
fzu1为本次测试的 IPMP 的组名
以上命令解释:
Solaris10 用于本案例的主机名称
netmask + 子网掩码由文件 /etc/netmasks 和 /etc/hostname.vmxnet0 计算的出
broadcast + 广播地址由文件 /etc/netmasks 和 /etc/hostname.vmxnet0 计算的出
group fzu1 设置本案例中的 IPMP 组名为 fzu1
addif Solaris10-test1 增加一个以 Solaris10-test1 的子接口
deprecated 标志此为一个测试用端口并不用于服务
- failover 标志此逻辑接口不用于故障切换
up 标志此逻辑接口启动
6.编辑 /etc/hostname.vmxnet1
# vi /etc/hostname.vmxnet1
Solaris10-test2 netmask + broadcast + group fzu1 deprecated - failover up
注意: Solaris10为系统主机名
Solaris10-test1用于本次测试的ip地址
fzu1为本次测试的 IPMP 的组名
以上命令解释:
Solaris10-test2 设置一个用于本案例的 Solaris10-test2 的子接口
netmask + 子网掩码由文件 /etc/netmasks 和 /etc/hostname.vmxnet1 计算的出
broadcast + 广播地址由文件 /etc/netmasks 和 /etc/hostname.vmxnet1 计算的出
group fzu1 设置本案例中的 IPMP 组名为 fzu1
deprecated 标志此为一个测试用端口并不用于服务
- failover 标志此逻辑接口不用于故障切换?是否不应该使用 -failover 而使用 failover呢??
up 标志此逻辑接口启动
8.设置 /etc/defaultrouter
# vi /etc/defaultrouter
192.1.1.253
#默认网关,IPMP会通过ping网关来检测主网卡是否正常,ping不通网关会进行切换网卡
7.测试
使用如下命令强行使网卡切换
#if_mpadm -d pcn2
下重新启用网卡
#if_mpadm -r pcn2
可以观察到网卡地址的切换,现象如下:
root:/#ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vmxnet0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.1.1.200 netmask ffffff00 broadcast 192.1.1.255
groupname fzu1
ether 0:c:29:b3:21:d3
vmxnet0:1: flags=1040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4> mtu 1500 index 2
inet 192.1.1.201 netmask ffffff00 broadcast 192.1.1.255
vmxnet1: flags=1040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4> mtu 1500 index 3
inet 192.1.1.202 netmask ffffff00 broadcast 192.1.1.255
groupname fzu1
ether 0:c:29:b3:21:dd
root:/#if_mpadm -d vmxnet0
root:/#ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vmxnet0: flags=89000842<BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER,OFFLINE> mtu 0 index 2
inet 0.0.0.0 netmask 0
groupname fzu1
ether 0:c:29:b3:21:d3
vmxnet1: flags=1040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4> mtu 1500 index 3
inet 192.1.1.202 netmask ffffff00 broadcast 192.1.1.255
groupname fzu1
ether 0:c:29:b3:21:dd
vmxnet1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 192.1.1.200 netmask ffffff00 broadcast 192.1.1.255
vmxnet1:2: flags=1040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4> mtu 1500 index 3
inet 192.1.1.201 netmask ffffff00 broadcast 192.1.1.255
root:/#if_mpadm -r vmxnet0
root:/#ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vmxnet0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.1.1.200 netmask ffffff00 broadcast 192.1.1.255
groupname fzu1
ether 0:c:29:b3:21:d3
vmxnet0:1: flags=1040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4> mtu 1500 index 2
inet 192.1.1.201 netmask ffffff00 broadcast 192.1.1.255
vmxnet1: flags=1040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4> mtu 1500 index 3
inet 192.1.1.202 netmask ffffff00 broadcast 192.1.1.255
groupname fzu1
ether 0:c:29:b3:21:dd