天天看點

redHat linux7雙網卡綁定操作

雙網卡綁定,也稱作雙網卡捆綁。就是将伺服器的2個網卡綁定成一個虛拟網卡,使伺服器的2塊網卡連接配接到2台交換機上,并配置同一個IP位址,這樣可以有效防止某個交換機或者網卡、網線壞掉時,影響伺服器的正常工作。​

現在主要介紹RedHat Enterprise Linux 7(或者Centos7)進行雙網卡綁定的方法,這裡先介紹常用的bond方式綁定。後續有使用HedHat 7推薦的team方式,再增加相關的操作方法。​

詳情,附件還有

一、檢視網卡情況​

伺服器上一般會配置有多塊網卡,可以通過插入網線的方式确定網卡的編号。檢視網線有沒有插上,可以使用ip l或者nmcli指令。注意nmcli需要啟動NetworkManager服務,使用Bond方式做網卡綁定會停用這個服務,nmcli指令無法使用。​

ip l 指令,注意網線連接配接狀态會顯示LOWER_UP,網線斷開狀态會顯示<NO-CARRIER>。​

redHat linux7雙網卡綁定操作

nmcli指令較明顯的顯示連接配接和斷開狀态。​

redHat linux7雙網卡綁定操作

二、Bond方式綁定​

雙網卡綁定的工作模式,共有七種模式,主要修改的是負載均衡方式和主備方式,需要和客戶的網絡工程師确認,常用主備方式。​

确定了網卡編号,就可以用Bond方式進行雙網卡綁定了,以下以綁定eno1和eno2為例進行配置。​

  1. 配置eno1網卡配置檔案​注意:檔案名根據實際情況vi,DEVICE=eno1需要按實際命名。​

    [root@linux7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno1​

    DEVICE=eno1​

    TYPE=Ethernet​

    BOOTPROTO=none​

    ONBOOT=yes​

    MASTER=bond0​

    SLAVE=yes​

    USERCTL=no​

  2. 配置eno2網卡配置檔案​注意:檔案名根據實際情況vi,DEVICE=eno2需要按實際命名。​

    [root@linux7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno2​

    DEVICE=eno2​

    TYPE=Ethernet​

    BOOTPROTO=none​

    ONBOOT=yes​

    MASTER=bond0​

    SLAVE=yes​

    USERCTL=no​

  3. 建立網卡bond0的配置檔案​注意:IPADDR、NETMASK、GATEWAY需要根據實際情況配置,primary=eno1根據設計來配置使用哪個為主網卡。​

    [root@linux7~]# touch /etc/sysconfig/network-scripts/ifcfg-bond0 ​

    [root@ linux7~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0 ​

    DEVICE=bond0​

    TYPE=Ethernet​

    ONBOOT=yes​

    BOOTPROTO=static​

    IPADDR=192.168.122.27​

    NETMASK=255.255.255.0​

    GATEWAY=192.168.122.1​

    NAME=bond0​

    BONDING_OPTS="miimnotallow=100 mode=1 primary=eno1 fail_over_mac=1"​

  4. 加載子產品,使系統支援bond模式​miimon是用來進行鍊路監測的,比如miimnotallow=100,那麼系統每100ms監測一次鍊路連接配接狀态,如果線路不通就轉入另一條線路;mode表示雙網卡綁定的工作模式,共有七種模式,常用的為0,1兩種。mode=0表示load balancing (round-robin)為負載均衡方式,兩塊網卡都工作。mode=1表示fault-tolerance (active-backup)提供備援功能,工作方式是主備的工作方式,也就是說預設情況下隻有一塊網卡工作,另一塊做備份。​

    注意:如果檔案不存在,需要手動建立。盡量選擇mode=1主備方式。​

    [root@linux7~]# cat /etc/modprobe.conf​

    alias bond0 bonding​

    options bond0 miimnotallow=100 mode=1 fail_over_mac=1​

  5. 在/etc/rc.d/rc.local 加入以下内容,重新開機時自動執行網卡綁定操作。​注意:eno1和eno2根據實際情況配置。​

    ifenslave bond0 eno1 eno2​

  6. 執行以下指令,加載bond module,激活bonding驅動。​[root@linux7~]# modprobe bonding​

    可以使用lsmod | grep bonding指令,确認子產品是否加載成功。​

  7. 禁用NetworkManager服務,并重新開機網絡服務。​[root@linux7~]# systemctl stop NetworkManager ​

    [root@linux7~]# systemctl disable NetworkManager ​

    [root@linux7~]# systemctl restart network​

  8. 檢查雙網卡綁定狀态​使用ifconfig -a指令,或者ip a指令查詢網卡狀态。注意bond0顯示LOWER_UP狀态,顯示IP資訊。​
  9. redHat linux7雙網卡綁定操作
  10. 測試雙網卡綁定是否完全成功​

首先在另一台能連通此伺服器的伺服器,一直ping此IP,确認網絡已經通暢。​

然後使用ifdown eno1或ifconfig down eno1,斷開網卡eno1,測試網卡eno2是否正常(恢複指令ifup eno1或ifconfig up eno1),觀察ping是否正常。并以同樣的方式,測試斷開網卡eno2,測試網卡eno1是否正常。​

繼續閱讀