Como configuro a virtualização de interfaces do Xen (eth0 para peth0)?

2

Instalei o Xen há algum tempo, mas ainda não inicializei o hipervisor. Bem eu fiz ontem e todo o inferno se soltou. Perdi completamente a conectividade com a Internet no meu servidor por causa do Xen.

Quando inicializo meu servidor e eth0 não está dentro de br0 , o Xen tenta virtualizá-lo renomeando-o para peth0 (physical eth0 ) e, em seguida, ele deve criar um veth0 (virtual eth0 ) e mude o nome para eth0 , pelo menos de acordo com documentação do Xen .

O problema é que ele não traz um eth0 e eu não tenho absolutamente nenhuma conectividade com a Internet. Eu tenho um eth1 no meu servidor e gostaria de virtualizar essa interface em vez de eth0 . Para fazer isso, coloquei eth1 dentro de br0 e br0 está sendo virtualizado para virbr0 . Como faço para impedir que o Xen virtualize eth0 e use br0/eth1 ?

Aqui está o que eu recebo de systemctl -o cat status network.service :

Bringing up lookback interface:  [  OK  ]
Bringing up interface eth0:  Error: either "dev" is a duplicate, or "virbr0" is a garbage.
ERROR    : [/etc/sysconfig/network-scripts/ifup-eth] Failed to bring up peth0 virbr0.
[FAILED]
Bringing up interface eth1:  [  OK  ]
Bringing up interface br0:  [  OK  ]

Adore essa gramática na segunda linha (isto é, literalmente, até o espaçamento).

O virbr0 é tratado diretamente pelo libvirt, que pode ser visto em qualquer uma das respostas para esta mensagem como sendo configurada a partir de /etc/libvirt/qemu/networks .

    
por NobleUplift 08.07.2013 / 10:32

2 respostas

1

Para corrigir isso, eu mudei estes:

(network-script 'network-bridge bridge=virbr0')
(vif-script vif-bridge)

para estes:

(network-script 'network-bridge bridge=virbr0 netdev=eth1')
(vif-script     vif-nat)

Em /etc/xen/xend-config.sxp , que deixou com sucesso eth0 sozinho e somente renomeia eth1 para peth1 agora, e eu suponho que não traga veth1/eth1 porque está dentro de br0 . Em seguida, renomei ifcfg-em1/ifcfg-em2 para ifcfg-eth0/ifcfg-eth1 e mudei:

IPADDR0=xxx.xxx.xxx.xxx
PREFIX0=xx
GATEWAY0=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx

Para:

IPADDR=xxx.xxx.xxx.xxx
PREFIX=xx
GATEWAY=xxx.xxx.xxx.xxx
DNS=xxx.xxx.xxx.xxx

Isso me devolveu minha internet e meu host local.

Você sabe qual foi a melhor parte dessa experiência? Eu posso deixar o NetworkManager permanentemente desativado.

    
por 10.07.2013 / 13:48
2

A resposta está no link que você forneceu: Configurando a criação de uma ponte de contatos .

Antes do XEN 4.1 ist era o papel do XEN para configurar a ponte de rede.

Depois disso, as pontes correspondentes devem ser configuradas com meios de sistema operacional.

MAS: Se não forem definidas pontes durante o XEN-Startup, ele criará uma ponte padrão (comparável ao comportamento anterior).

Há uma boa razão para colocar isso fora do controle XEN, já que existem combinações de VLAN / ligação muito complexas que não podem ser cobertas pelos scripts padrão. Além disso, a pilha de rede é diferente do sistema operacional para o sistema operacional.

Eu tive um problema semelhante com o SLES10 SP4 - onde eu precisava de uma configuração de rede bastante complexa.

Então eu configurei meu próprio init-script em /etc/init.d/ para configurar pontes / ligações / vlans.

Com o SLES11 SP2, era fácil criar o comando OS- yast2 .

Com isso, as pontes funcionam antes de o XEND iniciar.

Algo parecido com isso pode funcionar para você:

XENBRIDGE=/etc/xen/scripts/network-bridge
$XENBRIDGE bridge=br0 netdev=eth1 start

O Fedora deve ser comparável ao RHEL6 - então talvez você possa usar um network-setup-document e integre sua configuração de bridging na configuração normal de rede (que é a melhor maneira de fazer isso).

    
por 09.07.2013 / 12:55