ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 配置Linux环境下多网卡高可用网络端口

配置Linux环境下多网卡高可用网络端口

原创 Linux操作系统 作者:realkid4 时间:2016-10-25 16:30:34 0 删除 编辑

 

网络是信息系统的核心关键。目前主流的信息系统结构体系中,数据库存储往往都是在系统的后端,不直接与前端用户相对。同时,在诸如SANNAS等基于网络体系的存储环境中,可靠的网络环境是我们必须考虑的因素。

 

从常见系统运维事故中,意外断电、断网和空调漏水是三个主要故障因素。意外的网络中断,对Oracle而言可能就意味着丢失数据写入、数据归档失败、DG同步失败。面对这些因素,我们能做的其实也就是用软硬件冗余策略,提高系统关键网络点可用性。

 

在网络层面,目前服务器大都可以配置多余一个网卡设备(一般四个)。通常,我们的配置是一个网卡对应一个IP地址,访问不同的网卡对应不同的IP地址。那么,可否设置一种方法,建立一个虚拟的网卡,对应一个虚拟的IP地址。后台是由多个物理网卡与之对应。这种策略下:一旦一个网卡或者线路出现问题,其他的网络旁路也可以以相同的IP地址对外提供支持。

 

本篇主要介绍在Linux环境下,如何配置这种高可用公共网络配置。

 

1、环境说明

 

笔者使用红帽6.5进行实验。

 

 

[root@SimpleLinux ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

[root@SimpleLinux ~]# uname -a

Linux SimpleLinux.localdomain 2.6.32-431.el6.i686 #1 SMP Sun Nov 10 22:20:22 EST 2013 i686 i686 i386 GNU/Linux

 

 

当前在服务器上,安装了两个物理网卡,对应名称分别是eth0eth1

 

 

[root@SimpleLinux network-scripts]# ifconfig

eth0      Link encap:Ethernet  HWaddr 08:00:27:91:3F:F7 

          inet addr:192.168.137.88  Bcast:192.168.137.255  Mask:255.255.255.0

          inet6 addr: fe80::a00:27ff:fe91:3ff7/64 Scope:Link

 

eth1      Link encap:Ethernet  HWaddr 08:00:27:36:30:45 

          inet addr:192.168.137.89  Bcast:192.168.137.255  Mask:255.255.255.0

          inet6 addr: fe80::a00:27ff:fe36:3045/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:93 errors:0 dropped:0 overruns:0 frame:0

 

 

当前,两个网卡均可有效,可以从外部使用网络ping通。

 

 

C:\Users\admin>ping 192.168.137.88

 

正在 Ping 192.168.137.88 具有 32 字节的数据:

来自 192.168.137.88 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.137.88 的回复: 字节=32 时间<1ms TTL=64

 

192.168.137.88 Ping 统计信息:

    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失)

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms

Control-C

^C

C:\Users\admin>ping 192.168.137.89

 

正在 Ping 192.168.137.89 具有 32 字节的数据:

来自 192.168.137.89 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.137.89 的回复: 字节=32 时间<1ms TTL=64

 

192.168.137.89 Ping 统计信息:

    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失)

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms

Control-C

^C

 

 

2、配置虚拟bond0

 

配置高可用虚拟网卡,首先需要在操作系统层面关闭Network Manager服务。

 

 

[root@SimpleLinux ~]# chkconfig NetworkManager off

[root@SimpleLinux ~]# chkconfig --list | grep Network

NetworkManager  0:off   1:off   2:off   3:off   4:off   5:off   6:off

 

[root@SimpleLinux ~]# service NetworkManager stop

 

 

进入网络配置目录文件夹,将原有的两个网卡配置文件备份好。

 

 

[root@SimpleLinux ~]# cd /etc/sysconfig/network-scripts/

[root@SimpleLinux network-scripts]# ls -l | grep ifcfg-eth

-rw-r--r--. 1 root root   281 Sep  5  2014 ifcfg-eth0

-rw-r--r--. 1 root root   108 Oct 20 09:45 ifcfg-eth1

[root@SimpleLinux network-scripts]# mv ifcfg-eth0 /tmp

[root@SimpleLinux network-scripts]# mv ifcfg-eth1 /tmp

 

 

