redhat系统双网卡绑定

Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。

 

1.相关的配置文件:

/ect/hosts 配置主机名和IP地址的对应

/etc/sysconfig/network 配置主机名和网关

/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推

2.网卡配置

   假设我们要配置主机名为test,eth0的IP地址192.168.168.1/24,网关地址192.168.168.250

则/etc/sysconfig/network文件内容如下:

NETWORKING=yes

HOSTNAME=test

GATEWAY=192.168.168.250

eth0对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容如下:

DEVICE=eth0    设备名称

BOOTPROTO=static    地址配置方式:static、dhcp、none

IPADDR=192.168.168.1 

NETMASK=255.255.255.0

TYPE=Ethernet         网络类型

ONBOOT=yes          系统开机是否自启动

HWADDR=             MAC地址

2. 多个网卡绑定成一块虚拟网卡

为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。比如我们可以将eth0和eth1绑定成虚拟网卡bond0。网卡绑定步骤如下:

2.1首先用ifconfig命令查看系统网卡信息,进行网卡绑定规划,比如我们选定eth0和eth1

2.2网卡绑定前要关闭系统的NetworkManager服务

    service NetworkManager stop    停止服务

chkconfig NetworkManager off   开机自启动关掉

chkconfig|grep NetworkManager  检查服务是否彻底关掉

  2.3 在 /etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0,内容如下:

      DEVICE=bond1

ONBOOT=yes

BOOTPROTO=none       地址配置方式none

IPADDR=22.1.82.63

NETMASK=255.255.255.0

USERCTRL=no

GATEWAY=22.1.82.253

BONDING_OPTS="mode=0 miimon=50 fail_over_mac=0"    虚拟网卡参数,mode为网卡策略,目前有七种(详细介绍在下面)miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡。

接下来在同一个目录下面分别配置eth0和eth1的配置文件,内容如下:

eth0:

DEVICE=eth0

HWADDR=

MASTER=bond0     虚拟网卡名称,eth0的主设备

SLAVE=yes          配置eth1位从设备

ONBOOT=yes 

BOOTPROTO=none

USERCTL=no

Eth1:

DEVICE=eth1

HWADDR=

MASTER=bond0    虚拟网卡名称,eth1的主设备

SLAVE=yes         配置eth1位从设备

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

  2.4配置文件配置完成后使用如下命令

      Ifdown  eth0

Ifdown  eth1

Ifup  bond0

如果上述命令不成功,可以使用

Ifconfig eth0 down

Ifconfig eth1 down

Ifconfig bond0 up

  2.5 使用ifconfig查看网卡信息,新建立的bond0 会在网卡信息列表里面显示

  2.6重启网络服务

      service network restart

  2.7 用 ping命令测试一下所配置的虚拟地址,如果重启网络服务不生效,则重启服务器,然后在用 ping命令测试一下所配置的虚拟地址

3.网卡绑定策略目前有七种:

 Mode

=0: (balance-rr) Round-robin policy: (平衡抡循环策略):传输数据包顺序是依次传输,直到最后一个传输完毕, 此模式提供负载平衡和容错能力。

=1: (active-backup) Active-backup policy:(主-备份策略):只有一个设备处于活动状态。 一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。 此模式提供了容错能力。

=2:(balance-xor) XOR policy:(平衡 策略): 传输根据原地址布尔值选择传输设备。 此模式提供负载平衡和容错能力。

=3:(broadcast) broadcast policy:  (广播策略):将所有数据包传输给所有接口。 此模式提供了容错能力。 

=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation.   IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双工设置的聚合组。(我不是太懂。)

=5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡):没有特殊策略,第一个设备传不通就用另一个设备接管第一个设备正在处理的mac地址,帮助上一个传。

=6:(balance-alb) Adaptive load balancing: (适配器传输负载均衡):大致意思是包括mode5,bonding驱动程序截获 ARP 在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。

这些选项可以用命令:# modinfo bonding 来查看

 

4说明

如果想做成负载均衡,仅仅设置这里modprode bonding miimon=100 mode=0是不够的,还需要设置交换机的端口.

从原理分析一下(bond运行在mode 0下):

mode 0下bond所绑定的网卡的IP都被修改成一样的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。

所以mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDK源码解析之java.util.Iterator和java.lang.Iterable

在Java中,我们可以对List集合进行如下几种方式的遍历:第一种就是普通的for循环,第二种为迭代器遍历,第三种是for each循环。后面两种方式涉及到Java中的iterator和iterable对象,接下来我们通过源码来看看这两个对象的区…

为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧

Repinted:http://blog.csdn.net/class1/archive/2006/12/30/1469298.aspx 为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧(可以根据你的喜欢选择相应的编码,如gb2312),即使你现在没有加上这句也能正常访问。 先说MySQL的字…

WebLogic11g 安装配置规范

