Linux下bind6配置


bind0配置做過了,但是感覺上怪怪的,環境是虛擬機給了兩塊網卡。然后配置成bind0,但是做好之后發現ping這個bind0的地址是可以的,如果down掉一塊網卡,那么就ping不通bind0的地址了,然后就需要重啟虛擬機的network才可以。同樣的,第一塊網卡up之后,把第二塊網卡down掉,發現還是需要重啟網卡這一手動,這是我不願意接受的。不是說自動切換嗎?怎么沒有呢?

后來網上查需要在交換機做端口聚合,不明白什么意思,難道在虛擬機上做不了?不管了,通過研究發現可以做bind6來嘗試,原文章是這樣說bind的幾種模式的:

常用的有三種模式
mode=0:平衡負載模式,有自動備援,但需要”Switch”支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援,不必”Switch”支援及設定。
需要說明的是如果想做成mode 0的負載均衡,僅僅設置這里options bond0 miimon=100 mode=0是不夠的,與網卡相連的交換機必須做特殊配置(這兩個端口應該采取聚合方式),因為做bonding的這兩塊網卡是使用同一個MAC地址.從原理分析一下(bond運行在mode 0下):mode 0下bond所綁定的網卡的IP都被修改成相同的mac地址,如果這些網卡都被接在同一個交換機,那么交換機的arp表里這個mac地址對應的端口就有多 個,那么交換機接受到發往這個mac地址的包應該往哪個端口轉發呢?正常情況下mac地址是全球唯一的,一個mac地址對應多個端口肯定使交換機迷惑了。所以 mode0下的bond如果連接到交換機,交換機這幾個端口應該采取聚合方式(cisco稱為 ethernetchannel,foundry稱為portgroup),因為交換機做了聚合后,聚合下的幾個端口也被捆綁成一個mac地址.(實測中mode0可以通過mac地址欺騙的方式在交換機不設置的情況下不太均衡地進行接收。)

mode5和mode6不需要交換機端的設置,網卡能自動聚合,因為做bonding的這兩塊網卡是使用不同的MAC地址。mode4需要支持802.3ad。mode0,mode2和mode3理論上需要靜態聚合方式。

我自己做的實驗如下,做了bond6,配置如下,

centos7系統,都是在/etc/sysconfig/network-scripts下的網卡配置文件寫的

首先是兩塊網卡的配置

第一個:

[root@localhost network-scripts]#cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
MASTER=bond6
SLAVE=yes
USERCTL=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=0422964f-499b-47a7-a6f5-00965fd69d4d
DEVICE=ens33
ONBOOT=yes

第二塊如下:

TYPE=Ethernet
MASTER=bond6
SLAVE=yes
USERCTL=no
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=ens37
UUID=0422964f-499b-47a7-a6f5-00965fd69d4e
DEVICE=ens37
ONBOOT=yes

bond6的配置文件如下:

[root@localhost network-scripts]#cat ifcfg-bond6 
DEVICE=bond6
ONBOOT=yes
USERCTL=yes
BOOTPROTO=none
BONDING_OPTS="mode=6 miimon=100"
IPADDR=192.168.1.135
NETMASK=255.255.255.0
DNS1=114.114.114.114
GATEWAY=192.168.1.2

然后重啟network

看這個文件可以看到配置成功了沒有:

[root@localhost network-scripts]#cat /proc/net/bonding/bond6
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: ens37
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens33
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 2
Permanent HW addr: 00:0c:29:86:99:0d
Slave queue ID: 0

Slave Interface: ens37
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:0c:29:86:99:17
Slave queue ID: 0

這個文件可以列出你bond6的內容信息。

然后我們執行ip命令查看一下:

[root@localhost network-scripts]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: ens33: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc pfifo_fast master bond6 state DOWN group default qlen 1000
    link/ether 00:0c:29:86:99:17 brd ff:ff:ff:ff:ff:ff
3: ens37: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond6 state UP group default qlen 1000
    link/ether 00:0c:29:86:99:0d brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0a:dd:16:fa:cf:61 brd ff:ff:ff:ff:ff:ff
7: bond6: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:86:99:0d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.135/24 brd 192.168.1.255 scope global bond6
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe86:990d/64 scope link 
       valid_lft forever preferred_lft forever

可以看到bond6特征。bond6的mac地址和ens37是一樣的,如果現在把ens37給down掉了,此時bond6的mac地址和ens33是一樣。他們是自動切換的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM