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. import 路径

    例子: import sys sys.path.append("/home/wang/Downloads/caffe-master/python") import caffe

  2. Android studio 添加背景图片问题

    问题:下载了JPG格式的图片,Windows下直接改变后缀名,'变为'PNG. 输入 adroid:background"@mipmap/bg" 编译报错!!!老是不行 解答:图片 ...

  3. onenote的笔记本在windows10保存的路径

    onenote挺好用的,支持windows,android,mac等操作系统,完全符合我的需求,并且还没有广告.但是,在删除笔记本的时候,感觉比较费事,因为他没有配置告诉我们文件具体放在哪个路径下了, ...

  4. selenium-java,UI自动化截图方法

    截图方法: import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; impor ...

  5. BZOJ1059 ZJOI2007 矩阵游戏 【二分图匹配】

    BZOJ1059 ZJOI2007 矩阵游戏 Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一 ...

  6. 神器如 dnSpy,无需源码也能修改 .NET 程序

    dnSpy 是 0xd4d 开发的 .NET 程序调试神器. 说它是神器真的毫不为过!它能在完全没有源码的情况下即时调试程序,甚至还能修改程序!本文讲向大家介绍如何使用 dnSpy 修改 .NET 程 ...

  7. Visual->UIElement->FrameworkElement,带来更多功能的同时也带来了更多的限制

    在 WPF 或 UWP 中,我们平时开发所遇到的那些 UI 控件或组件,都直接或间接继承自 Framework.例如:Grid.StackPanel.Canvas.Border.Image.Butto ...

  8. mfc 鼠标、键盘响应事件

    一.基本目标 1.有一个基本的MFC程序,点击“关闭”则“关闭”这个程序,这点没什么好讲的,把自带的“取消”按钮,右键->属性的Caption改成“关闭”二字就可以了 2.鼠标在对话框中移动,则 ...

  9. 接口测试框架——第一篇-大框架和setting.py常量文件

    基础知识已经准备的差不多了,今天开始我们就开始写我们的接口测试框架,框架结构已经说过了: 今天我们先完善需要的常量,也就是setting.py文件中的内容,代码如下: # coding: utf-8 ...

  10. Windows常用配置和sublime快捷键

    常用配置和快捷键 1.操作系统常用配置 (1)系统调整为最佳性能 (2)文件夹显示设置:显示文件类型.显示路径 (3)任务栏设置:锁定任务栏+使用小图标2.操作系统常用快捷键 win+数字键--快速打 ...