Ciao a tutti, in un server con xen vorrei avere più schede di rete "agganciate" a più bridge per avere macchine virtuali in diverse reti o suddividere il carico di rete su diverse shede.
xen crea per ogni interfaccia fisica una chiamata
peth e per ogni bridge
xenbr eccone un esempio
eth0 Link encap:Ethernet HWaddr 00:19:66:16:A4:CF
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:88 errors:0 dropped:0 overruns:0 frame:0
TX packets:83 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10159 (9.9 KiB) TX bytes:9385 (9.1 KiB)
eth1 Link encap:Ethernet HWaddr 00:E0:4C:1A:A1:3C
inet addr:10.10.10.3 Bcast:10.10.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:360 (360.0 b) TX bytes:342 (342.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1519 (1.4 KiB) TX bytes:1519 (1.4 KiB)
peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:94 errors:0 dropped:0 overruns:0 frame:0
TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10980 (10.7 KiB) TX bytes:11915 (11.6 KiB)
Interrupt:252 Base address:0x8000
peth1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:720 (720.0 b) TX bytes:684 (684.0 b)
Interrupt:20 Base address:0xac00
vif0.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:93 errors:0 dropped:0 overruns:0 frame:0
TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12469 (12.1 KiB) TX bytes:10459 (10.2 KiB)
vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:342 (342.0 b) TX bytes:360 (360.0 b)
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING 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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
xenbr0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:33 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:3074 (3.0 KiB) TX bytes:0 (0.0 b)
xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1 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:328 (328.0 b) TX bytes:0 (0.0 b)
per fare questo va creato uno script che sfrutta quello già esistente /etc/xen/script/network-bridge che serve per creare un bridge, avviando più volte e passandogli i parametri per i vari bridge, questo è un esempio dello script da creare(che io ho chiamata network-bridge-multibridge)
cd /etc/xen/scripts/network-bridge-multibridge
#!/bin/bash
# Script per 2 bridge su due eth.
# Questo script avvia varie volte lo script network-bridge di xen passandogli i parametri per i vari bridge.
# questo file va posizionato in /etc/xen/script
# In xend_config.spx modificare in questo modo
#
# (network-script nome-dello-scipt)
# Es.
# (network-script network-bridge-multibridge)
#
# Per controlare lo stato dei bridge
# /etc/xen/script/network-bridge status
#directory degli script di xen
dir=$(dirname "$0")
# bridge 1/eth0/vif0.0
sh $dir/network-bridge "$@" netdev=eth0 bridge=xenbr0 vifnum=0 start
# bridge 2/eth1/vif1.0
sh $dir/network-bridge "$@" netdev=eth1 bridge=xenbr1 vifnum=1 start
#...
ora va indicato a xen quale script usare per la rete(che ora è network-bridge).
vi /etc/xen/xend-config.sxp
sostituire network-bridge con il nome del nuovo script
...
(network-script network-bridge-multibridge)
...
lasciando invariato vif-script
...
(vif-script vif-bridge)
...
riavviare
shutdown -r now
Nelle domu(che prima usavano xenbr0) va specificato a quale bridge devono agganciarsi
vif = [ "mac=00:00:00:00:00:03,bridge=xenbr0,script=vif-bridge" ]
oppure
vif = [ "mac=00:00:00:00:00:03,bridge=xenbr1,script=vif-bridge" ]
oppure
vif = [ "mac=00:00:00:00:00:03,bridge=xenbr0,script=vif-bridge", "mac=00:00:00:00:00:03,bridge=xenbr1,script=vif-bridge" ]
per controllare lo stato attuale dei bridge eseguire lo script network-bridge passando i parametri start, stop, status
sh /etc/xen/script/network-script status
ciao a todossssss
xen wiki
http://wiki.xen.org/xenwiki/XenNetworking