L'hôte Xen 4.1 (dom0) avec des disques blktap («tap: aio:») ne se connecte pas

8

Problème lors de l'utilisation de blktap avec xen-4.1 exécutant le noyau de stock Ubuntu Precise avec dom0 xen-4.1.

Je reçois:

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

Et quelques lignes 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.

avec tap: aio: lignes de disque. fichier: / fonctionne.

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

Le problème existe avec les noyaux domU lucides et précis et les deux invités travaillent dans l'hôte Ubuntu hardy dom0 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
la source

Réponses:

7

Comme pour tout ce qui est problématique. Demander de l'aide le résout généralement. Même lorsque personne ne répond à la question.

Donc, les réponses sont doubles. Apparemment, l'installation de choses xen * ne suffit pas dans Ubuntu. Blktap et d'autres choses sont des packages séparés et des programmes d'espace utilisateur tapdisk et un module blktap sont nécessaires.

Installation blktap-utilset dépendances ... Vous obtiendrez tapdisket avec le package dkms le module du noyau blktap.

Ce n'était pas suffisant. Apparemment, Blktap a été changé en blktap2 à un moment donné entre les versions Ubuntu Hardy et Precise XEN (xen-3.3 -> xen-4.1). Ainsi, les disques sont inclus avec 'tap2: tapdisk: aio:' not 'tap: aio:'

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

Voir Xen blktap2 pour les options du disque tap2.


Si vous rencontrez toujours des problèmes avec blktap, ces commandes suivantes pourraient aider à diagnostiquer ce qui manque.

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

Et pour activer la compilation manuellement pour tous les modules dkms:

sudo dkms autoinstall -k $(uname -r)
Manwe
la source
Nous devrions documenter cela sur help.ubuntu.com/community/XenProposed
Todd Deshane
@Manwe j'ai également un problème similaire, dans mon cas, dom0 et domu sont ubuntu 12.04, j'ai essayé comme mentionné dans votre article, mais pour moi, il reste affiché (module de noyau 55808 blktap non installé) j'ai installé blktap-dkms blktap-utils dans dom0 mais cela ne fonctionne toujours pas. C'est la sortie du module du noyau xen_netback, xen_blkback. Pouvez-vous m'aider s'il vous plait.
Kevin Parker
Avez-vous installé des en-têtes de noyau et des packages dkms? blktap-dkms dkms linux-headers-generic, linux-headers-3.2.0-31-generic linux-headers-3.2.0-31-genericet également compiler l'environnement pour que les dkms fonctionnent. (la version du noyau est la dernière avec laquelle j'ai compilé le module)
Manwe
Hé @Manwe, j'ai installé blktap et dkms en utilisant apt-get et en utilisant kernel générique 3.2.0-23.GCC et d'autres packages simmilar ont été installés en tant que dépendance lorsque j'ai installé dkms.What me manque-t-il.
Kevin Parker
@KevinParker J'ai ajouté du code de diagnostic à la réponse, essayez-les. Je suppose que vous n'avez pas installé d'en-têtes pour votre noyau (rien ici ne les amène comme une dépendance) ou vous devezmodprobe blktap
Manwe