Хост 4.1 (dom0) с дисками blktap («tap: aio:») не подключается

8

Проблема с использованием blktap с xen-4.1, работающим с Ubuntu Precise, с dom0 xen-4.1.

Я получил:

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

И несколько строк системного журнала:

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.

с тапом: aio: дисковые строки. файл: / работает.

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

Проблема существует с lucid и уточняет ядра domU, и оба гостя работают в 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
источник

Ответы:

7

Как и у всех проблемных вещей. Обращение за помощью обычно решает ее. Даже когда никто не отвечает на вопрос.

Таким образом, ответы в два раза. Видимо, установка xen * не достаточно в Ubuntu. Blktap и прочее - это отдельные пакеты и программы из пользовательского пространства tapdisk, и необходим модуль blktap.

Установка blktap-utilsи зависимости ... Вы получите tapdiskи с dkms упакуйте модуль ядра blktap.

Этого было недостаточно. Очевидно, что Blktap был изменен на blktap2 в какой-то момент между версиями Ubuntu Hardy и Precise XEN (xen-3.3 -> xen-4.1). Таким образом, диски включены с 'tap2: tapdisk: aio:' not 'tap: aio:'

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

См. Xen blktap2 для параметров диска tap2.


Если у вас все еще есть проблемы с blktap, эти следующие команды могут помочь диагностировать то, чего не хватает.

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

И активировать компиляцию вручную для всех модулей dkms:

sudo dkms autoinstall -k $(uname -r)
Manwe
источник
Мы должны задокументировать это на help.ubuntu.com/community/XenProposed
Тодд Дешане
@ У меня тоже есть похожая проблема, в моем случае dom0 и domu - это Ubuntu 12.04, я пробовал, как упомянуто в вашем посте, но для меня это все еще показывает (модуль ядра 55808 blktap не установлен), я установил blktap-dkms blktap-utils в dom0, но он все еще не работает. Это вывод модуля ядра xen_netback, xen_blkback Можете ли вы помочь мне в этом.
Кевин Паркер
У вас установлены заголовки ядра и пакеты dkms? blktap-dkms dkms linux-headers-generic, linux-headers-3.2.0-31-generic linux-headers-3.2.0-31-genericа также собрать среду для работы dkms. (последняя версия ядра, с которой я скомпилировал модуль)
Manwe
Привет @Manwe я установил blktap и dkms, используя apt-get и используя 3.2.0-23-generic kernel.GCC и другие simmilar-пакеты, которые были установлены как зависимости, когда я установил dkms. Что я пропустил. Можете ли вы, пожалуйста, направьте меня.
Кевин Паркер
@KevinParker Я добавил код диагностики в ответ, попробуйте их. Я предполагаю, что у вас не установлены заголовки для вашего ядра (здесь ничто не приводит их в качестве зависимости), или вы должныmodprobe blktap
Manwe