solaris系统的IPMP设置基于IP寻址与链路.docx

上传人:b****8 文档编号:9243678 上传时间:2023-05-17 格式:DOCX 页数:12 大小:19.82KB
下载 相关 举报
solaris系统的IPMP设置基于IP寻址与链路.docx_第1页
第1页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第2页
第2页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第3页
第3页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第4页
第4页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第5页
第5页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第6页
第6页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第7页
第7页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第8页
第8页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第9页
第9页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第10页
第10页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第11页
第11页 / 共12页
solaris系统的IPMP设置基于IP寻址与链路.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

solaris系统的IPMP设置基于IP寻址与链路.docx

《solaris系统的IPMP设置基于IP寻址与链路.docx》由会员分享,可在线阅读,更多相关《solaris系统的IPMP设置基于IP寻址与链路.docx(12页珍藏版)》请在冰点文库上搜索。

solaris系统的IPMP设置基于IP寻址与链路.docx

solaris系统的IPMP设置基于IP寻址与链路

Solaris系统配置IPMP教程

(基于IP寻址与链路)

一、IPMP介绍

IP网络多路径(IPnetworkmultipathing,IPMP)为在同一IP链路上具有多个接口的系统提供物理接口故障检测和透明网络访问故障转移功能。

IPMP还为具有多个接口的系统提供了包负荷分配。

通过IPMP,可以将一个或多个物理接口配置到IP多路径组(IPMP)中,配置IPMP后,IPMP的故障转移功能可以保持连接并防止断开任何现有的连接。

二、名词解释

IPMP组:

由同一个系统中使用同一个IPMP组名称配置的一个或多个物理接口组成。

IPMP组中的所有接口都必须连接到同一个IP链路,同一字符串的IPMP组名称用于标识组中的所有接口。

数据地址:

引导指定的或通过ifconfig命令手动指定给NIC的接口的常规地址(可理解为对外服务的ip地址)

测试地址:

由in.mpathd守护进程使用的特定于IPMP的地址,对于要使用基于探测器的故障和修复检测的接口,至少必须为其配置一个测试地址。

(可理解为物理网卡自身的地址)

在接口出现故障后,测试地址将一直保留在故障接口上,以便in.mpathd可以继续发送探测器以检查后续修复。

必须专门配置测试地址,以便应用程序不会意外使用它们,需将测试地址标记为deprecated.

三、IPMP基本要求

1.IPMP组中的所有接口都必须具有唯一的MAC地址;

2.IPMP组中的所有接口都必须具有相同的介质类型

四、IPMP的两种实现方式

IPMP有两种实现方式:

●Link-basedIPMP:

基于链路类,不需测试IP

●Probe-basedIPMP :

基于IP寻查,我们常用的是这种,需要测试IP,且必须能ping通网关

五、实验环境

操作系统:

OracleSolaris101/13s10s_u11wos_24aSPARC

网卡:

ixgbe0与ixgbe1

ixgbe0:

192.168.0.101

ixgbe1:

192.168.0.102

对外服务IP:

192.168.0.100

本文只是针对Solaris10进行的配置,如果是Solaris11则会有很多不同

六、实施步骤

1.确定IPMP的组成部分

IPMP组可以配置成单接口的IPMP组,也可以配置成双接口的IPMP组,本例选择了ixgbe0与ixgbe1配置为IPMP组。

2.检验MAC地址

IPMP组中的所有接口都必须具有唯一的MAC地址,故首先应该检

验每个接口是否具有唯一的MAC地址。

在SPARC平台上,每个基于SPARC的系统都具有系统范围的MAC的地址,默认情况下所有的接口都使用该地址,故默认情况下,每个接口的MAC地址是相同的,但要使用IPMP,则组中的每个接口必须具有唯一的MAC地址,这些地址必须使用出厂安装的MAC地址。

可以使用“eepromlocal-mac-address?

”命令来检测当前系统的所有接口是否使用了系统范围的MAC地址:

#eepromlocal-mac-address?

local-mac-address?

=flase

若对eeprpm命令相应的值为false,则表示所有的接口使用的是系统范围的MAC地址,需将值改为true

#eepromlocal-mac-address?

=true

#eepromlocal-mac-address?

local-mac-address?

=true

3.为IPMP组选择一个名称

任何非空的名称都可以作为组的名称,这里设定组的名称为“ipmp0”

4.确保STREAMS模块

同一组中所有接口必须按相同顺序配置相同的STREAMS模块,通过ifconfigixgbe0modlist命令可以输出STREAMS模块的列表

#ifconfigixgbe0modlist

0arp

1ip

2ixgbe

接口通常作为网络驱动程序直接位于IP模块之下,则不需要做其他设置。

5.配置IPMP组

1)Probe-basedIPMP 

a)配置/etc/hosts文件

#vi/etc/hosts

:

:

1localhost

127.0.0.1localhost

192.168.0.101test-ixgbe0

192.168.0.102test-ixgbe1

192.168.0.100testloghost

此处是设置DNS的关系

