zoukankan      html  css  js  c++  java
  • Solaris 11中配置基于link的IPMP

    http://blog.itpub.net/29960937/viewspace-1347901/

    Tips: Record and feedback errors you have encountered.
    
    Welcome to umap  from10.204.205.253,杩炴帴鍫″瀿鎴愬姛!
    Trying 10.204.197.128 ...
    
    Last login: Tue May 14 10:30:13 2019 from 10.204.205.5
    Authorized users only. All activity may be monitored and reported       Aug 2018
    You have new mail.
    -bash-4.4$ 
    -bash-4.4$ uname
    SunOS
    -bash-4.4$ su -
    Password: 
    Authorized users only. All activity may be monitored and reported       Aug 2018
    You have new mail.
    root@lnltedmr-tds:~# ipmpstat
    usage: ipmpstat [-n] [-o <field> [-P]] -a|-g|-i|-p|-t
    
      output modes:  -a  display IPMP data address information
                     -g  display IPMP group information
                     -i  display IPMP-related IP interface information
                     -p  display IPMP probe information
                     -t  display IPMP target information
    
           options:  -n  display IP addresses numerically
                     -o  display only the specified fields, in order
                     -P  display using parsable output mode
    root@lnltedmr-tds:~# ipmpstat -p
    ipmpstat: probe-based failure detection is disabled
    root@lnltedmr-tds:~# Linu
    root@lnltedmr-tds:~# 
    root@lnltedmr-tds:~# 
    root@lnltedmr-tds:~# netadm enable -p ncp DefaultFixed
    -p: illegal option -- p
    usage: enable <enm-name>
            Enable the specified ENM.
    root@lnltedmr-tds:~# netadm list
    root@lnltedmr-tds:~# netadm list
    root@lnltedmr-tds:~# ipmpstat -p
    ipmpstat: probe-based failure detection is disabled
    root@lnltedmr-tds:~# ipmpstat -g
    root@lnltedmr-tds:~# ipadm create-ipmp ipmp1
    root@lnltedmr-tds:~# ipmpstat -g
    GROUP       GROUPNAME   STATE     FDT       INTERFACES
    ipmp1       ipmp1       failed    --        --
    root@lnltedmr-tds:~# ipadm create-ip  net2
    root@lnltedmr-tds:~# ipmpstat -g
    GROUP       GROUPNAME   STATE     FDT       INTERFACES
    ipmp1       ipmp1       failed    --        --
    root@lnltedmr-tds:~# ipadm add-ipmp -i net2 ipmp1
    root@lnltedmr-tds:~# ipmpstat -g
    GROUP       GROUPNAME   STATE     FDT       INTERFACES
    ipmp1       ipmp1       failed    --        [net2]
    root@lnltedmr-tds:~# ifconfig -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000 
    net0: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu 1500 index 3
            inet 10.204.197.128 netmask ffffff00 broadcast 10.204.197.255
            ether 0:10:e0:3d:24:88 
    net2: flags=11000803<UP,BROADCAST,MULTICAST,IPv4,FAILED> mtu 1500 index 6
            inet 0.0.0.0 netmask ff000000 
            groupname ipmp1
            ether 0:10:e0:3d:24:8a 
    sp-phys0: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu 1500 index 4
            inet 169.254.182.77 netmask ffffff00 broadcast 169.254.182.255
            ether 2:21:28:57:47:17 
    ipmp1: flags=8011000802<BROADCAST,MULTICAST,IPv4,FAILED,IPMP> mtu 1500 index 5
            inet 0.0.0.0 netmask 0 
            groupname ipmp1
    lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
            inet6 ::1/128 
    net0: flags=120002004841<UP,RUNNING,MULTICAST,DHCP,IPv6,PHYSRUNNING> mtu 1500 index 3
            inet6 fe80::210:e0ff:fe3d:2488/10 
            ether 0:10:e0:3d:24:88 
    net2: flags=20012000801<UP,MULTICAST,IPv6,FAILED> mtu 1500 index 6
            inet6 ::/0 
            groupname ipmp1
            ether 0:10:e0:3d:24:8a 
    sp-phys0: flags=120002000840<RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 4
            inet6 ::/0 
            ether 2:21:28:57:47:17 
    ipmp1: flags=28012000800<MULTICAST,IPv6,FAILED,IPMP> mtu 1500 index 5
            inet6 ::/0 
            groupname ipmp1
    root@lnltedmr-tds:~# ipmpstat -i
    INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
    net2        no      ipmp1       -------   down      disabled  failed
    root@lnltedmr-tds:~# 
    

      在远程不好搞。得去机房了。

    IPMP(IP Multipathing)是Solaris操作系统中重要特性,它将几个网络接口绑定在一起作为一个IPMP组,做到网络接口的冗余。即使其中的一个网络接口发生故障,IPMP上的业务IP不会丢失,会failover到其他接口上,避免了单点故障。IPMP可用于Oracle的RAC的公用网络或私有网络上。

    基于linkIPMP(Link Based IPMP)

    在Solaris中mpathd守护进程负责探测网络接口的故障与修复,它所用的参数配置文件为/etc/default/mpathd。IPMP根据mpathd探测网络接口故障的方法不同,可分为基于link的IPMP和基于probe的IPMP。

    基于link的IPMP具有以下特点

    –mpathd利用网络接口驱动程序进行探测(需要接口硬件支持)

    –不需要额外的测试IP地址,节省IP资源

    –默认可用(如果接口硬件支持)

    在配置IPMP时,有两种模式:Active-Active模式和Active-Standby模式。在Active-Active模式中所有网络接口都要在线处于active状态;在Active-Standby模式中,至少有一个网络接口在线处于active状态,其他网络接口处于standby状态。查看IPMP组中各个网络接口的状态信息可用ipmpstat命令。

    # ipmpstat
    usage: ipmpstat [-n] [-o [-P]] -a|-g|-i|-p|-t
      output modes:  -a  display IPMP data address information
                     -g  display IPMP group information
                     -i  display IPMP-related IP interface information
                     -p  display IPMP probe information
                     -t  display IPMP target information
           options:  -n  display IP addresses numerically
                     -o  display only the specified fields, in order
                     -P  display using parsable output mode


    Solaris 11上配置Link Based IPMP示例

    1. 设置NCP (network configuration profile) 为DefaultFixed.

    # netadm enable -p ncp DefaultFixed
    查看ncp是否为DefaultFixed. # netadm list
    TYPE        PROFILE        STATE
    ncp         DefaultFixed   online
    ncp         Automatic      disabled
    loc         Automatic      offline
    loc         NoNet          offline
    loc         DefaultFixed   online

    2. 设置IPMP的transitive-probing属性为false

    #svccfg -s svc:/network/ipmp setprop config/transitive-probing=false

    #svcadm refresh svc:/network/ipmp:default

    查看transitive-probing属性

    # svccfg -s svc:/network/ipmp listprop config/transitive-probing

    config/transitive-probing boolean false

    # ipmpstat -p

    ipmpstat: probe-based failure detection is disabled

    3. Active-Active模式 (以4个网络接口为例)

    创建IPMP组ipmp1

    # ipadm create-ipmp ipmp1

    创建网络接口net2, net3, net9和net10

    #ipadm create-ip net2

    #ipadm create-ip net3

    #ipadm create-ip net9

    #ipadm create-ip net10

    添加网络接口到ipmp1组中

    # ipadm add-ipmp -i net2 -i net3 -i net9 -i net10 ipmp1

    查看ipmp1信息

    # ipmpstat -g
    GROUP       GROUPNAME   STATE     FDT       INTERFACES
    ipmp1           ipmp1                 ok            --           net10 net9 net3 net2
    # ipmpstat -i
    INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
    net10               yes         ipmp1          -------         up          disabled    ok
    net9                 yes         ipmp1          -------         up          disabled    ok
    net3                 yes         ipmp1          -------         up          disabled    ok
    net2                 yes         ipmp1          --mbM--     up          disabled    ok

    为ipmp1设置IP地址

    # ipadm create-addr -T static -a 192.168.57.142/24 ipmp1/v4

    # ipmpstat -a
    ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
    192.168.57.142            up         ipmp1          net2              net10 net9 net3 net2
    查看ipmp1的IP地址

    # ipadm show-addr

    ADDROBJ   TYPE     STATE     ADDR

    lo0/v4           static      ok            127.0.0.1/8

    ipmp1/v4      static       ok           192.168.57.144/24

    4. Active-Standby模式

    继续上面的例子,把net9和net10转换为standby

    # ipadm set-ifprop -p standby=on -m ip net9

    # ipadm set-ifprop -p standby=on -m ip net10

    # ipmpstat -i
    INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
    net10              no           ipmp1           is-----        up          disabled    ok
    net9                no           ipmp1           is-----        up          disabled    ok
    net3                yes         ipmp1           -------         up          disabled    ok
    net2                yes         ipmp1           --mbM--     up          disabled    ok

    从ifconfig命令输出中可以看到net9和net10有STANDBY标志,处于inactive状态。

    # ifconfig -a inet

    ipmp1: flags=108001000843<up,broadcast,running,multicast,ipv4,ipmp,physrunning> mtu 1500 index 9
            inet 192.168.57.142 netmask ffffff00 broadcast 192.168.57.255
            groupname ipmp1
    net2: flags=100001000843<up,broadcast,running,multicast,ipv4,physrunning> mtu 1500 index 10
            inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
            groupname ipmp1
    net3: flags=100001000843<up,broadcast,running,multicast,ipv4,physrunning> mtu 1500 index 11
            inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
            groupname ipmp1
    net9: flags=100061000843<up,broadcast,running,multicast,ipv4,standby,inactive,physrunning> mtu 1500 index 12
            inet 0.0.0.0 netmask ff000000 
            groupname ipmp1
    net10: flags=100061000843<up,broadcast,running,multicast,ipv4,standby,inactive,physrunning> mtu 1500 index 8
            inet 0.0.0.0 netmask ff000000 
            groupname ipmp1

    官网原版:

    Commonly Used Network Administration Commands

    https://docs.oracle.com/cd/E37838_01/html/E61478/index.html

    About IPMP Administration

    https://docs.oracle.com/cd/E37838_01/html/E60991/gfkcy.html#scrolltoc

    Administering IPMP

     https://docs.oracle.com/cd/E37838_01/html/E60991/gdysw.html#scrolltoc

    How to Configure an Active-Standby IPMP Group

    https://docs.oracle.com/cd/E37838_01/html/E60991/gfyeh.html#scrolltoc

    Example 15  Configuring an Active-Standby IPMP Group

    This example shows how to create an active-standby IPMP configuration.

    $ ipadm create-ipmp ipmp0
    
    $ ipadm create-ip net0
    $ ipadm create-ip net1
    $ ipadm create-ip net2
    $ ipadm add-ipmp -i net0 -i net1 -i net2 ipmp0
    
    $ ipadm create-addr -a 192.0.2.5/24 ipmp0
    ipadm: ipmp0/v4
    $ ipadm create-addr -a 192.0.2.10/24 ipmp0
    ipadm: ipmp0/v4a
    
    $ ipadm create-addr -a 192.0.2.15/27 net0
    ipadm: net0/v4
    $ ipadm create-addr -a 192.0.2.20/27 net1
    ipadm: net1/v4
    $ ipadm create-addr -a 192.0.2.25/27 net2
    ipadm: net2/v4
    
    $ ipadm set-ifprop -p standby=on -m ip net2
    
    $ ipmpstat -g
    GROUP     GROUPNAME   STATE      FDT        INTERFACES
    ipmp0     ipmp0      ok         10.00s     net0 net1 (net2)
    
    $ ipmpstat -t
    INTERFACE  MODE     TESTADDR        TARGETS
    net0       routes   192.0.2.15/27   192.0.2.2/27
    net1       routes   192.0.2.20/27   192.0.2.2/17
    net2       routes   192.0.2.25/27   192.0.2.5/27
  • 相关阅读:
    Redis——Redis集群搭建记录 docker方式
    Redis——搭建主从模式 搭建哨兵模式
    Redis——redis的三种集群方式 (转)
    「网易官方」极客战记(codecombat)攻略-山峰-食人魔山谷挖宝-ogre-gorge-gouger
    「网易官方」极客战记(codecombat)攻略-山峰-激流回旋-slalom
    「网易官方」极客战记(codecombat)攻略-山峰_峭壁追逐_crag-tag
    「网易官方」极客战记(codecombat)攻略-沙漠-苦痛之土-harrowland
    「网易官方」极客战记(codecombat)攻略-沙漠-Sarven的宝藏-sarven-treasure
    「网易官方」极客战记(codecombat)攻略-沙漠-Sarven 围困-sarven-siege
    「网易官方」极客战记(codecombat)攻略-沙漠-神圣的雕像-sacred-statue
  • 原文地址:https://www.cnblogs.com/wangziyi0513/p/10864773.html
Copyright © 2011-2022 走看看