目录 1 文档控制... 3 1.1 修改记录... 3 1.2 分发者... 3 1.3 审阅记录... 3 1.4 相关文档... 3 2 安装准备... 4 2.1 安装前需要开发单位提供的信息... 4 2.2 本地磁盘空间配置规范... 4 2.3 版本要求规范... 4 2.4 weblogic部署配置规范... 5 2.4.1操作系统要求.…

JDK源码解析之java.util.ListIterator

ListIterator是一个功能更加强大的迭代器接口, 它继承于Iterator接口,只能用于各种List类型的访问。可以通过调用listIterator()方法产生一个指向List开始处的ListIterator, 还可以调用listIterator(n)方法创建一个一开始就指向列表索引为n的元素处的ListIterator。 一、源码解…

VsFTP出现500 OOPS: cannot change directory的解决办法

cannot change directory:/home/*** ftp服务器连接失败,错误提示:500 OOPS: cannot change directory:/home/*******500 OOPS: child died解决方法:在终端输入命令:setsebool ftpd_disable_trans 1 service vsftpd restart就OK了!…

Oracle的reman命令

list命令: list backupset summary 列出概要信息 list backupset by file list archivelog all 列出所有归档日志 list backupset tag 00列出标签信息 list backupset 8 列出8号…

Ubuntu root账号的使用

第一次安装好Ubuntu后,root帐号不能用。在安装期间创建的第一个用户对系统有管理权,通过“sudo”能象root运行程序.使用时仅需它的普通用户密码。例如: sudo apt-get update  如果你希望像传统 UNIX 样式使用root帐号。你能通过输入 sudo passwd root …

JDK源码解析之Java.util.Collection

Collection是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素,JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现 一、源码解析 1、接口定义 public interface …

Vim 命令操作

vim命令操作命令模式dd 编辑模式 末行模式 1.地址定界: startpos,endpos #:特定的第#行,例如S即第5行;:当前行;$:最后一行; #,#:指定行范圃,左侧起始行&#xff0…

JDK源码解析之Java.util.Collections

java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。 一、源码解析 1、不可实例化 private Collections() {}Collections是util包中一个不可实例化的类。 2、优化参数 pri…

ubuntu下安装jdk

安装1.5 sudo apt-get install sun-java5-jdk sudo update-alternatives --config java sudo update-alternatives --config javac 安装1.6 sudo apt-get install sun-java6-jdk sudo update-alternatives --config java sudo update-alternatives --config javac 转载:http:/…

使用validate验证数据库

验证数据备份集是不是可以用来做恢复和数据文件是否损坏、坏块 三种方式: 1.validate validate database ;validate tablespace users; validate datafile 1; validate archivelog all validate datafile 1 block 10; validate backupset 28; db…

JDK源码解析之java.util.AbstractCollection

AbstractCollection类提供了collection的实现类应该具有的基本方法,具有一定的普适性,可以从大局上了解collection实现类的主要功能。 java.util.AbstractCollection这个类提供了对接口Collection骨骼级的实现。 一、源码解析 1、iterator():返回一个迭…

沟通linux与windows的wine

据Netcraft网站调查,现在互联网上的主机有75%以上采用Linux作为操作系统。作为服务器操作系统,Linux已经站稳了脚步,可是在桌面 操作系统上,还是微软的“瘟到死”一支独秀。这倒不是说Linux不好,很大原因我…

备份spfil、控制文件等

delete backup; delete backupset delete noprompt backup backup keep forver database 永久保存恢复目录中支持此命令 show parameter control 备份spfile backup spfile backup current contrlfile configure controlfile autoback …

日常问题——阿里云服务器ssh经常一段时间就断掉解决办法

#vim /etc/ssh/sshd_config 找到下面两行 #ClientAliveInterval 0 #ClientAliveCountMax 3 去掉注释,改成 ClientAliveInterval 30 ClientAliveCountMax 86400 这两行的意思分别是 1、客户端每隔多少秒向服务发送一个心跳数据 2、客户端多少秒没有相应&#…

在Ubuntu 8.04 LTS(hardy)下安装配置nginx和fastcgi方式的php

最近我们(瑞豪开源Xen VPS: http://www.RasHost.com)的一个客户要求在他的Ubuntu 8.04 VPS上安装一个高性能的nginx,下面是我的安装记录。 由于Ubuntu 804已经包含了nginx,所以根本不要编译,安装超简单! 在VPS上修改/etc/apt/so…

apt-get包管理详解

apt-get使用source.list文件进行软件包管理。如果您想了解关于如何编辑和更新source.list中的条目的信息,请参阅SourcesList“起初GNU/Linux系统中只有.tar.gz。用户必须自己编译他们想使用的每一个程序。在Debian出现之後,人们认为有必要在系统中添 加一…

awk命令

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。…

ubuntu安装字符集

sudo locale-gen zh_CN.GBK sudo locale-gen zh_CN