centos7 搭建雙網卡bond1(主備模式)實例
前景須知:
在redhat6 中網卡叫bond,在redhat7及centos7中改名team,此處只記錄centos7中雙網卡主備搭建過程。
應用情景:實現網絡的高可用,防止一條網線或交換機故障影響該物理機進行數據交互
此次環境是由於在上線業務之前是沒有做Team的 ,現在由於要撤掉交換機過程期間需要將網線連接到另外一臺交換機,為了防止數據中斷,因此采用Team主備模式,這樣斷掉一個網卡就不影響業務,測試發現重啟網卡時候會有3到4個丟包
環境:centos7 網卡1 ens192 網卡2 ens224
配置方法:
1.創建組:
[root@bogon ~]# nmcli connection add type team ifname team0 con-name team0 config ‘ {"runner":{"name":"activebackup"}}‘
add 添加
type 設備類型
ifname 接口名
con-name 連接名
activebackup Team的主備模式
會在/etc/sysconfig/network-scripts目錄下生成一個ifcfg-team0的配置文件
2.創建組接口地址:
[root@bogon ~]# nmcli connection modify team0 ip4 10.11.27.200/24 gw4 10.11.27.1
ip4 設置ipv4的ip及掩碼
gw4 設置網關
[root@bogon ~]# nmcli connection modify team0 ipv4.method manual
ipv4.method manual 設置ipv4地址為靜態地址非dhcp
3.添加網卡到(Team)組
[root@bogon ~]# nmcli connection add ifname ens192 con-name team0-port1 type team-slave master team0
[root@bogon ~]# nmcli connection add ifname ens224 con-name team0-port2 type team-slave master team0
會在/etc/sysconfig/network-scripts 目錄生成ifcfg-team0-port1 ifcfg-team0-port2兩個配置文件
4.由於我這裏配置team0的ip是我之前網卡ens192的ip ,為了避免沖突在重啟網卡前需要將ens192的網卡配置清除。
如果是初始配置,則不需要此步驟
[root@bogon ~]# mv /etc/sysconfig/network-scripts/ifcfg-ens192 /home/wxl/
5.重啟網卡服務
[root@bogon ~]# systemctl restart network
配置完畢
重啟網卡之前在另外一臺機器一直ping此服務器則可以檢測到網路中斷的時間。
6.查看team0的狀態
[root@bogon ~]# teamdctl team0 state setup: runner: activebackup #當前運行的模式 主備 ports: #綁定的網卡信息 ens192 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up #此網卡當前運行情況up則表示正常 down count: 0 ens224 link watches: link summary: down instance[link_watch_0]: name: ethtool link: down #down表示此網卡被關閉 down count: 0 runner: active port: ens192 #當前主網卡使用的是ens192
7.測試則可以拔掉一根網線或者停掉一個網卡進行測試,找一臺機器一直ping著team0的ip觀察是否網絡會中斷
模擬ens2故障:
[root@bogon ~]# teamdctl team0 state setup: runner: activebackup ports: ens192 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 ens224 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: ens192 [root@bogon ~]# ip link set ens224 down [root@bogon ~]# teamdctl team0 state setup: runner: activebackup ports: ens192 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 ens224 link watches: link summary: down instance[link_watch_0]: name: ethtool link: down down count: 1 runner: active port: ens192
查看網絡情況正常
[#@bh ~]$ ping 10.11.27.200
PING 10.11.27.200 (10.11.27.200) 56(84) bytes of data.
64 bytes from 10.11.27.200: icmp_seq=1 ttl=61 time=12.1 ms
64 bytes from 10.11.27.200: icmp_seq=2 ttl=61 time=12.6 ms
64 bytes from 10.11.27.200: icmp_seq=3 ttl=61 time=12.0 ms
64 bytes from 10.11.27.200: icmp_seq=4 ttl=61 time=11.5 ms
64 bytes from 10.11.27.200: icmp_seq=5 ttl=61 time=11.6 ms
64 bytes from 10.11.27.200: icmp_seq=6 ttl=61 time=12.3 ms
==============================================================================================
nmcli 命令集
顯示當先網絡設備狀態:nmcli dev
顯示所有網絡連接:nmcli con show
顯示活動網絡連接:nmcli con show -active
顯示指定網絡連接的詳情:nmcli con show eno16777728
顯示網絡設備連接狀態:nmcli dev status
顯示所有網絡設備的詳情:nmcli dev show
顯示指定網絡設備的詳情:nmcli dev show eno16777728
啟用網絡連接:nmcli con up eno16777728
停用網絡連接(可被自動激活):nmcli con down eno33554960
禁用網卡,防止被自動激活:nmcli dev dis eth0
刪除網絡連接的配置文件:nmcli con del eno33554960
重新加載配置網絡配置文件:nmcli con reload
動態獲取IP方式的網絡連接配置:nmcli con add con-name eno16777728 type ethernet ifname eno16777728
指定靜態IP方式的網絡連接配置:nmcli con add con-name eno16777728 ifname eno16777728 autoconnect yes type ethernet ip4 10.1.254.254/16 gw4 10.1.0.1
啟用/關閉所有的網絡連接:nmcli net on/off
禁用網絡設備並防止自動激活:nmcli con dis eno33554960
查看添加網絡連接配置的幫助:nmcli con add help
修改網絡連接單項參數
nmcli con mod IF-NAME connection.autoconnect yes修改為自動連接
nmcli con mod IF-NAME ipv4.method manual | dhcp修改IP地址是靜態還是DHCP
nmcli con mod IF-NAME ipv4.addresses “172.25.X.10/24 172.25.X.254”修改IP配置及網關
nmcli con mod IF-NAME ipv4.gateway 10.1.0.1修改默認網關
nmcli con mod IF-NAME +ipv4.addresses 10.10.10.10/16添加第二個IP地址
nmcli con mod IF-NAME ipv4.dns 114.114.114.114添加dns1
nmcli con mod IF-NAME +ipv4.dns 8.8.8.8添加dns2
nmcli con mod IF-NAME -ipv4.dns 8.8.8.8刪除dns
nmcli命令修改所對應的文件條目
nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
connection.id eth0 NAME=eth0
(ipv4.addresses IPADDR0=192.0.2.1
“192.0.2.1/24 PREFIX0=24
192.0.2.254”) GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
pv4.dns-search example.com DOMAIN=example.com
pv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address... HWADDR=...
centos7 搭建雙網卡bond1(主備模式)實例