Хост 4.1 (dom0) с дисками blktap ("tap:aio:") не подключается
Проблема с использованием 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
1 ответ
Как и у всех проблемных вещей. Обращение за помощью обычно решает ее. Даже когда никто не отвечает на вопрос.
Таким образом, ответы в два раза. Видимо, установка 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)