先解释一下什么是IPMP
IP网络多路径(IP networkmultipathing, IPMP)为在同一IP链路上具有多个接口的系统提供物理接口故障检测和透明网络访问故障转移功能。IPMP还为具有多个接口的系统提供了包负荷分配。通过IPMP,可以将一个或多个物理接口配置到IP多路径组(IPMP组)中。配置IPMP后,系统将自动监视IPMP组中的接口是否出现故障。由于IPMP的工作原理,感觉这种方式有点浪费IP,而且配置比较麻烦,我还是比较喜欢SUSE LINUS下进行两个绑定就可以实现的方式,简单又方便,不会浪费IP,呵呵~~
IPMP是通过ICMP的请求应答(常说的PING)来判定接口有没有出现故障的。通常先将需要互做备份的接口加入到同一个IPMP组中,然后需要在接口上各配置一个测试IP(这就是浪费IP的地方了......),测试IP就是用来PING默认网关的,如果网关有应答消息,则说明接口没有故障,否则说明接口有故障,会将业务IP切换到备用接口上,备用接口代替原接口工作,原来接口故障恢复后会自动再切回去。下面是我做实验的一个实际例子,我是在虚拟机上做的实验,
IPMP组名 aa
192.168.100.222 业务IP
192.168.100.223 网卡1的测试IP
192.168.100.224 网卡2的测试IP
192.168.100.102 默认网关
网卡的配置如下:
# more hostname.e1000g0
192.168.100.222 group aa netmask 255.255.255.0 broadcast 192.168.100.255 up \
addif 192.168.100.223 deprecated -failover netmask 255.255.255.0 broadcast 192.1
68.100.255 up
# more hostname.e1000g1  
192.168.100.224 group aa netmask 255.255.255.0 broadcast 192.168.100.255 depreca
ted -failover standby up
解释一下,由于第二个接口是配置成待机接口,因此不配置业务IP,只配置测试IP,很明显,当第一个接口出现故障时,业务IP会转移到第二个接口上的某个子接口上,不过子接口可以看作是一个实在物理接口,所以不会影响业务使用;
addif 表示为接口添加子接口,在这里是指要在子接口上配置测试IP;
deprecated 指表示测试地址不用于外发包,防止应用程序使用该IP;
-failover 表示在接口出现故障时测试地址不进行故障转移;
standby 将接口标记为待机接口;
此时如果在主机上抓包,可以看到192.168.100.223和224在不停的发送ICMP Echo request给192.168.100.102
# snoop 192.168.100.102
Using device /dev/e1000g (promiscuous mode)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1381)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1381)
e1000g0 -> 192.168.100.102 ICMP Echo request (ID: 35074 Sequence number: 1283)
192.168.100.102 -> e1000g0      ICMP Echo reply (ID: 35074 Sequence number: 1283)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1382)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1382)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1383)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1383)
e1000g0 -> 192.168.100.102 ICMP Echo request (ID: 35074 Sequence number: 1284)
192.168.100.102 -> e1000g0      ICMP Echo reply (ID: 35074 Sequence number: 1284)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1384)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1384)
e1000g0 -> 192.168.100.102 ICMP Echo request (ID: 35074 Sequence number: 1285)
192.168.100.102 -> e1000g0      ICMP Echo reply (ID: 35074 Sequence number: 1285)
说明两个网卡都是正常的,所以业务IP会出现在e1000g0的子接口上
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000 
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.100.222 netmask ffffff00 broadcast 192.168.100.255
groupname aa
ether 0:c:29:8c:c1:2c 
e1000g0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
inet 192.168.100.223 netmask ffffff00 broadcast 192.168.100.255
e1000g1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
inet 192.168.100.224 netmask ffffff00 broadcast 192.168.100.255
groupname aa
ether 0:c:29:8c:c1:36 
接下来,把e1000g0 down掉,在虚拟机中实现很简,在vmware上将第一块网卡断连就可以了,当然也可以用命令if_mpadm -d e1000g0将网卡强制failover
再抓包看看
# snoop 192.168.100.102
Using device /dev/e1000g (promiscuous mode)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1665)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1665)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1666)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1666)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1667)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1667)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1668)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1668)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1669)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1669)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1670)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1670)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1671)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1671)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1672)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1672)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1673)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1673)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1674)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1674)
只有e1000g1在向192.168.100.102发送ICMP Echo reply了
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000 
e1000g0: flags=19000842<BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER,FAILED> mtu 0 index 2
inet 0.0.0.0 netmask 0 
groupname aa
ether 0:c:29:8c:c1:2c 
e1000g0:1: flags=19040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,FAILED> mtu 1500 index 2
inet 192.168.100.223 netmask ffffff00 broadcast 192.168.100.255
e1000g1: flags=29040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY> mtu 1500 index 3
inet 192.168.100.224 netmask ffffff00 broadcast 192.168.100.255
groupname aa
ether 0:c:29:8c:c1:36 
e1000g1:1: flags=21000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,STANDBY> mtu 1500 index 3
inet 192.168.100.222 netmask ffffff00 broadcast 192.168.100.255
此时,192.168.100.222已经在e1000g1上去了
现在将第一张网卡恢复,会发现192.168.100.222又回到e1000g0上去了,说明故障恢复后,IPMP会将业务IP切换到已恢复的接口上
# snoop 192.168.100.102  
Using device /dev/e1000g (promiscuous mode)
e1000g0 -> 192.168.100.102 ICMP Echo request (ID: 35074 Sequence number: 1743)
192.168.100.102 -> e1000g0      ICMP Echo reply (ID: 35074 Sequence number: 1743)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1841)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1841)
e1000g0 -> 192.168.100.102 ICMP Echo request (ID: 35074 Sequence number: 1744)
192.168.100.102 -> e1000g0      ICMP Echo reply (ID: 35074 Sequence number: 1744)
e1000g1 -> 192.168.100.102 ICMP Echo request (ID: 35075 Sequence number: 1842)
192.168.100.102 -> e1000g1      ICMP Echo reply (ID: 35075 Sequence number: 1842)
^C# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000 
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.100.222 netmask ffffff00 broadcast 192.168.100.255
groupname aa
ether 0:c:29:8c:c1:2c 
e1000g0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
inet 192.168.100.223 netmask ffffff00 broadcast 192.168.100.255
e1000g1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
inet 192.168.100.224 netmask ffffff00 broadcast 192.168.100.255
groupname aa
ether 0:c:29:8c:c1:36 
如果还有不清楚的,可以去sun网站上下些资料看看,http://docs.sun.com
当然在做实验中也遇到些问题,有个问题到现在都还没有解决,我最开始是将虚拟机的默认网关指向vmnet1的,vmnet1的网卡IP是192.168.100.1,但是实验怎么都不成功,后来抓包才发现原来是只有PING请求,没有应答,在自己电脑上对vmnet1抓包也可以看得到PING请求,只是我的电脑没有响应,汗~~~电脑防PING了,检查防火墙是关掉的,将360关了,只有个NOD32还在。。。这玩艺儿关不掉,只能禁用实时保护,结果还是不行。。我最后只能又启一台虚拟机192.168.100.102才做完实验,这个问题,还请高手们赐教
Solaris我也不是很熟,还在探讨中,可能其中有些地方理解得不对,还请高手们指教,先谢了

