Host Xen 4.1 (dom0) com discos blktap (“tap: aio:”) não conectado

8

Problema ao usar blktap com o xen-4.1 executando o kernel padrão do Ubuntu Precise com dom0 xen-4.1.

Eu recebo:

[    5.580106] XENBUS: Waiting for devices to initialise: 295s...290s.
...
[  300.580288] XENBUS: Timeout connecting to device: device/vbd/51713 (local state 3, remote state 1)

E algumas linhas de syslog:

May 17 13:07:30 localhost logger: /etc/xen/scripts/blktap: add XENBUS_PATH=backend/tap/10/51713
May 17 13:07:31 localhost logger: /etc/xen/scripts/blktap: Writing backend/tap/10/51713/hotplug-status connected to xenstore.

com tap: aio: linhas de disco. arquivo: / funciona.

disk = [
    'tap:aio:/data/root.img,xvda1,w',
]

Existe um problema com os kernels domU lúcidos e precisos e os dois convidados trabalham no Ubuntu hardy dom0 Host 64bit 2.6.24-28-xen xen-3.3

 3.2.0-24-generic #37-Ubuntu SMP Wed Apr 25 08:43:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:        12.04
Codename:       precise
Manwe
fonte

Respostas:

7

Como com todas as coisas problemáticas. Pedir ajuda geralmente resolve isso. Mesmo quando ninguém responde à pergunta.

Então, as respostas são dobradas. Aparentemente, a instalação do xen * não é suficiente no Ubuntu. Blktap and stuff são pacotes separados e são necessários programas tapdisk userspace e módulo blktap.

Instalação blktap-utilse dependências ... Você receberá tapdiske com o dkms o pacote do módulo do kernel blktap.

Isso não foi suficiente. Aparentemente, o Blktap foi alterado para blktap2 em algum momento entre as versões Ubuntu Hardy e Precise XEN (xen-3.3 -> xen-4.1). Portanto, os discos estão incluídos no 'tap2: tapdisk: aio:' not 'tap: aio:'

# Use this to convert existing files
perl -i.backup -pe 's/tap:aio:/tap2:tapdisk:aio:/g' *.cfg

Veja Xen blktap2 para opções de disco tap2.


Se você ainda estiver tendo problemas com o blktap, esses próximos comandos podem ajudar a diagnosticar o que está faltando.

ls /lib/modules/$(uname -r)/updates/dkms/blktap.ko && echo run: modprobe blktap || echo Missing module 
ls /usr/src/linux-headers-$(uname -r ) || echo MISSING kernel headers
ls /usr/src/blktap-2* || echo MISSING blktap-dkms
ls /var/lib/dkms/blktap/kernel-$(uname -r)* || echo dkms compilation failed

E para ativar a compilação manualmente para todos os módulos dkms:

sudo dkms autoinstall -k $(uname -r)
Manwe
fonte
Deveríamos documentar isso em help.ubuntu.com/community/XenProposed
Todd Deshane
@Manwe também tenho problema semelhante, no meu caso dom0 e domu são o ubuntu 12.04, tentei como mencionado no ur post, mas para mim ainda está aparecendo (módulo de kernel 55808 blktap não instalado) eu instalei blktap-dkms blktap-utils no dom0, mas ainda não está funcionando. esta é a saída do módulo do kernel xen_netback, xen_blkback Você pode me ajudar com isso.
Kevin Parker
Você tem pacotes de cabeçalhos de kernel e dkms instalados? blktap-dkms dkms linux-headers-generic, linux-headers-3.2.0-31-generic linux-headers-3.2.0-31-generice também compila o ambiente para o dkms funcionar. (versão do kernel são os últimos eu compilei o módulo com)
Manwe
Olá, @Manwe, instalei o blktap e o dkms usando o apt-get e o kernel.GCC 3.2.0-23-generic, e outros pacotes semelhantes foram instalados como uma dependência ao instalar o dkms.
Kevin Parker
@ KevinParker Adicionei algum código de diagnóstico à resposta, experimente. Eu acho que você não tem cabeçalhos instalado para o kernel (nada aqui traz-los como uma dependência) ou você tem quemodprobe blktap
Manwe