生成bond0文件。

 

 

[root@SimpleLinux network-scripts]# echo "alias bond0 bonding" > /etc/modprobe.d/bonding.conf

[root@SimpleLinux network-scripts]# cd /etc/modprobe.d/

[root@SimpleLinux modprobe.d]# cat bonding.conf

alias bond0 bonding

 

 

/etc/sysconfig/network-scripts目录下,创建单独的ifcfg-bond0文件。

 

 

[root@SimpleLinux modprobe.d]# cd /etc/sysconfig/network-scripts/

[root@SimpleLinux network-scripts]# cat ifcfg-bond0

DEVICE="bond0"

BONDING_OPTS="mode=1 miimon=100 primary=em1"

NM_CONTROLLED="no"

IPADDR="192.168.137.90"  --新的IP地址,虚拟IP

NETMASK="255.255.255.0"

GATEWAY="192.168.137.1"

ONBOOT="yes"

 

 

修改原有的eth0eth1文件。

 

 

[root@SimpleLinux network-scripts]# cat ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

NAME="System eth0"

SLAVE=yes

MASTER=bond0

 

[root@SimpleLinux network-scripts]# cat ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

NAME="System eth1"

SLAVE=yes

MASTER=bond0

 

 

重新启动网络服务service network,让应用生效。

 

 

 

此时ifconfig状态如下:

 

 

[root@SimpleLinux network-scripts]# ifconfig

bond0     Link encap:Ethernet  HWaddr 08:00:27:91:3F:F7 

          inet addr:192.168.137.90  Bcast:192.168.137.255  Mask:255.255.255.0

          inet6 addr: fe80::a00:27ff:fe91:3ff7/64 Scope:Link

          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

          RX packets:3000 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2164 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:274055 (267.6 KiB)  TX bytes:275545 (269.0 KiB)

 

eth0      Link encap:Ethernet  HWaddr 08:00:27:91:3F:F7 

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

          RX packets:2433 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1727 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:220864 (215.6 KiB)  TX bytes:225329 (220.0 KiB)

 

eth1      Link encap:Ethernet  HWaddr 08:00:27:91:3F:F7 

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

          RX packets:568 errors:0 dropped:0 overruns:0 frame:0

          TX packets:438 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:53251 (52.0 KiB)  TX bytes:50450 (49.2 KiB)

 

 

此时,新的IP地址90已经可以使用了。

 

 

C:\Users\admin>ping 192.168.137.90

 

正在 Ping 192.168.137.90 具有 32 字节的数据:

来自 192.168.137.90 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.137.90 的回复: 字节=32 时间<1ms TTL=64

 

192.168.137.90 Ping 统计信息:

    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失)

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms

Control-C

^C

 

 

3、高可用测试

 

下面进行高可用性测试,两个网卡如果被关闭一个,看是否虚拟IP还可以连接。

 

 

[root@SimpleLinux ~]# ifconfig eth0 down 关闭了eth0,查看状态。

 

C:\Users\admin>ping 192.168.137.90

 

正在 Ping 192.168.137.90 具有 32 字节的数据:

来自 192.168.137.90 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.137.90 的回复: 字节=32 时间<1ms TTL=64

 

192.168.137.90 Ping 统计信息:

    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失)

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms

Control-C

 

 

启动eth0,关闭eth1

 

 

 

[root@SimpleLinux network-scripts]# ifconfig eth1 down

 

C:\Users\admin>ping 192.168.137.90

 

正在 Ping 192.168.137.90 具有 32 字节的数据:

来自 192.168.137.90 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.137.90 的回复: 字节=32 时间<1ms TTL=64

 

192.168.137.90 Ping 统计信息:

    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失)

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms

Control-C

^C

 

 

测试成功。

 

4、结论

 

高可用网络bond,在Oracle标准配置RAC的过程中,是一个必要过程。主要是针对公共网络和私有网络的高可用配置。RAC架构中,各个节点node之间,节点node和存储之间有非常复杂的数据交换和信息传递。所以,网络保障至关重要。

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17203031/viewspace-2127079/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
求道~

注册时间:2010-11-30

  • 博文量
    545
  • 访问量
    7644847