Solaris 10以后IPMP可以配置Link模式。

以Solaris 10位环境,配置

配置网卡ce1,之前该接口没有任何配置,如果有 ifconfig ce1 unplumb 全部清除,如果有子接口如:ce1:1也都删除

配置ce1接口: ifconfig ce1 plumb 192.168.1.10 netmask + broadcast + group IPMP0 up 配置主接口,服务的IP地址就是192.168.1.10,link模式和Probe区别只有一个IP地址,也是唯一的。如果在hosts文件里有定义,ip地址可以用名字代替。netmask是已经在文件/etc/inet/netmasks里面定义,组的名字就是IPMP0,最后up一下,启动起来

配置ce5接口: ifconfig ce5 plumb group IPMP0 up ce5接口也是空配置开始,什么都不要配置,直接加入IPMP0组就好。

配置完了用ifconfig -a看一下 #ifconfig -a lo0: flags=2072000749[UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL] mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 ce1: flags=1000793[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 2 inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255 groupname IPMP0 ether 0:14:4f:2a:ef:67 ce5: flags=1000563[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 3 inet 0.0.0.0 netmask ff000000 groupname IPMP0 ether 0:14:4f:2a:ef:71

可以看到ce5接口上是没有IP地址的,通过交换机查看, cisco交换机:sh arp和sh mac addr 可以看到ip地址192.168.1.10对应的mac地址是在ce1所对应的交换机接口上 关闭交换机ce1对应的接口 查看服务器log tail /var/adm/messages in.mpathd进程 可以看到ce1接口down了,然后ipmp组侦测动作,发生迁移从ce1到ce5

这时再看网卡信息

#ifconfig -a lo0: flags=2072000749[UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL] mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 ce1: flags=1000793[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 2 inet 0.0.0.0 netmask ffffff00 broadcast 192.168.1.255 groupname IPMP0 ether 0:14:4f:2a:ef:67 ce5: flags=1000563[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 3 inet 0.0.0.0 netmask ff000000 groupname IPMP0 ether 0:14:4f:2a:ef:71 ce5:1 flags=1000563[UP,BROADCAST,RUNNING,MULTICAST,IPv4] mtu 1500 index 3 inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255 接口ce1的ip地址都消失了(inet 0.0.0.0),ce5并没有修改ip地址,而是出现了一个ce5:1的子接口,配置了应该出现的IP地址

这样配置了只是在内存里,机器重启动就没了,要保存还需要把配置写入/etc/hostname.接口 里 这里就是/etc/hostname.ce1 192.168.1.10 netmask + broadcast + group IPMP0 up 和/etc/hostname.ce5 group IPMP0 up

以上配置的是双active模式,可以配置active和standby ifconfig ce5 group IPMP0 standby up 该接口就变成待机接口了,如长期的,注意保存/etc/hostname.ce5

有时候需要临时把某个接口从组里移出来 ifconfig ce5 group ""