Как я выполняю действие, если новомодный предел переикры поражен?

Эта проблема была вызвана по тому, как libvirt использует apparmor.

Поведение по умолчанию состоит в том, чтобы обеспечить некоторую защиту для хоста против гостя путем ограничения, который регистрирует процесс виртуализации на хосте, позволяется получить доступ. libvirt знает, что для процесса виртуализации (kvm в этом случае) нужен образ диска для работы правильно, таким образом, он создает профиль apparmor, который предоставляет доступ к windowsxp-1.qcow2. Однако это не знает это windowsxp-1.qcow2 поддерживается basewindowsxp.qcow2, таким образом, профиль apparmor не предоставляет доступ к тому файлу.

Неудачно, что сообщение об ошибке от kvm таким образом минимально. Базовый отказ был почти наверняка EPERM при открытии basewindowsxp.qcow, но по-видимому эта ошибка выровнена и потерянная полезная информация.

Однако чтение системных журналов покажет, что apparmor делает что-то. Например,

28 мая ядро имени хоста 13:12:28: [5338.835932] аудит type=1503 (1275066748.269:42): операция = "открывает" pid=10601 parent=1 профиль = "libvirt-b1a29fd0-698c-11df-9c21-f78cb972735d" requested_mask = ":: w" denied_mask = ":: w" fsuid=0 ouid=1001 называют = "/var/lib/libvirt/images/basewindowsxp.img"

Это показывает то, что происходит, когда профиль apparmor отклоняет доступ для записи к файлу для процесса. Каждый раз запуск vm, отказавший из-за этой неверной конфигурации, это сообщение журнала, появился в/var/log/messages.

Существует несколько возможных решений проблемы.

1) Отключите apparmor защиту. Это управляемо через virt-менеджера GUI. В разделе обзора может быть отключен подраздел безопасности, apparmor.

2) Вручную предоставьте доступ к дополнительному файлу. Этим управляют путем изменения apparmor файлов в/etc/apparmor.d/libvirt/каталоге. Добавление строки как:

"/var/lib/libvirt/images/basewindowsxp.img" r,

в файл, соответствующий uuid vm рассматриваемого, предоставит доступ для чтения к имени файла в кавычках.

3) Обновите до более новой версии apparmor/libvirt/the базовой платформы и воссоздайте VMs. По-видимому, эта неверная конфигурация была замечена и обращена автоматически в достаточно новых версиях рассматриваемого программного обеспечения.

1
задан 29 November 2011 в 19:07
1 ответ

upstart будет регистрировать сбой лимита респауна через системный журнал. Хорошая идея - иметь задания cron или монитор журнала в реальном времени, который будет информировать вас о подобных проблемах. Также неплохо иметь мониторинг службы на более глубоком уровне, чтобы вы знали, когда служба не работает. Upstart занимается только тем, работает ли процесс на самом базовом уровне.

0
ответ дан 4 December 2019 в 10:15

Теги

Похожие вопросы