No caso específico decidi adicionar 2 placas de rede extra ao servidor DNS no meu ambiente de virtualização, ficando assim com 3 placas de rede controladas por uma outra virtual chamada bond0 e a ideia era tê-las em balanceamento de carga para alto desempenho. Isto significa que 3 placas recebem e enviam dados como se de uma se tratasse.
Primeiro passo foi verificar se as placas foram realmente adicionadas e correctamente detectadas pelo sistema(após um reboot) com um simples ifconfig:
[root@dns1 rules.d]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0C:29:BF:A6:77
inet addr:192.168.100.10 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:febf:a677/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:183 errors:0 dropped:0 overruns:0 frame:0
TX packets:145 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22215 (21.6 KiB) TX bytes:18011 (17.5 KiB)
eth1 Link encap:Ethernet HWaddr 00:0C:29:BF:A6:81
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
eth2 Link encap:Ethernet HWaddr 00:0C:29:BF:A6:8B
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Felizmente as 3 placas foram apresentadas ao sistema, sendo que a eth0 já estava anteriormente presente, daí a configuração a si associada. Foram adicionadas a eth1 e eth2.
Depois criei os ficheiros network-script das duas novas placas em /etc/sysconfig/network-scripts, aproveitando a oportunidade para configurar já as duas novas placas como membros desse bond (configurações a vermelho) e já agora, os endereços físicos (MAC) podem ser vistos através do comando acima (o ifconfig):
DEVICE="eth1"
HWADDR="00:0C:29:BF:A6:81"
NM_CONTROLLED="yes"
ONBOOT="yes"
MASTER=bond0
SLAVE="yes"
DEVICE="eth2"
HWADDR="00:0C:29:BF:A6:8B"
NM_CONTROLLED="yes"
ONBOOT="yes"
MASTER=bond0
SLAVE="yes"
Mudei também a configuração da placa eth0 removendo as linhas que dizem respeito às configurações de rede pois essas passarão para o bond e deixarão de estar em alguma das placas de rede.
DEVICE="eth0"
HWADDR="00:0C:29:BF:A6:77"
NM_CONTROLLED="yes"
ONBOOT="yes"
MASTER=bond0
SLAVE="yes"
Finalmente configurei/criei o tal ficheiro que diz respeito ao grupo das placas com o nome ifcfg-bond0 em /etc/sysconfig/network-scripts também:
DEVICE=bond0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
NETWORK=192.168.100.0
BROADCAST=192.168.100.255
GATEWAY=192.168.100.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
Atenção que este nome pode ser mudado e usado à medida, podia chamar-se grupo0, team1, placas ou até aslkjc... desde que este nome seja/fosse referenciado correctamente no ficheiro de configuração modprobe que diz respeito ao módulo de bonding em /etc/modprobe.d que deverá ser criado com o nome de bonding.conf - até poderá ser outro se quiserem mas EU acho sempre melhor manter os standards - e com o seguinte conteúdo:
alias bond0 bonding
options bond0 mode=6 miimon=100
de seguida o módulo tem de ser carregado para o kernel da seguinte forma:
modprobe bonding
finalmente, deve também ser reiniciado o serviço de rede:
service network restart
para confirmar que está tudo a funcionar podem e devem ser usados os seguintes dois comandos com os respectivos resultados esperados:
[root@dns1 modprobe.d]# ifconfig
bond0 Link encap:Ethernet HWaddr 00:0C:29:BF:A6:77
inet addr:192.168.100.10 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:febf:a677/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:5742 errors:0 dropped:0 overruns:0 frame:0
TX packets:2613 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:671700 (655.9 KiB) TX bytes:373720 (364.9 KiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:BF:A6:77
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:4823 errors:0 dropped:0 overruns:0 frame:0
TX packets:2186 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:523052 (510.7 KiB) TX bytes:300777 (293.7 KiB)
eth1 Link encap:Ethernet HWaddr 00:0C:29:BF:A6:77
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:459 errors:0 dropped:0 overruns:0 frame:0
TX packets:214 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:74303 (72.5 KiB) TX bytes:38963 (38.0 KiB)
eth2 Link encap:Ethernet HWaddr 00:0C:29:BF:A6:77
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:460 errors:0 dropped:0 overruns:0 frame:0
TX packets:213 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:74345 (72.6 KiB) TX bytes:33980 (33.1 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:374 errors:0 dropped:0 overruns:0 frame:0
TX packets:374 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:206019 (201.1 KiB) TX bytes:206019 (201.1 KiB)
[root@dns1 modprobe.d]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:bf:a6:77
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:bf:a6:81
Slave queue ID: 0
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:bf:a6:8b
Slave queue ID: 0
No comments:
Post a Comment