192.168.0.101对应test-ixgbe0(网卡ixgbe0的测试IP)

192.168.0.102对应test-ixgbe1(网卡ixgbe1的测试IP)

192.168.0.100对应test(IPMP组的数据IP,test为对外服务的主机名)

b)配置/etc/hostname.interface文件

#vi/etc/hostname.ixgbe0

testnetmask+broadcast+groupipmp0up\

addiftest-ixgbe0deprecated-failovernetmask+broadcast+up

●test:

设置的对外服务器的主机名,已在/etc/hosts文件中进行

了设置,此处可以用IP地址代替(192.169.0.100);

●netmask+:

设置子网掩码,根据/etc/netmask文件获得;

●broadcast+:

对应于/etc/netmask计算出一个网络的广播地址,

对于网络的广播地址,一般就是此网段中最大地址;

●groupipmp0:

设置IPMP组名为ipmp0;

●up:

类似于网卡的启用功能;

●addiftest-ixgbe0:

IPMP组中增加一个子接口,此处可以是IP地址,由于已在hosts文件中进行了定义,故可直接使用名称;

●deprecated:

标记此地址为测试地址;

●-failover:

告知系统,这个地址代表的连接如果失效,不做切换(测试地址)

#vi/etc/hostname.ixgbe1

test-ixgbe1netmask+broadcast+groupipmp0deprecated-failoverup

此处的设置和前面的含义一样,由于已经建立了ipmp0的组,所以这里就不用再次建立,直接添加组名ipmp0即可

c)查看结果

#ifconfig-a

lo0:

flags=2001000849mtu8232index1

inet127.0.0.1netmaskff000000

ixgbe0:

flags=1000843mtu1500index2

inet192.168.0.100netmaskffffff80broadcast192.168.0.254

groupnameipmp

ether0:

1b:

21:

6f:

8d:

dc

ixgbe0:

1:

flags=9040843mtu1500index2

inet192.168.0.101netmaskffffff80broadcast192.168.0.254

ixgbe1:

flags=9040843mtu1500index3

inet192.168.0.102netmaskffffff80broadcast192.168.0.254

groupnameipmp

ether0:

1b:

21:

6f:

8d:

de

sppp0:

flags=10010008d1mtu1500index4

inet192.168.3.3-->192.168.3.1netmaskffffff00

ether0:

0:

0:

0:

0:

0

通过ifconfig–a命令可看出

●IPMP的组名为“ipmp”,

●“ixgbe0”分配了数据地址192.168.0.100(对外服务地址)

●“ixgbe0:

1”此网卡的测试地址(192.168.0.101)在其逻辑接口;

●“ixgbe1”:

分配了测试地址192.168.0.102.

d)测试

选择停用“ixgbe0”,测试IPMP工作是否正常

bash-3.2#if_mpadm-dixgbe0

bash-3.2#ifconfig-a

lo0:

flags=2001000849mtu8232index1

inet127.0.0.1netmaskff000000

ixgbe0:

flags=89000842mtu0index2

inet0.0.0.0netmask0

groupnameipmp

ether0:

1b:

21:

6f:

8d:

dc

ixgbe0:

1:

flags=89040842mtu1500index2

inet192.168.0.101netmaskffffff80broadcast192.168.0.254

ixgbe1:

flags=9040843mtu1500index3

inet192.168.0.102netmaskffffff80broadcast192.168.0.254

groupnameipmp

ether0:

1b:

21:

6f:

8d:

de

ixgbe1:

1:

flags=1000843mtu1500index3

inet192.168.0.100netmaskffffff80broadcast192.168.0.254

sppp0:

flags=10010008d1mtu1500index4

inet192.168.3.3-->192.168.3.1netmaskffffff00

ether0:

0:

0:

0:

0:

0

#ping192.168.0.101

noanswerfrom192.168.0.101

#ping192.168.0.100

192.168.0.100isalive

通过ifconfig–a命令可看出

●“if_mpadm”:

if_mpadm–d停止一个网卡,if_mpadm–r恢复一个网卡。

●“ixgbe0”:

之前分配了数据地址,由于网卡被停用,故此处的ip已经迁移至其它网卡。

●“ixgbe0:

1”此网卡的测试地址(192.168.0.101)在其逻辑接口;

●“ixgbe1”:

分配了测试地址192.168.0.102.

●“ixgbe1:

1”:

由于“ixgbe0”网卡被停用,故数据ip迁移至此网卡的逻辑接口之上,继续对外提供服务

恢复被停用的ixgbe0,结果如下:

#if_mpadm-rixgbe0

#ifconfig-a

lo0:

flags=2001000849mtu8232index1

inet127.0.0.1netmaskff000000

ixgbe0:

flags=1000843mtu1500index2

inet192.168.0.100netmaskffffff80broadcast192.168.0.254

groupnameipmp

ether0:

1b:

21:

6f:

8d:

dc

ixgbe0:

1:

flags=9040843mtu1500index2

inet192.168.0.101netmaskffffff80broadcast192.168.0.254

