Xen 4.1 host (dom0) dengan disk blktap ("ketuk: aio:") tidak terhubung

8

Masalah menggunakan blktap dengan xen-4.1 menjalankan kernel Ubuntu Precise stock dengan dom0 xen-4.1.

Saya mendapat:

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

Dan beberapa baris 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.

dengan ketuk: aio: garis disk. file: / works.

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

Ada masalah dengan kernel domus yang jelas dan tepat dan kedua tamu bekerja di 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
sumber

Jawaban:

7

Seperti halnya semua hal bermasalah. Meminta bantuan biasanya menyelesaikannya. Bahkan ketika tidak ada yang menjawab pertanyaan itu.

Jadi jawabannya dua kali lipat. Tampaknya menginstal xen * tidak cukup di Ubuntu. Blktap dan yang lainnya adalah paket-paket terpisah dan program-program userspace dan tapdisk diperlukan dan modul blktap.

Instal blktap-utilsdan dependensi ... Anda akan mendapatkan tapdiskdan dengan dkms mengemas modul kernel blktap.

Itu tidak cukup. Rupanya Blktap diubah menjadi blktap2 di beberapa titik antara Ubuntu Hardy dan versi Precise XEN (xen-3.3 -> xen-4.1). Jadi disk disertakan dengan 'tap2: tapdisk: aio:' not 'tap: aio:'

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

Lihat Xen blktap2 untuk opsi disk tap2.


Jika Anda masih mengalami masalah dengan blktap, perintah berikut ini mungkin membantu untuk mendiagnosis apa yang hilang.

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

Dan untuk mengaktifkan kompilasi secara manual untuk semua modul dkms:

sudo dkms autoinstall -k $(uname -r)
Manwe
sumber
Kita harus mendokumentasikan ini di help.ubuntu.com/community/XenProposed
Todd Deshane
@Manwe saya juga punya masalah yang sama, dalam kasus saya dom0 dan domu adalah ubuntu 12.04, saya mencoba seperti yang disebutkan dalam ur ur, tetapi bagi saya ini masih menunjukkan (55808 modul kernel blktap tidak diinstal) saya telah menginstal blktap-dkms blktap-utils di dom0 tapi tetap tidak berfungsi. ini adalah output dari modul kernel xen_netback, xen_blkback Bisakah Anda membantu saya dalam hal ini.
Kevin Parker
Apakah Anda memiliki paket header dan dkms kernel yang diinstal? blktap-dkms dkms linux-headers-generic, linux-headers-3.2.0-31-generic linux-headers-3.2.0-31-genericdan juga mengkompilasi lingkungan agar dkms bekerja. (versi kernel adalah yang terbaru yang telah saya susun modulnya)
Manwe
Hey @Manwe saya menginstal blktap dan dkms menggunakan apt-get dan menggunakan 3.2.0-23-generic kernel.GCC dan paket-paket serupa lainnya terinstal sebagai dependensi ketika saya menginstal dkms. Apa yang saya hilang. Bisakah saya memandu saya.
Kevin Parker
@KevinParker Saya telah menambahkan beberapa kode diagnosa pada jawabannya, coba itu. Saya kira Anda tidak memiliki header terinstal untuk kernel Anda (tidak ada yang menjadikannya sebagai dependensi) atau Anda harusmodprobe blktap
Manwe