1. 程式人生 > >Solaris 配置IPMP(雙網絡卡繫結)

Solaris 配置IPMP(雙網絡卡繫結)

使用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