下面以Ubuntu 16.04 LTS (Xenial Xerus x86_64)操作系統為例,舉例介紹物理機增強高速網卡的bond配置方法:
說明Ubuntu系列其他操作系統的配置方法與Ubuntu 16.04 LTS (Xenial Xerus x86_64)類似。
增加網卡
步驟1 以“root”用戶,使用密鑰或密碼登錄物理機。
步驟2 進入物理機的命令行界面,查詢網卡信息。
ip link
返回信息示例如下:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond0 state UP group default qlen 1000
link/ether fa:16:00:9b:91:c3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond0 state UP group default qlen 1000
link/ether fa:16:00:9b:91:c3 brd ff:ff:ff:ff:ff:ff
4: p5p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 40:7d:0f:52:e4:1d brd ff:ff:ff:ff:ff:ff
5: p5p2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 40:7d:0f:52:e4:1e brd ff:ff:ff:ff:ff:ff
6: p4p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 40:7d:0f:52:e3:a9 brd ff:ff:ff:ff:ff:ff
7: p4p2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 40:7d:0f:52:e3:aa brd ff:ff:ff:ff:ff:ff
8: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP group default qlen 1000
link/ether fa:16:00:9b:91:c3 brd ff:ff:ff:ff:ff:ff
inet 192.168.254.85/24 brd 192.168.254.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::f816:ff:fe9b:91c3/64 scope link
valid_lft forever preferred_lft forever
9: bond0.3157@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP group default qlen 1000
link/ether fa:16:00:9c:1e:79 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.14/24 brd 192.168.100.255 scope global bond0.3157
valid_lft forever preferred_lft forever
inet6 fe80::f816:ff:fe9c:1e79/64 scope link
valid_lft forever preferred_lft forever
10: bond0.3159@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP group default qlen 1000
link/ether fa:16:00:0a:2e:8e brd ff:ff:ff:ff:ff:ff
inet 192.168.101.153/24 brd 192.168.101.255 scope global bond0.3159
valid_lft forever preferred_lft forever
inet6 fe80::f816:ff:fe0a:2e8e/64 scope link
valid_lft forever preferred_lft forever
說明其中,“eth0”和“eth1”為承載VPC網絡的網絡設備,“p5p1”、“p5p2”、“p4p1”和“p4p2”為承載增強高速網絡的網絡設備。下面步驟將使用“p4p1”和“p4p2”配置增強高速網卡bond。
步驟3 檢查udev規則配置文件。
執行以下命令,查看“/etc/udev/rules.d/”目錄下是否有“80-persistent-net.rules”配置文件。
ll /etc/udev/rules.d/ | grep 80-persistent-net.rules
- 如果存在“80-persistent-net.rules”,且該配置文件中已存在步驟2中查詢到的除“bond0”和“lo”以外的其它所有網卡和對應的MAC地址,請執行 步驟6 。
- 否則,繼續執行 步驟4 。
步驟4 執行以下命令,將“/etc/udev/rules.d/70-persistent-net.rules”文件拷貝一份(文件名為“/etc/udev/rules.d/80-persistent-net.rules”)。
cp -p /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/80-persistent-net.rules
步驟5 設置udev規則。
將步驟2中查詢到的除“lo”、“eth0”、“eth1”和“bond0”以外的網卡和MAC對應關系添加到“/etc/udev/rules.d/80-persistent-net.rules”文件中,使得物理機重啟復位后,網卡名稱和順序不會發生改變。
說明網卡的MAC地址和名稱中的字母,請使用小寫字母。
vim /etc/udev/rules.d/80-persistent-net.rules
修改后的示例如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="f4:4c:7f:5d:b6:fc", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="f4:4c:7f:5d:b6:fd", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="40:7d:0f:52:e4:1d", NAME="p5p1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="40:7d:0f:52:e4:1e", NAME="p5p2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="40:7d:0f:52:e3:a9", NAME="p4p1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="40:7d:0f:52:e3:aa", NAME="p4p2"
修改完成后,按“Esc”,輸入“:wq”保存并退出。
步驟6 執行以下命令,將網卡配置文件“/etc/network/interfaces.d/50-cloud-init.cfg”拷貝為“/etc/network/interfaces.d/60-cloud-init.cfg”。
cp -p /etc/network/interfaces.d/50-cloud-init.cfg /etc/network/interfaces.d/60-cloud-init.cfg
說明如果沒有“/etc/network/interfaces.d/50-cloud-init.cfg”文件,請拷貝“/etc/network/interfaces”文件,依次執行以下命令:
mkdir /etc/network/interfaces.d
cp -p /etc/network/interfaces /etc/network/interfaces.d/60-cloud-init.cfg
步驟7 執行以下命令,編輯“/etc/network/interfaces.d/60-cloud-init.cfg”,配置“p4p1”設備和“p4p2”設備的網絡配置文件“/etc/network/interfaces.d/60-cloud-init.cfg”。
vim /etc/network/interfaces.d/60-cloud-init.cfg
按如下格式編輯:
auto p4p1
iface p4p1 inet manual
bond_mode 1
bond-master bond1
bond_miimon 100
mtu 8888
auto p4p2
iface p4p2 inet manual
bond_mode 1
bond-master bond1
bond_miimon 100
mtu 8888
auto bond1
iface bond1 inet static
bond_miimon 100
bond-slaves none
bond_mode 1
address 10.10.10.103
netmask 255.255.255.0
hwaddress 40:7d:0f:52:e3:a9
mtu 8888
其中,
- “p4p1”和“p4p2”為承載增強高速網絡配置的網卡名稱。
- “hwaddress”為“p4p1”設備對應的MAC地址。
- “address”的取值為給增強高速網絡“bond1”配置的IP(給增強高速網絡規劃的IP地址在沒有與VPC網段沖突的情況下可任意規劃,需要通過增強高速網絡通信的物理機須將增強高速網絡配置在同一個網段)。
- “netmask”的取值為給增強高速網絡“bond1”配置的IP的掩碼。
各個設備的其他參數可參考如上信息進行配置,如“mtu”配置為“8888”,“bond_miimon”配置為“100”,“bond_mode”配置為“1”等。
修改完成后,按“Esc”,輸入“:wq”保存并退出。
步驟8 執行以下命令,啟動bond網卡。
ifup p4p1
ifup p4p2
說明其中,“p4p1”和“p4p2”分別為承載增強高速網絡的網卡。
步驟9 執行以下命令,查看網卡設備的狀態和“bond1”配置文件是否生效。
ip link

