http://www.tokiwinter.com/configuring-transitive-ipmp-on-solaris-11/

We all know the pain of configuring probe-based IPMP under Solaris, with a slew of test addresses being required, and a long line of ifconfig configuration in our /etc/hostname.<interface> files.

With Solaris 11, there is a new type of probe-based IPMP called transitive probing. This new type of probing does not require test addresses, as per the documentation: "Transitive probes are sent by the alternate interfaces in the group to probe the active interface. An alternate interface is an underlying interface that does not actively receive any inbound IP packets".

In this article, I will configure failover (active/passive) IPMP on clusternode1 (the first node of a Solaris Cluster I'm building). Interface net0 has an address of 10.1.1.80 (configured at install time), and I'll be adding this into an IPMP group ipmp0 along with a standby interface, net1. Make sure you are performing these steps via a console connection, as the original address associated with net0 will need to be removed before attempting to add it to an IPMP group.

The first step, ensure that there is an entry in /etc/hosts for the IP address you're configuring IPMP for:

# grep '^10\.1\.1\.80' /etc/hosts

10.1.1.80    clusternode1

Next, ensure that automatic network configuration is disabled. In my case it was as I'd configured networking manually during the installation of Solaris 11:

# netadm list -p ncp –x

TYPE        PROFILE        STATE          AUXILIARY STATE

ncp         Automatic      disabled       disabled by administrator

ncp         DefaultFixed   online         active

Verify that the appropriate physical interfaces are available. In the following output, I'll be bonding e1000g0 (net0) and e1000g1 (net1) into a failover IPMP group.

# dladm show-phys

LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE

net1              Ethernet             unknown    0      unknown   e1000g1

net2              Ethernet             unknown    0      unknown   e1000g2

net3              Ethernet             unknown    0      unknown   e1000g3

net0              Ethernet             up         1000   full      e1000g0

List the current addresses – from the output of ipadm show-addr I can see that I'll need to delete net0/v4 and net0/v6, otherwise I'll be unable to add net0 to the IPMP group.

# ipadm delete-addr net0/v4

# ipadm delete-addr net0/v6

As the net0 IP interface is already created, I only need to create the net1 interface:

# ipadm create-ip net1

I can then create the IPMP group, which I'll call ipmp0:

# ipadm add-ipmp -i net0 -i net1 ipmp0

Next, enable transitive probing, which is disabled by default:

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

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

config/transitive-probing boolean     true

# svcadm refresh svc:/network/ipmp:default

And configure the appropriate interface (in my case net1) to be a standby interface (as I'm using failover):

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

Now I can create my IPv4 address on the IPMP group:

# ipadm create-addr -T static -a clusternode1/24 ipmp0/v4

# ipadm show-addr ipmp0

ADDROBJ           TYPE     STATE        ADDR

ipmp0/v4          static   ok           10.1.1.80/24

Finally, fix the default route. I removed the existing route and added a new default route using the new and correct interface – ipmp0:

# route -p delete default 10.1.1.1

# route -p add default 10.1.1.1 -ifp ipmp0

# netstat -rn -f inet

 
 

Routing Table: IPv4

  Destination           Gateway           Flags  Ref     Use     Interface

-------------------- -------------------- ----- ----- ---------- ---------

default              10.1.1.1             UG        1          0 ipmp0

10.1.1.0             10.1.1.80            U         8        388 ipmp0

127.0.0.1            127.0.0.1            UH        2        554 lo0

You can use ipmpstat to verify the configuration and health of the IPMP group:

# ipmpstat -g

GROUP       GROUPNAME   STATE     FDT       INTERFACES

ipmp0       ipmp0       ok        10.00s    net0 (net1)

# ipmpstat -a

ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND

::                         down   ipmp0       --          --

clusternode1              up     ipmp0       net0        net0

# ipmpstat -t

INTERFACE   MODE       TESTADDR            TARGETS

net1        transitive <net1>              <net0>

net0        routes     clusternode1        10.1.1.1

Let's perform a failover test. I'll disable net0 and ensure that the clusternode1 address fails over:

# ipadm disable-if -t net0

# ipmpstat -t

INTERFACE   MODE       TESTADDR            TARGETS

net1        routes     clusternode1        10.1.1.1

It works! (and my SSH connection is still active…) – net1 is now active with the correct IP address. Let's fail it back:

# ipadm enable-if -t net0

# ipmpstat -t

INTERFACE   MODE       TESTADDR            TARGETS

net0        routes     clusternode1        10.1.1.1

net1        transitive <net1>              <net0>

The address has failed back to net0, and again my SSH connection is still active. I can now continue with clusternode2, and the rest of the cluster install.

Configuring Transitive IPMP on Solaris 11的更多相关文章

  1. Solaris 11中配置基于link的IPMP

    http://blog.itpub.net/29960937/viewspace-1347901/ Tips: Record and feedback errors you have encounte ...

  2. Unix/Linux环境C编程入门教程(1) Solaris 11 64bit环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装Solaris 11 64位并且配置好C/C++开发环境 本文所 ...

  3. Solaris 11的自动化安装(AI server)的搭建

    solaris 11 总体比solaris 10很多变动的地方,可以去官方网站上面学习:http://www.oracle.com/technetwork/server-storage/solaris ...

  4. Unix/Linux周边环境C编程新手教程(1) Solaris 11 64bit环境结构

    Unix/Linux许多的版本号.我们推荐Unix/Linux刚開始学习的人选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装Solaris 11 64位而且配置好C/C++开发 ...

  5. Solaris 11 system package 安装与更新(如:assembler)

    最近在VirtualBox虚拟机中导入了Solaris 11.3.在里面安装Oracle数据库时,先行条件检查没通过,提示缺少程序包assembler. 在网上看了许多,这方面的信息还比较少.最后在O ...

  6. Solaris 11配置IPS安装系统包(类似linux中的yum源)

    参考:http://blog.chinaunix.net/uid-8860-id-3777457.html 一. 概述: Solaris 11被称为第一个云操作系统,因此在很多方面体现了云系统的一些特 ...

  7. Solaris 11中的变化

    Solaris 11发布了好几个月了,用了后感觉好多配置的东东变化不小,写写自己遇到的问题和大家分享一下, 1,如何设置root密码 Solaris 11中root作为一个Role来存在,已经不能直接 ...

  8. Oracle Solaris 11.4 GA 版发布,这将是 Solaris 的绝唱

    美国当地时间8月28日,Oracle 正式宣布推出 Oracle Solaris 11.4 GA 稳定版,距离上个版本 11.3 的发布已过去近三年.Oracle 的产品管理总监 Scott Lynn ...

  9. solaris 11 stdio.h: No such file or directory

    http://www.zendo.name/solaris-11-stdio-h%EF%BC%9A-no-such-file-or-directory/ Posted on 2012 年 3 月 23 ...

随机推荐

  1. [剑指offer]09用两个栈实现队列插入和删除操作,C++实现

    原创博文,转载请注明出处! # 本文为牛客网<剑指offer>刷题笔记 1.题目 # 用两个栈实现队列的插入和删除操作 2.思路 栈服从先入后出的原则处理数据,队列服从先入先出的原则处理数 ...

  2. fedora22 安装fcitx 输入法

    <h4>安装fcitx:</h4><blockquote>sudo yum install fcitx fcitx-pinyin fcitx-configtools ...

  3. HP G7服务器添加新硬盘

    1. 停掉 服务器(必须停了服务器),插入新硬盘.开机,出现F9和F11的时候,按下F5(这个很坑爹,没有显示F5进入阵列配置),进入阵列控制界面之后按出现红色的提示后按下F8进入阵列控制管理界面.进 ...

  4. HihoCoder 1044 垃圾清理 (优化:状态压缩)

    状态压缩·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市— ...

  5. BZOJ4709 Jsoi2011 柠檬【决策单调性+单调栈】

    Description Flute 很喜欢柠檬.它准备了一串用树枝串起来的贝壳,打算用一种魔法把贝壳变成柠檬.贝壳一共有 N (1 ≤ N ≤ 100,000) 只,按顺序串在树枝上.为了方便,我们从 ...

  6. HDU2825 Wireless Password 【AC自动机】【状压DP】

    HDU2825 Wireless Password Problem Description Liyuan lives in a old apartment. One day, he suddenly ...

  7. python笔记-11 rabbitmq

    一.理解rabbitmq的基本背景 1.理解消息队列 1.1 普通queue 在前面的博客中所提到的队列,此处均称之为普通队列 简述一下普通队列的一些分类及不足 1.1.1 基本Queue:queue ...

  8. flask第十九篇——模板【3】

    请关注微信公众号:自动化测试实战 今天我们继续模板的知识,现在我们增加字典的复杂度,这个时候在render_template第二个参数可以传**title,以后我们会用**context代替原来的ti ...

  9. 【angularJS】Filter 过滤器

    当从后台获取到的数据呈现到视图上时,此时可能需要对数据进行相应的转换,此时我们可以通过过滤器在不同页面进行不同数据的格式抓换,在AngularJS中有常见默认的过滤器,当然若不满足所需,我们可以自定义 ...

  10. Oracle 12c RAC 日志体系结构的变化

    1    说明 在11g中,查看GRID的日志,会进入$ORACLE_HOM/log. [grid@cndba.cn ~]$ cd $ORACLE_HOME/log/ [grid@cndba.cn l ...