转载于:https://blog.51cto.com/wubbo/267024

Solaris IPMP配置相关推荐

  1. Solaris IPMP 配置

    IPMP(IPNetwork Multipathing)是Solaris产品中的一个主要特性,其目的在于:一.增加网络的吞吐量,可方便快捷的将几个网络接口绑定在一起使用,从而起到增加带宽的作用.二.实 ...

  2. Solaris IPMP两种配置方法

    Solaris IPMP两种配置方法 更换华为防火墙后,发现Solaris基于ip探测方式配置的IPMP 呈现failed状态.经过分析,更改为基于link的IPMP配置方式后,解决了这次问题. 1. ...

  3. solaris下修改 IPMP 配置

    使用 IPMP 配置文件 /etc/default/mpathd 为 IPMP 组配置以下系统范围的参数. FAILURE_DETECTION_TIME TRACK_INTERFACES_ONLY_W ...

  4. Solaris IPMP Link模式

    Solaris 10以后IPMP可以配置Link模式. 以Solaris 10位环境,配置 配置网卡ce1,之前该接口没有任何配置,如果有 ifconfig ce1 unplumb 全部清除,如果有子 ...

  5. solaris IPMP

    IPMP(IPNetwork Multipathing)是Solaris产品中的一个主要特性,其目的在于:一.增加网络的吞吐量,可方便快捷的将几个网络接口绑定在一起使用,从而起到增加带宽的作用.二.实 ...

  6. Solaris底下配置samba

    原文写于2010-09-15 20:47:27,网易博客,已删.      呵呵,此处讲的samba可不是巴西的桑巴舞哦.  一. samba是什么    samba类似于windows上的文件共享. ...

  7. solaris mysql_配置Solaris下自带的MYSQL

    Solaris自带了mysql服务器,省事不少.用的时候只有小小的配置下就可以搞定. 1.用ROOT用户登陆系统,在终端输入/usr/sfw/bin/mysql_install_db 2.建立mysq ...

  8. 【好东西一定要转】关于Solaris安全配置的转贴和讨论

    转1 Sun系统的基本安全配置V1.0(by GaoXiao) 1)防止堆栈溢出(*) 2)关闭不用的服务,关闭一些无用的端口(*) 3)给系统打补丁(*) 4)消除系统中的弱智用户,定期修改用户口令 ...

  9. Solaris11自带php配置,Solaris 11 配置IP地址

    查看ip ipadm show-addr 删除IP地址 ipadm delete-addr net0/v4 配置IP地址 ipadm create-addr –T static –a local=10 ...