Ifconfig

步驟10 參見上述步驟,完成其他物理機的配置。
步驟11 待其他物理機配置完成后,互相ping對端增強高速網絡配置的同網段IP,檢查是否可以ping通。
ping 10.10.10.102 ,返回如下:
[root@bms-ubuntu ~]# ping 10.10.10.102 -I bond1
PING 10.10.10.102 (10.10.10.102) from 10.10.10.103 bond1: 56(84) bytes of data.
64 bytes from 10.10.10.102: icmp_seq=1 ttl=64 time=0.681 ms
64 bytes from 10.10.10.102: icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from 10.10.10.102: icmp_seq=3 ttl=64 time=0.031 ms
64 bytes from 10.10.10.102: icmp_seq=4 ttl=64 time=0.030 ms
^C
--- 10.10.10.102 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3342ms
如果需要配置VLAN,則按照以下步驟配置
步驟1 根據需要配置的VLAN,配置相應VLAN子接口。假設VLAN為316,執行以下命令,編輯“/etc/network/interfaces.d/60-cloud-init.cfg”。
vim /etc/network/interfaces.d/60-cloud-init.cfg
按以下格式編輯:
auto p4p1
iface p4p1 inet manual
bond_mode 1
bond-master bond1
bond_miimon 100
mtu 8888
auto p4p2
iface p4p2 inet manual
bond_mode 1
bond-master bond1
bond_miimon 100
mtu 8888
auto bond1
iface bond1 inet static
bond_miimon 100
bond-slaves none
bond_mode 1
address 10.10.10.103
netmask 255.255.255.0
hwaddress 40:7d:0f:52:e3:a9
mtu 8888
auto bond1.316
iface bond1.316 inet static
bond_miimon 100
bond-slaves none
bond_mode 1
address 10.10.0.103
netmask 255.255.255.0
hwaddress 40:7d:0f:52:e3:a9
mtu 8888
步驟2 執行以下命令,啟動bond網卡VLAN子接口。
ifup bond1.316
步驟3 待其他物理機配置完成后,互相ping對端增強高速網絡VLAN子接口的同網段IP,檢查是否可以ping通。

刪除網卡
- 獲取待刪除增強高速網卡的bond網卡地址。
- 以“root”用戶,使用密鑰或密碼登錄物理機。
- 找到bond關聯的網絡設備,然后執行命令關閉并刪除網絡設備。如果bond有VLAN子接口,這一步將自動刪除VLAN子接口。
[root@bms-ubuntu ~]# ifdown p4p1
[root@bms-ubuntu ~]# ifdown p4p2
[root@bms-ubuntu ~]# ifdown bond1
- 執行以下命令,刪除網絡配置文件“/etc/network/interfaces.d/60-cloud-init.cfg”。
rm -f /etc/network/interfaces.d/60-cloud-init.cfg