配置Linux環境下多網路卡高可用網路埠
網路是資訊系統的核心關鍵。目前主流的資訊系統結構體系中,資料庫儲存往往都是在系統的後端,不直接與前端使用者相對。同時,在諸如SAN和NAS等基於網路體系的儲存環境中,可靠的網路環境是我們必須考慮的因素。
從常見系統運維事故中,意外斷電、斷網和空調漏水是三個主要故障因素。意外的網路中斷,對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
當前在伺服器上,安裝了兩個物理網路卡,對應名稱分別是eth0和eth1。
[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"
修改原有的eth0和eth1檔案。
[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 多網路卡環境下利用策略路由實現網路流量同進同出[轉載]路由
- 配置oracle網路環境Oracle
- 雙網路卡環境下如何內網外網同時用內網
- Linux配置雙網路卡繫結實現負載均衡和高可用性配置Linux負載
- Hadoop框架:HDFS高可用環境配置Hadoop框架
- Linux 網路卡配置Linux
- 11gR2 RAC環境下私網網路卡更名後如何調整GI配置
- 多網路卡路由出口配置路由
- 【Linux】Linux網路配置基礎1 網路相關命令與網路卡配置檔案Linux
- Linux下多網路卡多網段訪問 --- 網路卡及Gateway, 路由設定(Linux OS)LinuxGateway路由
- 雲主機新增網路卡配置多網路卡策略路由路由
- 多網路卡 配置多閘道器
- linux下一個網路卡配置多個IPLinux
- 多塊網路卡繫結IP在linux下Linux
- 配置聯網環境
- RDMA網路下重思資料庫高可用資料庫
- Linux單網路卡繫結多IP與多網路卡共用單IPLinux
- Linux 7 配置網路卡(nmcli)Linux
- 網際網路環境下服務提供的模式模式
- Linux學習 高階網路配置Linux
- linux下配置java環境LinuxJava
- Webpack下多環境配置的思路Web
- Linux系統下網路配置Linux
- 構建ORACLE高可用環境Oracle
- 【OCP學習筆記】配置網路環境 -- 3筆記
- 【OCP學習筆記】配置網路環境 -- 4筆記
- 【OCP學習筆記】配置網路環境 -- 1筆記
- 【OCP學習筆記】配置網路環境 -- 2筆記
- Linux 雙網路卡雙IP配置Linux
- suse linux配置網路卡bondingLinux
- 安裝配置Linux網路卡(轉)Linux
- 【Linux】Linux網路配置基礎2 system-config-network配置網路卡訪問外網Linux
- linux下多網路卡識別順序的問題Linux
- Linux 下配置 node + mongodb 環境LinuxMongoDB
- linux環境下ssh 互信配置Linux
- Linux環境下Swap配置方法Linux
- Linux系統下雙網路卡bonding的配置方法Linux
- 【Linux】Linux網路配置基礎3 編輯配置檔案設定網路卡子介面ipLinux