最新文章

  1. oracle调用存储过程
  2. 大数据分析币圈动态: ETH、BTC、BCH每秒交易均呈负增长! 以太坊网络传播时间再缩短
  3. python什么模块动态调用链接库_python如何调用扩展模块
  4. 动态编译MySQL plugin
  5. 第二章 使用unittest模块扩展功能测试
  6. solr 中文分词器IKAnalyzer和拼音分词器pinyin
  7. 为什么我不选阿里云(一)
  8. tkinter如何lable重复显示到同一行中_如何创建包含 CAD 导入和选择的仿真 App
  9. CV和NLP中的无监督预训练(生成式BERT/iGPT和判别式SimCLR/SimCSE)
  10. oracle ebs 安装教程,Oracle_EBS_系统安装以及维护.doc
  11. 信息学奥赛C++语言:质因数分解
  12. 基于Matlab的跨孔层析成像的最短路径法弯曲射线追踪(一)
  13. 怎么让图片一直转圈_半夜跟着导航开进山路,货车绕了3小时仍原地转圈,小两口快急哭...
  14. 电磁兼容性(EMC)标准EN55032IT设备要求
  15. 计算机软件技术发展应用论文,计算机软件毕业论文计算机软件技术发展应用.docx...
  16. ubuntuQQ、微信安装
  17. 网络高清监控摄像头如何安装(图文方法+模拟像机)
  18. 微信王者有ios的服务器吗,王者IOS微信区国服瑶多有钱?凌晨撒4W红包,点开头像傻眼...
  19. Android模似器硬件加速
  20. 24个基本指标精粹讲解(5)--SR

热门文章

  1. 【软件2.0】软件2.0时代来了!特斯拉AI负责人说:神经网络正在改变编程
  2. 利安德巴赛尔启动韩国年产能40万吨的聚丙烯生产设施;固特异完成收购固铂轮胎 | 能动...
  3. Ubuntu16.04配置orb_slam2环境,orb_slam的单目数据集,单目实时运行,RGB-D数据集的运行
  4. Java实现第九届蓝桥杯付账问题
  5. Python 正则匹配以xx开头以xx结尾的单词
  6. 中国探月计算机考试时间,中国探月工程三级跳:嫦娥一号到嫦娥三号
  7. 达梦数据源配置_达梦数据库的连接配置
  8. ProGuard入门
  9. HOG(histogram of oriented gradients)特征个人总结
  10. win10 uwp 如何让WebView标识win10手机