服务器双网卡冗余工作的原理与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
另 外 , 由 于 hme0 故 障 的 时 候 , hme0:1 不 存 在 , 所 以 当 hme0 被标记为 FAILED 的时候, 在 hme0 上创建虚拟 地址 0.0.0.0, 这样 hme0 就能够被访问 , hme0:1 上的 测试 地址就能够正常工作, 不断检测 hme0 是否恢复。网卡状 态 检 测 进 程 in.mpathd 不 断 检 测 故 障 网 卡 hme0 是 否 恢 复, 当连续收 到 10 个 检测包 回应 的时 候, 认 为该 故障 网 卡已经恢复, 并根据/etc/default/mpathd 文件中的设置决 定是否进行故障恢复, 即: 网络连接是否从 hme1 切换 到 hme0 上。网卡冗余工作的配置文件 etc/default/mpathd 内
一 、双 网 卡 冗 余 工 作 的 原 理 1. 检 测 网 卡 故 障 双网卡冗余工作需要 IP 地址、测试 IP 地址、两个网 卡以及网卡状态检测进程共同完成。实现冗余工作的两 个网卡需要添加到一个工作组内, 并为每个网卡指定一 个 IP 地址和一个测试 IP 地址。网卡状态检测进程使用 每个网卡的测试 IP 地址检测其自身的状态, 检测的方法 是 网卡 状态 检测 进程 使用 每个 网 卡 的 测 试 IP 地 址 向 本 IP 网 段 内 的 某 一 个 计 算 机 的 IP 地 址 发 送 ping 命 令 , 这 个目标计算机的 IP 选择是动态的, 路由器的 IP 地址通 常被选作为目标 IP 地址, 如果在链路上没有路由器, 那 么网卡状态检测进程会发送多播数据包到所有主机 ( 224.0.0.1) , 并随机选择其中一台主机的 IP 地址作为被 检测的目标地址。 网卡状态检测进程分别检测冗余网卡工作组中的每 一个网卡的状态, 通过 ping 命令进行检测, 如果连续 5 个检测数据包没有回应, 那么网卡状态检测进程认为该 网卡已经出现故障。缺省的故障检测时间是 10 秒, 即大 约每 2 秒进行一次检测, 故障检测的时间可以根据实际 网络情况在配置文件中修改。当网卡状态检测进程认为 工作的网卡发生故障后, 该网卡上的所有网络连接全部 转 移 到 工 作 组 中 另 外 一 个 网 卡 接 上 面 。 [1[2] 2. 检 测 网 卡 恢 复 为了检测故障网卡是否恢复, 网卡状态检测进程需 要不断 通过 故障 网卡 的测 试 IP 地 址 发 送 检 测 数 据 包 来 检 测 故 障 网 卡 是 否 恢 复 , 当 连 续 收 到 10 个 检 测 包 回 应 的时候, 认为该故障网卡已经恢复。当故障网卡恢复的
时候, 网卡状态检测进程根据配置文件决定网络连接 是否重新切换到恢复后的网卡上面。在故障网卡恢复 的时 候, 测 试 IP 地址 是不 发生 转移 和 切 换 的 , 其 余 所 有 的地 址均 发生 转移和 切换 , 所 以 测 试 IP 地 址 不 能 用 作 他用。
二 、双 网 卡 冗 余 工 作 的 实 现 本文以运行 Sun Solaris 9 的 Sun 公司的服务 器为 例 说明双网卡冗余工作是如何实现的, 在 Sun Solaris 中网 卡状态检测进程是 in.mpathd 进程。实现环境如下: ( 1) 网卡冗余工作组的名字为 test; ( 2) 服务器的两个网卡为 hme0 和 hme1; ( 3) hme0 的 IP 地 址 为 192.168.85.19, 测 试 地 址 为 192.168.85.21; ( 4) hme0 的 IP 地 址 为 192.168.85.20, 测 试 地 址 为 192.168.85.22。 实现步骤如下: [3] 步骤 1: 将 服务 器 的 两 个 网 卡 分 别 连 接 到 同 一 个 IP 子网内; 步骤 2: 以超级用户身份登陆系统; 步骤 3: 放置 hme0 和 hme1 到 test 组内, 命令如下:
255.255.255.0 + up 编辑/etc/hostname.hme1 文件, 文件内容如下: 192.168.85.20 netmask 255.255.255.0+group test up \ addif 192.168.85.22 deprecated - failover netmask
# ifconfig hme0 group test # ifconபைடு நூலகம்ig hme1 group test 步骤 4: 为物理接口配置测试地址, 命令如下: # ifconfig hme0 addif 192.168.85.21 netmask 255.255.255.0 - failover up # ifconfig hme1 addif 192.168.85.22 netmask 255.255.255.0 - failover up 步骤 5: 阻止其它应用程序使用测试地址, 命令如下: # ifconfig hme0 deprecated # ifconfig hme1 deprecated 步骤 6: 为 了防 止系 统重 新 启 动 配 置 丢 失 , 编 辑/etc/
20 中国 教 育 信 息 化/ 2007.08 (高 教 职 教)
《中国教育信息化》发行部: cyl@moe. edu. cn
网络建设 建 设
hostname. hme0 文件, 文件内容如下: 192.168.85.19 netmask 255.255.255.0+group test up\ addif 192.168.85.21 deprecated - failover netmask
建 设 网络建设
《中国教育信息化》编辑部: mis@moe. edu. cn
服务器双网卡冗余工作的原理与实现
中国医科大学附属盛京医院计算机中心 全 宇 中国医科大学附属第一医院信息中心 何 苗
摘 要: 本文讨论了服务器双网卡冗余工作的实现原理, 通过一个案例详细介绍了双网卡冗余工作的实
现方法。通过双网卡的冗余工作, 提高了服务器的容错能力, 增强了服务器的可用性和可靠性。
关键词: 故障 恢复 冗余 容错
中图分类号: TP393.07 文献标识码: A
文章编号: 1673- 8454( 2007) 08- 0020- 03
计算机网络中关键设备的冗余工作已经成为保障 应用业务稳定运行的关键手段, 服务器的网卡冗余工作 是在不增加任何投入的基础上, 增加服务器稳定性的一 种方法, 它实现简单, 配置灵活, 被广泛地应用到实践中。
255.255.255.0 + up 参数说明: [3] 1) - failover: 带有该参数的地址表明是测试地址。步
骤 4 和 步 骤 6 中 的 192.168.85.21 和 192.168.85.22 是 测 试地址。
2) deprecated: 该参数表示禁止其它应用程序 使用 冗 余 工作 组中 网卡 的测试 IP 地址 , 如果 使 用 , 那 么 应 用 程 序可能无法正常工作。
turn off this option # FAILBACK=yes # # By default only interfaces configured as part of
multipathing groups # are tracked. Turn off this option to track all network
容如下: # # Time taken by mpathd to detect a NIC failure in ms.
The minimum time # that can be specified is 100 ms. # FAILURE_DETECTION_TIME=10000 # # Failback is enabled by default. To disable failback
表 1 hme0 故障前
hme0: flags =9000843 <UP, BR OADCAST, R UNNING, MUL - TICAST, IPv4> mtu 1500 index 2
inet 192. 168. 85. 19 netmask ffffff00 broadcast 192. 168. 85. 255 groupname test
hme1: flags =9000843 <UP, BR OADCAST, R UNNING, MUL - TICAST,IPv4> mtu 1500 index 2
inet 19.16.85.20 netmask ffffff00 broadcast 192.168.85.255 group- name test
hme1: 1: flags=9000843<UP, BR OADCAST, R UNNING, MUL- TICAST,DEPR ECATED,IPv4,
NOFAILOVER > mtu 1500 index 2 inet 19.16.85.22 netmask ffffff00 broadcast 192.168.85.255
interfaces # on the system # TRACK_INTERFACES_ONLY_WITH_GROUPS=yes 参数说明: [4] 1) FAILURE_DETECTION_TIME=10000 是 系 统 缺 省
表 2 hme0 故障后
hme0: flags = 19000842 < BR OADCAST , R UNNING , MULTICAST , IPv4, NOFAILOVER , FAILED> mtu 0 index 2 inet 0.0.0.0 netmask 0 groupname test hme0: 1: flags = 19040843 < UP, BR OADCAST , R UNNING, MUL - TICAST,DEPR ECATED,IPv4, NOFAILOVER ,FAILED > mtu 1500 index 2 inet 19.16.85.21 netmask ffffff00 broadcast 192.168.85.255 hme1: flags =9000843 <UP, BR OADCAST, R UNNING, MUL - TICAST,IPv4> mtu 1500 index 2 inet 19.16.85.20 netmask ffffff00 broadcast 19.16.85.255 group- name test hme1: 1: flags= 9000843< UP,BR OADCAST , R UNNING, MULTICAST,DEPR ECATED,IPv4, NOFAILOVER > mtu 1500 index 2 inet 19.16.85.22 netmask ffffff00 broadcast 192.168.85.255 hme1: 2: flags=1000843<UP, BR OADCAST, R UNNING, MUL- TICAST,IPv4> mtu 1500 index 6 inet 192.186.85.19 netmask ffffff00 broadcast 192.168.85.255
hme0: 1: flags=9000843<UP, BR OADCAST, R UNNING, MUL- TICAST,DEPR ECATED,IPv4,
NOFAILOVER > mtu 1500 index 2 inet 192.168.85.21 netmask ffffff00 broadcast 192.168.85.255
下 面 使 用 ifconfig - a 命 令 展 示 当 hme0 发 生 故 障 的 时候, hme0 与 hme1 之间是如何切换的。
从表 1 和表 2 可以看出, 当 hme0 故障的时 候, hme0 被 标记 为 FAILED, 但 在 hme1 上 创建 了 hme1:2, hme1:2 就是原始的 hme0。
相关文档
最新文档