Arch linux (virtualização kvm / qemu) falhou ao abrir libiscsi.so.4

1

Eu segui os passos do Arch Linux #KVM e # qemu

1) sudo pacman -S , em seguida, instalou libs

libvirt
libiscsi 
libaio
qemu
qemu-arch-extra 
qemu-block-iscsi 
qemu-block-rbd 
qemu-block-gluster 

2) $ lscpu verificar se o VT-x está ativado

3) adicionou o arquivo .conf no /etc/modprobe.d/ dos módulos seguintes:

network device (virtio-net)
block device (virtio-blk)
controller device (virtio-scsi)
serial device (virtio-serial)
balloon device (virtio-balloon)

4) Incluí e executei o gancho mkinitcpio.conf the modconf para carregar os módulos no initramfs.

5) execute $ lsinitcpio

Acho que isso é um problema porque na saída não vejo nenhum módulo de virtualização carregado:

usr/lib/modules
usr/lib/modules/4.5.4-1-ARCH
usr/lib/modules/4.5.4-1-ARCH/modules.devname
usr/lib/modules/4.5.4-1-ARCH/modules.builtin.bin
usr/lib/modules/4.5.4-1-ARCH/modules.symbols.bin
usr/lib/modules/4.5.4-1-ARCH/modules.alias.bin
usr/lib/modules/4.5.4-1-ARCH/modules.dep.bin
usr/lib/modules/4.5.4-1-ARCH/kernel
usr/lib/modules/4.5.4-1-ARCH/kernel/sdhci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ext4.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usb-common.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ehci-pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sd_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/rtsx_pci_sdmmc.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/serio.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/cdrom.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/hid.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ehci-hcd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sdhci-acpi.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/atkbd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/xhci-pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usbhid.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/xhci-hcd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sr_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/crc16.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/rtsx_pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libps2.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libahci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/led-class.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/scsi_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mmc_core.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mmc_block.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/i8042.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usbcore.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ahci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libata.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mbcache.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usb-storage.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/jbd2.ko

6) Quando eu corro:

$ modinfo virtio-scsi recebo a seguinte resposta:

filename:       /lib/modules/4.5.4-1-ARCH/kernel/drivers/scsi/virtio_scsi.ko.gz
license:        GPL
description:    Virtio SCSI HBA driver
alias:          virtio:d00000008v*
depends:        virtio,scsi_mod,virtio_ring
intree:         Y
vermagic:       4.5.4-1-ARCH SMP preempt mod_unload modversions 

$ systool -v -m virtio-scsi e aqui para o mesmo módulo recebo uma mensagem de erro:

Error opening module 'virtio-scsi'

7) E quando eu tento criar uma imagem qemu $ qemu-img create -f raw arch-qemu 8G Eu recebo o seguinte erro:

$ Failed to open module: libiscsi.so.4 : cannot open shared object file: No such file or directory

Qualquer ajuda é apreciada!

    
por Bogdan Volosincu 16.05.2016 / 10:31

1 resposta

0

Consigo corrigir o problema depois de instalar manualmente uma versão mais antiga ( v1.14.0 ) da libiscsi, onde o qemu poderia encontrar o arquivo libiscsi.so.4 .

Primeiro, removi o v1.17.0-2 instalado com o pacman sudo pacman -Rddn libiscsi sem desinstalar a dependência do qemu-block-iscsi.

Eu clonei o código-fonte do github sahlberg / libiscsi e depois da compilação eu instalei a biblioteca com a libtool. Estou ciente de que esta não é a melhor solução porque na próxima atualização do qemu terei que remover minha instalação manual e usar o pacote pacman novamente.

Por enquanto eu vejo que no qemu-page do arch linux o pacote é:

Flagged out-of-date on 2016-05-10 Version 2.6.0-1 in testing

código executado como root:

# git clone folder - libiscsi/

# Making install in lib
# directory 'libiscsi/lib'

 mkdir -p '/usr/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libiscsi.la '/usr/lib'

 libtool --finish /usr/lib

----------------------------------------------------------------------

# Libraries have been installed in: /usr/lib

----------------------------------------------------------------------

# Making install in utils
# directory 'libiscsi/utils'

 mkdir -p '/usr/bin'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c iscsi-inq iscsi-ls iscsi-perf iscsi-readcapacity16 iscsi-swp '/usr/bin'

----------------------------------------------------------------------

# directory 'libiscsi/examples'

 mkdir -p '/usr/bin'
 install -c ld_iscsi.so '/usr/bin'

----------------------------------------------------------------------

# directory 'libiscsi/    

 mkdir -p '/usr/include/iscsi'
 install -c -m 644 include/iscsi.h include/scsi-lowlevel.h '/usr/include/iscsi'
 mkdir -p '/usr/lib/pkgconfig'
 install -c -m 644 libiscsi.pc '/usr/lib/pkgconfig'

Eu tinha executado os comandos manualmente porque, por padrão, o make install da libiscsi estava instalando o lib em /usr/local/bin e /usr/local/lib .

Quaisquer comentários e sugestões são bem-vindos!

    
por 18.05.2016 / 23:19