1. 程式人生 > >centos7 搭建雙網卡bond1(主備模式)實例

centos7 搭建雙網卡bond1(主備模式)實例

sum 模式 address ethernet mas link back 14. ip配置

前景須知:

在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(主備模式)實例