Ошибка Openstack Qemu-img: не удалось открыть '/var/lib/libvirt/images/' Разрешение отклонено |
Получали ли вы когда-нибудь сообщение об ошибке, подобное приведенному ниже, при работе с Openstack и KVM? Если да, то исправление описано в этой краткой статье.
Command: env LC_ALL=C LANG=C qemu-img info /var/lib/libvirt/images/asterisk.qcow2
Exit code: 1
Stdout: u”
Stderr: u”qemu-img: Could not open ‘/var/lib/libvirt/images/asterisk.qcow2’: Could not open ‘/var/lib/libvirt/images/asterisk.qcow2’: Permission deniedn”
INFO nova.compute.resource_tracker [req-7f9e4964-52c0-4204-ae00-b74fb83acb9c – – – – -] Auditing locally available compute resources for node localhost.localdomain
ERROR nova.compute.manager [req-7f9e4964-52c0-4204-ae00-b74fb83acb9c – – – – -] Error updating resources for node localhost.localdomain: Unexpected error while running command.
Это ошибка qemu в том смысле, что у nova нет разрешений на запись/чтение указанного файла qcow2.
Остановите службу libvirtd
sudo systemctl stop libvirtd.service
Затем установите для пользователя и группы службу nova. Установите для параметра Dynamic_ownership значение ноль.
sudo vim /etc/libvirt/qemu.conf
Установить пользователя на nova
user = "nova"
Группа процессов QEMU, запускаемых экземпляром системы. Его можно указать аналогично пользователю.
group = "nova"
Должен ли libvirt динамически менять владельца файла в соответствии с настроенным пользователем/группой выше. По умолчанию 1.
# Set to 0 to disable file ownership changes.
dynamic_ownership = 0
Сохраните файл и перезапустите службу libvirtd.
sudo systemctl start libvirtd.service
И вы сможете запустить свою виртуальную машину.