Меня любезно направили сюда, Serverfault из Stackoverflow, чтобы задать свой вопрос.
Я выполняю следующую команду на гипервизоре RHEL7, чтобы создать живую резервную копию (образ диска) работающего kvm, на котором запущена производственная служба докеров в kvm. Мне нужен живой снимок.
Многие документы I прочитал, приведите меня к этой команде, чтобы получить оперативный снимок работающего KVM:
# virsh snapshot-create-as \
--domain undercloud-vm undercloud-vm-snapshot \
--diskspec vda,file=/backup/images/undercloud-vm.qcow2 \
--quiesce \
--disk-only \
--atomic
ошибка: внутренняя ошибка: невозможно выполнить команду агента QEMU m выполнив следующую команду на гипервизоре RHEL7 для создания живой резервной копии (образа диска) работающего kvm, ...
Меня любезно направили сюда, Serverfault из Stackoverflow, чтобы задать свой вопрос.
Я выполняю следующую команду на гипервизоре RHEL7, чтобы создать живую резервную копию (образ диска) работающего kvm, на котором запущена производственная служба докеров в kvm. Мне нужен живой снимок.
Многие документы I прочитал, приведите меня к этой команде, чтобы получить оперативный снимок работающего KVM:
# virsh snapshot-create-as \ --domain undercloud-vm undercloud-vm-snapshot \ --diskspec vda,file=/backup/images/undercloud-vm.qcow2 \ --quiesce \ --disk-only \ --atomic
ошибка: внутренняя ошибка: невозможно выполнить команду агента QEMU m выполнив следующую команду на гипервизоре RHEL7 для создания живой резервной копии (образа диска) работающего kvm, ...
Меня любезно направили сюда, Serverfault из Stackoverflow, чтобы задать свой вопрос.
Я выполняю следующую команду на гипервизоре RHEL7, чтобы создать живую резервную копию (образ диска) работающего kvm, на котором запущена производственная служба докеров в kvm. Мне нужен живой снимок.
Многие документы I прочитали, привели меня к этой команде, чтобы получить оперативный снимок работающего KVM:
# virsh snapshot-create-as \ --domain undercloud-vm undercloud-vm-snapshot \ --diskspec vda,file=/backup/images/undercloud-vm.qcow2 \ --quiesce \ --disk-only \ --atomic
ошибка: внутренняя ошибка: невозможно выполнить команду агента QEMU 'guest-fsfreeze-freeze': не удалось открыть / var / lib / docker / overlay2: Permission denied
Не желая вмешиваться в права доступа к каталогу / var / lib / docker / overlay2 KVM, я решил задать этот вопрос здесь. И если кто-то сталкивался с этой проблемой при попытке сделать живой снимок KVM, который, как правило, запускает докер внутри. Главное здесь то, что KVM является производственным, и его нельзя просто приостановить или заморозить для создания моментального снимка, он должен продолжать работать и обрабатывать данные.
Мы будем очень признательны за любые указатели, которые позволят мне получить живую резервную копию.
ИНФОРМАЦИЯ ............
В KVM: (выполняется: / usr / libexec / qemu-kvm ...)
- ОС: Red Hat Enterprise Linux Server версии 7.5 (Maipo)
- Канал: org.qemu.guest_agent.0 добавлен как виртуальный H / W
- YUM: yum install qemu-guest-agent
- S / W: Docker версия 1.13.1, сборка 6e3bb8e /1.13.1
Гипервизор:
- HW: PowerEdge FC630, Dell FX2s 36 процессоров, 128 ГБ ОЗУ
- ОС: Red Hat Enterprise Linux Server, выпуск 7.6 (Maipo)
- ПО: qemu-img-rhev = 10: 2.10.0-21.el7_5.4
- qemu-kvm - (common-) rhev = 10: 2.10.0-21.el7_5.4
Я только что запустил в ту же проблему. Это проблема selinux: selinux (на гостевой системе) не позволяет гостевому агенту QEMU приостанавливать работу целевой файловой системы. Краткое описание проблемы можно увидеть следующим образом:
# ausearch -c qemu-ga --raw | audit2allow
#============= virt_qemu_ga_t ==============
allow virt_qemu_ga_t container_var_lib_t:dir { ioctl open read search };
allow virt_qemu_ga_t proc_net_t:file read;
Вы можете сгенерировать соответствующий локальный модуль безопасности, который позволяет qemu-ga работать правильно следующим образом:
# ausearch -c qemu-ga --raw | audit2allow -M local
******************** IMPORTANT ***********************
To make this policy package active, execute:
semodule -i local.pp
# semodule -i local.pp
После внесения этого изменения мы можем использовать - параметр quiesce
при создании снимков.
Обновление: после проверки это решение действительно отображается в сообщении об ошибке, включенном в отчет об ошибке:
16 января 10:59:49 localhost python: SELinux is предотвращение / usr / bin / qemu-ga доступа к поиску в каталоге /var/lib/docker.#012#012***** Плагин catchall (100. уверенность)предлагает ************************* # 012 # 012 Если вы считаете, что qemu-ga должен иметь доступ для поиска в каталоге докеров по умолчанию. # 012Затем вы должны сообщить об этом как об ошибке. # 012Вы можете сгенерировать локальный модуль политики, чтобы разрешить этот доступ. # 012Do # 012разрешите этот доступ сейчас, выполнив: # 012 # ausearch -c 'qemu-ga' --raw | audit2allow -M my-qemuga # 012 # semodule -i my-qemuga.pp # 012
Если вы посмотрите на конец ошибки, там написано L
You can generate a local policy module to allow this access.
allow this access for now by executing:
# ausearch -c 'qemu-ga' --raw | audit2allow -M my-qemuga
# semodule -i my-qemuga.pp
... это именно то, что я написал здесь.