使用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
mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vmxnet0: flags=1000843 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 mtu 1500 index 2
inet 192.1.1.201 netmask ffffff00 broadcast 192.1.1.255
vmxnet1: flags=1040842 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 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vmxnet0: flags=89000842 mtu 0 index 2
inet 0.0.0.0 netmask 0
groupname fzu1
ether 0:c:29:b3:21:d3
vmxnet1: flags=1040842 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 mtu 1500 index 3
inet 192.1.1.200 netmask ffffff00 broadcast 192.1.1.255
vmxnet1:2: flags=1040842 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 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vmxnet0: flags=1000843 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 mtu 1500 index 2
inet 192.1.1.201 netmask ffffff00 broadcast 192.1.1.255
vmxnet1: flags=1040842 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