Вопрос или проблема
Я установил qemu-kvm следующим образом (в rhel7.2):
yum install –y qemu-kvm virt-install bridge-utils libvirt libvirt-python libguestfs-tools
Когда я пытаюсь выполнить команду ‘qemu-kvm’ следующим образом:
qemu-kvm –name VM1 -cdrom RedHat-7.2-x86_64.iso –m 512 -cpu 2 –drive file=/root/vm/redhat7.qcow2 -boot d
Я получаю следующее сообщение об ошибке:
bash: /usr/bin/qemu-kvm: Нет такого файла или директории
И когда я пытаюсь использовать ‘virt-install’ следующим образом:
virt-install --name VM1 --memory 10240 --vcpus=2 --os-type=Linux --os-variant=rhel7.2 --location=rhel-server-7.6-x86_64-dvd.iso --network network=default --network bridge=nm-bridge --console pty,target_type=serial --graphics=vnc -v
Я получаю следующее сообщение об ошибке:
ERROR Хост не поддерживает тип виртуализации ‘hvm’
Я также получаю это сообщение, когда просто использую virt-install:
virt-install
ERROR Хост не поддерживает никаких опций виртуализации
Содержимое /usr/bin :
ls /usr/bin | grep -i qemu
qemu-ga
qemu-img
qemu-io
qemu-nbd
cat /proc/cpuinfo | grep -i vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xsaves
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xsaves
Какие-нибудь идеи по поводу того, в чем может быть проблема или как я могу это исправить?
Я решил проблему, выполнив:
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
Сначала подумал, что это не сработало, потому что мне показало эту ошибку:
qemu-kvm: ошибка переноса: /lib64/libspice-server.so.1: символ SSL_CONF_CTX_set_ssl_ctx, версия libssl.so.10 не определена в файле libssl.so.10 по ссылке времени линковки
Оказалось, что мне нужно было обновить openssl, я выполнил:
yum update openssl
И это сработало.
Ответ или решение
Проблема с отсутствием qemu-kvm в RHEL 7.2 и её решение
Установка виртуализатора QEMU-KVM на операционную систему RHEL 7.2 может иногда сопровождаться проблемами, связанными с отсутствием исполняемого файла qemu-kvm
и поддержкой виртуализации. Данная статья описывает возможные причины и способы их устранения, исходя из представленных вами данных.
1. Проблема с отсутствием qemu-kvm
Согласно вашему описанию, при вводе команды:
qemu-kvm –name VM1 -cdrom RedHat-7.2-x86_64.iso –m 512 -cpu 2 –drive file=/root/vm/redhat7.qcow2 -boot d
вы получаете ошибку:
bash: /usr/bin/qemu-kvm: No such file or directory
Это указывает на то, что в системе отсутствует символическая ссылка или сам исполняемый файл qemu-kvm
. После анализа содержимого каталога /usr/bin
вы заметили, что команд qemu-kvm
не существует, но присутствуют другие утилиты, такие как qemu-img
, qemu-io
и qemu-nbd
.
2. Создание символической ссылки
Для устранения этой проблемы вы предприняли правильный шаг, создав символическую ссылку:
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
Этот шаг позволяет операционной системе распознавать команду qemu-kvm
, указывая на её реальное местоположение в системе.
3. Проблема с OpenSSL
Тем не менее, вы столкнулись с новой ошибкой при выполнении команды qemu-kvm
, которая звучала так:
qemu-kvm: relocation error: /lib64/libspice-server.so.1: symbol SSL_CONF_CTX_set_ssl_ctx, version libssl.so.10 not defined in file libssl.so.10 with link time reference
Эта ошибка указывает на проблемы с библиотекой libssl.so.10
, что может быть связано с устаревшей версией OpenSSL на вашем сервере.
4. Обновление OpenSSL
Вы успешно решили данную проблему, обновив OpenSSL с помощью команды:
yum update openssl
Это обновление обеспечило совместимость библиотек, что позволило команде qemu-kvm
функционировать корректно.
Заключение
Виртуализация на платформе RHEL 7.2 может столкнуться с рядом определённых нюансов, связанных с отсутствием нужных бинарных файлов и несовместимостью библиотек. Ключевыми моментами для устранения проблемы являются:
- Создание символической ссылки на реальное местоположение
qemu-kvm
. - Обновление зависимостей, таких как OpenSSL, для устранения ошибок совместимости.
Эти шаги позволят вам успешно запустить и использовать виртуальные машины с помощью QEMU-KVM. Если у вас возникнут дополнительные вопросы или проблемы, обратитесь за помощью в сообщество пользователей или к документации вашего дистрибутива.