服務(wù)器維護(hù)Lnux系統(tǒng)網(wǎng)卡綁定配置詳解
2020-06-17 21:08 作者:admin
服務(wù)器維護(hù)小知識(shí)一、CentOS 配置網(wǎng)卡綁定(bonding)
1、bonding概述
(1)作用:就是將多塊網(wǎng)卡綁定同一IP地址對(duì)外提供服務(wù),可以實(shí)現(xiàn)高可用或者負(fù)載均衡。當(dāng)然,直接給兩塊網(wǎng)卡設(shè)置同一IP地址是不可能的。通過(guò)bonding,虛擬一塊網(wǎng)卡對(duì)外提供連接,物理網(wǎng)卡的被修改為相同的MAC地址。
(2)Bonding的工作模式
1)Mode 0 (balance-rr)輪轉(zhuǎn)(Round-robin)策略:從頭到尾順序的在每一個(gè)slave接口上面發(fā)送數(shù)據(jù)包。本模式提供負(fù)載均衡和容錯(cuò)的能力
2)Mode 1 (active-backup)活動(dòng)-備份(主備)策略:在綁定中,只有一個(gè)slave被激活。當(dāng)且僅當(dāng)活動(dòng)的slave接口失敗時(shí)才會(huì)激活其他slave。為了避免交換機(jī)發(fā)生混亂此時(shí)綁定的MAC地址只有一個(gè)外部端口上可見(jiàn)
3)Mode 3 (broadcast)廣播策略:在所有的slave接口上傳送所有的報(bào)文。本模式提供容錯(cuò)能力。
2、bonding配置(詳細(xì)配置文檔:/usr/share/doc/kerneldocversion/Documentation/networking
/bonding.txt)
(1)準(zhǔn)備工作:需要關(guān)閉NetworkManager
[root@linuxidc-6 ~]# serviceNetworkManager stop
(2)創(chuàng)建bonding配置文件(miimon是用來(lái)進(jìn)行鏈路監(jiān)測(cè)的。如果miimon=100,那么系統(tǒng)每100ms 監(jiān)測(cè)一次鏈路連接狀態(tài),如果有一條線路不通就轉(zhuǎn)入另一條線路,mode用來(lái)指定bonding的工作模式)
[root@linuxidc-6 ~]# cd/etc/sysconfig/network-scripts/
[root@linuxidc-6 network-scripts]#cat ifcfg-bond0 #bonding的配置
DEVICE=bond0 #設(shè)備名稱
BOOTPROTO=dhcp #IP地址獲取方式
BONDING_OPTS="miimon=100mode=1"
(3)配置需要bonding的網(wǎng)卡
[root@linuxidc-6 network-scripts]#cat ifcfg-eth1 ifcfg-eth0 #物理網(wǎng)卡的配置
DEVICE=eth1
BOOTPROTO=dhcp
MASTER=bond0 #指定主設(shè)備為bond0
SLAVE=yes #將當(dāng)前設(shè)備設(shè)置為從設(shè)備
USERCTL=no
DEVICE=eth0
BOOTPROTO=dhcp
MASTER=bond0
SLAVE=yes
USERCTL=no
(4)使配置生效(配置完成后需要重啟網(wǎng)卡時(shí)配置生效,生效后查看網(wǎng)卡信息時(shí),只有bonding設(shè)備有IP地址,物理網(wǎng)卡沒(méi)有IP地址)
[root@linuxidc-6 network-scripts]#service network restart #重啟網(wǎng)卡使配置的bonding生效
[root@linuxidc-6 network-scripts]#ifconfig
bond0 Link encap:Ethernet HWaddr 00:0C:29:D3:7B:9B
inet addr:172.16.254.250 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr:fe80::20c:29ff:fed3:7b9b/64 Scope:Link
UP BROADCAST RUNNING MASTERMULTICAST MTU:1500 Metric:1
RX packets:862 errors:0 dropped:0overruns:0 frame:0
TX packets:23 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:92932 (90.7 KiB) TX bytes:3326 (3.2 KiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:D3:7B:9B
UP BROADCAST RUNNING SLAVEMULTICAST MTU:1500 Metric:1
RX packets:298656 errors:0 dropped:0overruns:0 frame:0
TX packets:9015 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:33161613 (31.6 MiB) TX bytes:1608752 (1.5 MiB)
eth1 Link encap:Ethernet HWaddr 00:0C:29:D3:7B:9B
UP BROADCAST RUNNING SLAVEMULTICAST MTU:1500 Metric:1
RX packets:425 errors:0 dropped:0overruns:0 frame:0
TX packets:0 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45922 (44.8 KiB) TX bytes:0 (0.0 b)
(5)查看bonding的信息(通過(guò)查看/proc/net/bonding/bond0能夠查看網(wǎng)卡的的狀態(tài),在主備模式下那塊網(wǎng)卡處于激活狀態(tài))
[root@linuxidc-6 network-scripts]#cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver:v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance(active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
3、刪除bonding
[root@linuxidc-6 network-scripts]#ifconfig bond0 down #停掉bonding
[root@linuxidc-6 network-scripts]#rm ifcfg-bond0 #刪除bonding配置文件
服務(wù)器維護(hù)小知識(shí)二、CentOS 下配置網(wǎng)卡綁定(bonding)
1、網(wǎng)卡命名
(1)網(wǎng)卡命名機(jī)制,systemd對(duì)網(wǎng)絡(luò)設(shè)備的命名方式
1) 如果Firmware或BIOS為主板上集成的設(shè)備提供的索引信息可用,且可預(yù)測(cè)則根據(jù)此索引進(jìn)行命名,例如eno1
2) 如果Firmware或BIOS為PCI-E擴(kuò)展槽所提供的索引信息可用,且可預(yù)測(cè),則根據(jù)此索引進(jìn)行命名,例如ens1
3) 如果硬件接口的物理位置信息可用,則根據(jù)此信息進(jìn)行命名,例如enp2s0
4) 如果用戶顯式啟動(dòng),也可根據(jù)MAC地址進(jìn)行命名,enx2387a1dc56
5) 上述均不可用時(shí),則使用傳統(tǒng)命名機(jī)制
(2) 名稱組成格式
en: Ethernet 有線局域網(wǎng)
wl: wlan無(wú)線局域網(wǎng)
ww: wwan無(wú)線廣域網(wǎng)
名稱類型:
o<index>: 集成設(shè)備的設(shè)備索引號(hào)
s<slot>: 擴(kuò)展槽的索引號(hào)
x<MAC>: 基于MAC地址的命名
p<bus>s<slot>:enp2s1
(3)網(wǎng)卡設(shè)備的命名過(guò)程
第一步:udev, 輔助工具程序/lib/udev/rename_device/usr/lib/udev/rules.d/60-net.rules
第二步:biosdevname會(huì)根據(jù)/usr/lib/udev/rules.d/71-biosdevname.rules
(4)更改centos7網(wǎng)卡名稱
CentOS從7.0版本以后,網(wǎng)卡的命名自動(dòng)基于固件及拓?fù)浣Y(jié)構(gòu)和位置信息來(lái)固定。不會(huì)自動(dòng)生成eth0等網(wǎng)卡名稱,為了方便KVM的部署。此處,我們我們將網(wǎng)卡名稱修改為eth0。
方法一:在安裝系統(tǒng)的過(guò)程中修改網(wǎng)卡名稱為eth0(在安裝系統(tǒng)的選擇界面,選擇“install centOS 7” 按下”Tab”鍵在最下面加入”net.ifnames=0 biosdevname=0”如下圖所示)
方法二:編輯/etc/grub2.cfg配置文件:(加入net.ifnames=0)
[root@linuxidc ~]# cat -n/etc/grub2.cfg | grep biosdevname
99 linux16 /vmlinuz-3.10.0-327.el7.x86_64root=UUID=90b71a77-dd23-4528-8338-d7e466927721 ro crashkernel=autobiosdevname=0 net.ifnames=0 rhgbquiet.UTF-8
或修改/etc/default/grub配置文件:(在下述行加入net.ifnames=0)
[root@linuxidc ~]#cat /etc/default/grub
……
GRUB_CMDLINE_LINUX="crashkernel=autobiosdevname=0 net.ifnames=0 rhgbquiet"
方法三:為grub2生成其配置文件
[root@linuxidc ~]#grub2-mkconfig-o /etc/grub2.cfg
注:通過(guò)方法二和方法三修改后需要重啟系統(tǒng)是配置生效,同時(shí)也需要修改網(wǎng)卡配置文件中的網(wǎng)卡名稱
IT運(yùn)維 我們選擇
北京艾銻無(wú)限
以上文章由北京艾銻無(wú)限科技發(fā)展有限公司整理