El host Xen 4.1 (dom0) con discos blktap ("tap: aio:") no se conecta

8

Problema al usar blktap con xen-4.1 ejecutando Ubuntu Precise stock kernel con dom0 xen-4.1.

Yo obtengo:

[    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)

Y algunas líneas 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.

con tap: aio: líneas de disco. archivo: / works.

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

El problema existe con los núcleos domU lúcidos y precisos y ambos invitados trabajan en 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
fuente

Respuestas:

7

Como con todas las cosas problemáticas. Pedir ayuda generalmente lo resuelve. Incluso cuando nadie responde la pregunta.

Entonces las respuestas se duplican. Aparentemente, instalar cosas xen * no es suficiente en Ubuntu. Blktap y otras cosas son paquetes y programas de espacio de usuario de tapdisk por separado y se necesita un módulo blktap.

Instalación blktap-utilsy dependencias ... Obtendrá tapdisky con el paquete dkms el módulo del núcleo blktap.

Eso no fue suficiente. Aparentemente, Blktap se cambió a blktap2 en algún momento entre las versiones Ubuntu Hardy y Precise XEN (xen-3.3 -> xen-4.1). Por lo tanto, los discos se incluyen con 'tap2: tapdisk: aio:' not 'tap: aio:'

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

Consulte Xen blktap2 para ver las opciones de disco de tap2.


Si aún tiene problemas con blktap, estos siguientes comandos pueden ayudar a diagnosticar lo que falta.

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

Y para activar la compilación manualmente para todos los módulos dkms:

sudo dkms autoinstall -k $(uname -r)
Manwe
fuente
Deberíamos documentar esto en help.ubuntu.com/community/XenProposed
Todd Deshane
@Manwe también tengo un problema similar, en mi caso dom0 y domu son ubuntu 12.04, intenté como se menciona en tu publicación, pero para mí todavía se muestra (55808 módulo de kernel blktap no instalado) he instalado blktap-dkms blktap-utils en dom0 pero aún no funciona. Esta es la salida del módulo del núcleo xen_netback, xen_blkback ¿Pueden ayudarme en esto?
Kevin Parker el
¿Tiene instalados encabezados de kernel y paquetes dkms? blktap-dkms dkms linux-headers-generic, linux-headers-3.2.0-31-generic linux-headers-3.2.0-31-genericy también compila el entorno para que los dkms funcionen. (la versión del kernel es la última con la que he compilado el módulo)
Manwe
Hola @Manwe, instalé blktap y dkms usando apt-get y usando 3.2.0-23-generic kernel.GCC y otros paquetes similares se instalaron como una dependencia cuando instalé dkms. ¿Qué me estoy perdiendo?
Kevin Parker el
@KevinParker He agregado un código de diagnóstico a la respuesta, pruébelos. Supongo que no tienes encabezados instalados para tu kernel (nada aquí los trae como una dependencia) o tienes que hacerlomodprobe blktap
Manwe