Minha culpa. Eu não tinha escrito a configuração corretamente e não tinha configurado os sistemas de arquivos corretamente. Eu pude ver o /var/log/xen/xen-hotplug.log para ver se ele estava acessando o dispositivo errado.
Estou tentando iniciar uma VM do Xen, mas estou recebendo o seguinte erro:
Error: Device 2049 (vbd) could not be connected. Hotplug scripts not working.
o que isso significa?
O dom0 é o CentOS e o sistema operacional convidado é o Debian Lenny. As interfaces de rede que estou usando são:
vif = [ 'mac=00:16:3e:3e:53:5f, bridge=xenbr0', 'mac=00:16:3e:18:16:e5, bridge=xenbr1' ]
O sistema de arquivos raiz do sistema operacional guest está configurado para ser montado sobre o NFS a partir do dom0, isso está funcionando para outros sistemas operacionais convidados no mesmo host. A troca (e /var
) é montada a partir de um volume lógico LVM local
UPDATE Minha culpa. Eu não tinha escrito a configuração corretamente e não tinha configurado os sistemas de arquivos corretamente. Consegui ver /var/log/xen/xen-hotplug.log
para ver se estava acessando o dispositivo errado.
Versão resumida:
Verifique se você tem /etc/udev/rules.d/xen-backend.rules
. O arquivo pode ou não ser prefixado por um número.
Se não, verifique se você tem /etc/udev/xen-backend.rules
e crie um symlink para /etc/udev/rules.d/xen-backend.rules
.
Versão longa:
Eu já vi isso com um Gentoo 3.3 dom0, não com o CentOS. Mas suspeito que a correção seja a mesma ou semelhante.
Os scripts de criação do Xen chamam um comando udevinfo -V
para determinar a versão do udev instalada na máquina. O utilitário udevinfo
foi depreciado há algum tempo em favor de udevadm
. Em versões mais recentes do udev, o utilitário antigo foi completamente removido.
Os scripts de construção usam a versão do udev adquirida conforme descrito para determinar quais etapas de instalação precisam ser realizadas. Se não for possível encontrar / combinar a versão do udev, ela não instalará a regra do udev requerida. Por não ter udevinfo
presente, é isso que está ocorrendo.
Agora, é provável que você não queira fazer o downgrade do udev. Então isso deixa duas soluções.
Você pode verificar se o distribuidor do pacote corrigiu o problema. Por exemplo, ele é corrigido no Xen 4.4 no Gentoo, de acordo com este bug .
Como alternativa, você pode contorná-lo temporariamente, enganando-o de que udevinfo
ainda está presente e se comportando da maneira esperada. Podemos fazer isso criando um script / proxying no novo comando udevadm
:
# echo -e '#!/bin/bash\n/sbin/udevadm info $1' > /usr/bin/udevinfo
# chmod +x /usr/bin/udevinfo
*** Install Xen ***
# rm /usr/bin/udevinfo
Isso fará com que funcione novamente. Mas você ainda precisará corrigir o problema a longo prazo.
Tags xen linux virtual-machines