分享

Linux 下实现网卡高可用性的几种方法(二)

 xjh 2006-05-07
Linux 下实现网卡高可用性的几种方法(二)

二、Linux 下的 BASP(Broadcom Advanced Server Program)

Broadcom 公司不仅在 Windows 平台上提供了 BASP 工具来实现网卡的高可用性,同样,在 Linux 操作系统下,也提供了对应的工具来实现。下面,就介绍一下如何在 Linux 下利用 BASP 来实现多块 Broadcom 以太网卡的 teaming。

首先,BASP 是一个为 2.4.x 的内核设计的模块,通过由多个网卡创建的team,可以提供负载平衡(load-balancing),容错(fault-tolerance)和VLAN等功能。一个 team 可以包括1到8块网卡,每块网卡都可以被指定为主(Primary)或者是热备(hot-standby,只适用于SLB team)。team 中所有的主网卡都会通过发送和接收全部网络流量的一部分来参与负载平衡的工作,而热备的网卡会在所有的主网卡失去连接时进行接管。VLAN 可以添加到 team 中,通过不同的 VLAN ID 来实现多个 VLAN,每个 VLAN 都会创建一个虚拟设备。

通常,我们得到的 BASP 的打包文件中包括两个文件,一个是 RPM 包,一个是 TAR 格式的文档。

安装 TAR 文档

    解压并展开 TAR 文档

    % tar xzvf basplnx-{version}.{arch}.tgz

    (1) 创建内核模块 "basp.o"

    % make

    (2) 创建设备文件并复制文件

    % make install

    (3) 更新模块信息

    % depmod -a

    (4) 加载驱动程序

    % insmod basp

安装 RPM 包

    (1) 安装 RPM 的源文件包

    % rpm -i basplnx-{version}.src.{arch}.rpm

    (2) 进入 RPM 的路径并为内核创建驱动程序

    % cd /usr/src/redhat

    % rpm -bb SPECS/basplnx.spec

    注意:如果 Linux 的发行版本包含的是 RPM v4.1 或者更新版本,使用 rpmbuild 命令代替 "rpm"

    (3) 安装刚刚创建的包

    % rpm -i RPMS/i386/basplnx-{version}.{arch}.rpm

    驱动程序和其它需要的文件会自动被安装。

    (4) 加载驱动程序

    % insmod basp

下面,以 Red Hat 为例,介绍一下配置信息

在 BASP 的包里面包含了一个工具和几个 team 配置的脚本,大部分的步骤要在第一次安装完驱动以后来做,而步骤"更改配置脚本",是只要需要更改 team 的配置,就可以参照着来操作。

由于 Linux 不会自动加载网络设备的驱动程序,除非该设备设置了IP地址,所以用户必须为 team中的所有的物理适配器手工配置一个网络脚本文件。这些网络脚本文件位于 /etc/sysconfig/network-scripts (Red Hat) 或者 /etc/sysconfig/ network (United Linux 1.x)。文件名必须以 "ifcfg-" 开头,然后跟着物理适配器的别名,如果是网卡 eth0,就应该创建一个文件,该文件的文件名是 ifcfg-eth0,然后加入下面的内容

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

配置的过程包括下面几个步骤:

1. 可以从 "/etc/basp/samples" 目录中拷贝一个配置脚本到 "/etc/basp" 目录,注意,配置脚本的文件名必须是以 "team-" 开头。

2. 更改配置脚本:

(a) 更改 team 的类型

(b) 添加/删除物理网络适配器

(c) 添加/删除虚拟的网络适配器

(d) 为每个虚拟的网络适配器分配IP地址

配置脚本中的语法可以在 /etc/basp/sample/team-sample 脚本文件中查到。注意,在配置 Teaming 时,至少要有一个主适配器 (Primary Adapter


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多