Arch linux(kvm/qemu 가상화)는 libiscsi.so.4를 열 수 없습니다.

Arch linux(kvm/qemu 가상화)는 libiscsi.so.4를 열 수 없습니다.

Arch Linux의 단계를 따랐습니다.#KVM그리고#qemu

1) sudo pacman -S그런 다음 libs를 설치하십시오.

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

2) $ lscpuVT-x가 활성화되어 있는지 확인

3) .conf다음 모듈에 파일을 추가합니다./etc/modprobe.d/

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

4) initramfs에 모듈을 로드하기 위해 mkinitcpio.conf후크를 포함하고 실행했습니다 .modconf

5) 실행$ lsinitcpio

출력에 로드된 가상화 모듈이 표시되지 않기 때문에 여기에 문제가 있다고 생각합니다.

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) 내가 실행할 때 :

$ modinfo virtio-scsi나는 다음과 같은 대답을 얻었습니다.

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동일한 모듈에 대해 오류 메시지가 나타납니다.

Error opening module `virtio-scsi`

7) qemu 이미지를 생성하려고 하면 $ qemu-img create -f raw arch-qemu 8G 다음 오류가 발생합니다.

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

도움을 주시면 감사하겠습니다!

답변1

v1.14.0qemu가 파일을 찾을 수 있는 libiscsi의 이전 버전()을 수동으로 설치한 후 문제를 해결했습니다 libiscsi.so.4.

먼저 qemu-block-iscsi 종속성을 제거하지 않고 v1.17.0-2pacman으로 설치된 프로그램을 제거했습니다 .sudo pacman -Rddn libiscsi

github에서 소스코드를 복제했습니다.Salberg/libiscsi빌드가 완료된 후 libtool을 사용하여 라이브러리를 설치했습니다. 다음에 qemu를 업데이트할 때 수동 설치를 제거하고 pacman패키지를 다시 사용해야 하기 때문에 이것이 최선의 해결책이 아니라는 것을 알고 있습니다.

현재 나는 아치 리눅스에서 그것을 본다qemu 페이지패키지는 다음과 같습니다:

2016-05-10 테스트 중인 버전 2.6.0-1은 더 이상 사용되지 않는 것으로 표시됩니다.

루트로 실행되는 코드:

# 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'

make installlibiscsi가 기본적으로 lib를 내부 /usr/local/bin및 외부 로 설치하고 있기 때문에 이러한 명령을 수동으로 실행했습니다 /usr/local/lib.

의견이나 제안사항이 있으시면 메시지를 남겨주세요!

관련 정보