2021-05-12 14:32:11
Lnux系統網絡卡系結設定詳解
一、CentOS 設定網絡卡系結(bonding)
1、bonding概述
(1)作用:就是將多塊網絡卡系結同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網絡卡設定同一IP地址是不可能的。通過bonding,虛擬一塊網絡卡對外提供連線,物理網絡卡的被修改為相同的MAC地址。
(2)Bonding的工作模式
1)Mode 0 (balance-rr)輪轉(Round-robin)策略:從頭到尾順序的在每一個slave介面上面傳送封包。本模式提供負載均衡和容錯的能力
2)Mode 1 (active-backup)活動-備份(主備)策略:在系結中,只有一個slave被啟用。當且僅當活動的slave介面失敗時才會啟用其他slave。為了避免交換機發生混亂此時系結的MAC地址只有一個外部埠上可見
3)Mode 3 (broadcast)廣播策略:在所有的slave介面上傳送所有的報文。本模式提供容錯能力。
2、bonding設定(詳細設定文件:/usr/share/doc/kerneldocversion/Documentation/networking
/bonding.txt)
(1)準備工作:需要關閉NetworkManager
[root@linuxidc-6 ~]# serviceNetworkManager stop
(2)建立bonding組態檔(miimon是用來進行鏈路監測的。如果miimon=100,那麼系統每100ms 監測一次鏈路連線狀態,如果有一條線路不通就轉入另一條線路,mode用來指定bonding的工作模式)
[root@linuxidc-6 ~]# cd/etc/sysconfig/network-scripts/
[root@linuxidc-6 network-scripts]#cat ifcfg-bond0 #bonding的設定
DEVICE=bond0 #裝置名稱
BOOTPROTO=dhcp #IP地址獲取方式
BONDING_OPTS="miimon=100mode=1"
(3)設定需要bonding的網絡卡
[root@linuxidc-6 network-scripts]#cat ifcfg-eth1 ifcfg-eth0 #物理網絡卡的設定
DEVICE=eth1
BOOTPROTO=dhcp
MASTER=bond0 #指定主裝置為bond0
SLAVE=yes #將當前裝置設定為從裝置
USERCTL=no
DEVICE=eth0
BOOTPROTO=dhcp
MASTER=bond0
SLAVE=yes
USERCTL=no
(4)使設定生效(設定完成後需要重新啟動網絡卡時設定生效,生效後檢視網絡卡資訊時,只有bonding裝置有IP地址,物理網絡卡沒有IP地址)
[root@linuxidc-6 network-scripts]#service network restart #重新啟動網絡卡使設定的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的資訊(通過檢視/proc/net/bonding/bond0能夠檢視網絡卡的的狀態,在主備模式下那塊網絡卡處於啟用狀態)
[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組態檔
二、CentOS 下設定網絡卡系結(bonding)
1、網絡卡命名
(1)網絡卡命名機制,systemd對網路裝置的命名方式
1) 如果Firmware或BIOS為主機板上整合的裝置提供的索引資訊可用,且可預測則根據此索引進行命名,例如eno1
2) 如果Firmware或BIOS為PCI-E擴充套件槽所提供的索引資訊可用,且可預測,則根據此索引進行命名,例如ens1
3) 如果硬體介面的物理位置資訊可用,則根據此資訊進行命名,例如enp2s0
4) 如果使用者顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56
5) 上述均不可用時,則使用傳統命名機制
(2) 名稱組成格式
en: Ethernet 有線區域網
wl: wlan無線區域網
ww: wwan無線廣域網
名稱型別:
o<index>: 整合裝置的裝置索引號
s<slot>: 擴充套件槽的索引號
x<MAC>: 基於MAC地址的命名
p<bus>s<slot>:enp2s1
(3)網絡卡裝置的命名過程
第一步:udev, 輔助工具程式/lib/udev/rename_device/usr/lib/udev/rules.d/60-net.rules
第二步:biosdevname會根據/usr/lib/udev/rules.d/71-biosdevname.rules
(4)更改centos7網絡卡名稱
CentOS從7.0版本以後,網絡卡的命名自動基於韌體及拓撲結構和位置資訊來固定。不會自動生成eth0等網絡卡名稱,為了方便KVM的部署。此處,我們我們將網絡卡名稱修改為eth0。
方法一:在安裝系統的過程中修改網絡卡名稱為eth0(在安裝系統的選擇介面,選擇“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
註:通過方法二和方法三修改後需要重新啟動系統是設定生效,同時也需要修改網絡卡組態檔中的網絡卡名稱
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2017-05/143534p2.htm
相關文章