ixgbe1:

flags=9040843mtu1500index3

inet192.168.0.102netmaskffffff80broadcast192.168.0.254

groupnameipmp

ether0:

1b:

21:

6f:

8d:

de

sppp0:

flags=10010008d1mtu1500index4

inet192.168.3.3-->192.168.3.1netmaskffffff00

ether0:

0:

0:

0:

0:

0

#ping192.168.0.101

192.168.0.101isalive

#ping192.168.0.102

192.168.0.102isalive

#ping192.168.0.100

192.168.0.100isalive

结果IPMP可以正常工作

2)Link-basedIPMP

配置方法和基于IP测试方法基本一样,只是所需要的IP地址少了,主要修改以下几个文件。

a)配置/etc/hosts文件

#vi/etc/hosts

:

:

1localhost

192.168.0.100testloghost

b)配置/etc/hostname.interface文件

#cat/etc/hostname.ixgbe0

192.168.0.100netmask+broadcast+groupipmpup\

#cat/etc/hostname.ixgbe1

groupipmpup

c)查看结果

bash-3.2#ifconfig-a

lo0:

flags=2001000849mtu8232index1

inet127.0.0.1netmaskff000000

ixgbe0:

flags=1000843mtu1500index2

inet192.168.0.100netmaskffffff80broadcast192.168.0.254

groupnameipmp

ether0:

1b:

21:

6f:

8d:

dc

ixgbe1:

flags=1000843mtu1500index3

inet0.0.0.0netmaskff000000broadcast0.255.255.255

groupnameipmp

ether0:

1b:

21:

6f:

8d:

de

sppp0:

flags=10010008d1mtu1500index4

inet192.168.3.3-->192.168.3.1netmaskffffff00

ether0:

0:

0:

0:

0:

0

通过ifconfig–a命令可以看出,IPMP组的名称为“ipmp”,对外服务器的ip为192.168.0.100,且两个网口不用再配置测试IP了,节省了IP资源。

d)测试

停用一个ixgbe0网卡,检查IP是否正常

bash-3.2#if_mpadm-dixgbe0

Dec410:

28:

09test-ixgbe0in.mpathd[228]:

SuccessfullyfailedoverfromNICixgbe0toNICixgbe1//提示IP已经成功的从ixgbe0切换到ixgbe1

bash-3.2#ifconfig-a

lo0:

flags=2001000849mtu8232index1

inet127.0.0.1netmaskff000000

ixgbe0:

flags=89000842mtu0index2

inet0.0.0.0netmask0

groupnameipmp

ether0:

1b:

21:

6f:

8d:

dc

ixgbe1:

flags=1000843mtu1500index3

inet0.0.0.0netmaskff000000broadcast0.255.255.255

groupnameipmp

ether0:

1b:

21:

6f:

8d:

de

ixgbe1:

1:

flags=1000843mtu1500index3

inet192.168.0.100netmaskffffff80broadcast192.168.0.254

sppp0:

flags=10010008d1mtu1500index4

inet192.168.3.3-->192.168.3.1netmaskffffff00

ether0:

0:

0:

0:

0:

0

bash-3.2#ping192.168.0.100

192.168.0.100isalive

七、题外话

IPMP接口配置的类型

IPMP可以配置为以下两种模式:

活动-活动配置:

一个双接口IPMP组,其中的两个接口都为“活动”,即它们始终可能既传输探测器通信又传输数据通信(本文所采用的方式)

活动-待机配置:

一个双接口的IPMP组,其中一个接口被配置为“standby”(待机)

官网定义:

除非IPMP组中的某个其他接口出现故障,否则不会使用该组中的待机接口进行数据通信。

在出现故障时,故障接口上的数据地址将迁移到待机接口。

然后,会像对待其他活动接口一样对待待机接口,直到修复故障接口为止。

一些故障转移可能不选择待机接口。

相反,这些故障转移可能选择比待机接口具有更少配置为UP的数据地址的活动接口。

在待机接口上应仅配置测试地址。

IPMP不允许将数据地址添加到通过ifconfig命令配置为standby的接口。

创建此类型配置的任何尝试都将失败。

同样,如果将已具有数据地址的接口配置为standby,则这些地址将自动地故障转移到IPMP组中的其他接口。

由于存在这些限制,因此在将接口设置为standby之前,必须使用ifconfig命令将所有测试地址标记为-deprecated和failover。

有关如何配置待机接口。

以本文的例子就行配置:

#vi/etc/hostname.ixgbe1

test-ixgbe1netmask+broadcast+groupipmp0deprecated-failoverstandbyup

#ifconfigixgbe1

ixgbe1:

flags=69040843mtu1500index3

inet192.168.0.101netmaskffffff80broadcast192.168.0.254

groupnameipmp

ether0:

1b:

21:

6f:

8d:

de

待机接口只能具有iP地址,即测试地址设置standbyup选择之前,必须先设置-failover。

INACTIVE:

标志此接口不用于任何外发包,此待机接口发生故障转移时,会清除INACTIVE标志。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2