перезапустите libvirtd --listen ошибка

версия libvirt: 3.2.0

это моя конфигурация libvirtd.conf.

vim /etc/libvirt/libvirtd.conf

listen_tls = 0
listen_tcp = 1
auth_tcp = "none"

Если я не использую указанную выше конфигурацию, я закрываю и перезапускаю libvirt без каких-либо проблем. Но поскольку я хочу выполнить живую миграцию, мне нужно добавить вышеуказанные параметры, после добавления проблем и причины сбоя выключения и перезапуска.

cat /usr/lib/systemd/system/libvirtd.service 

[root@localhost wl]# cat /usr/lib/systemd/system/libvirtd.service 
# NB we don't use socket activation. When libvirtd starts it will
# spawn any virtual machines registered for autostart. We want this
# to occur on every boot, regardless of whether any client connects
# to a socket. Thus socket activation doesn't have any benefit

[Unit]
Description=Virtualization daemon
Requires=virtlogd.socket
Requires=virtlockd.socket
Before=libvirt-guests.service
After=network.target
After=dbus.service
After=iscsid.service
After=apparmor.service
After=local-fs.target
After=remote-fs.target
Documentation=man:libvirtd(8)
Documentation=http://libvirt.org

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/libvirtd
ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS **-d -l**
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
# At least 1 FD per guest, often 2 (eg qemu monitor + qemu agent).
# eg if we want to support 4096 guests, we'll typically need 8192 FDs
# If changing this, also consider virtlogd.service & virtlockd.service
# limits which are also related to number of guests
LimitNOFILE=8192

[Install]
WantedBy=multi-user.target
Also=virtlockd.socket
Also=virtlogd.socket

-d -l над смелой работой, а также для поддержки живой миграции плюс

во-первых, я использую "systemctl start libvirtd" для запуска libvirt,

затем systemctl останавливает libvirtd, но libvirt не закрывается

Проблема в том, что я использую команду «systemctl restart libvirtd», будет ошибка

Хотите спросить, в чем проблема? Как мне это решить?


person Paul    schedule 20.11.2017    source источник


Ответы (1)


Вы установили следующие параметры:

listen_tls = 0
listen_tcp = 1
auth_tcp = "none"

БОЛЬШАЯ ДЫРА В БЕЗОПАСНОСТИ. Считается, что подключение к libvirtd дает привилегии, эквивалентные учетной записи root. Таким образом, отключив всю аутентификацию и используя сокет TCP вместо сокета TLS, вы открыли удаленную корневую оболочку без шифрования или аутентификации. Это наравне с запуском сервера telnet и разрешением входа в систему root без пароля. Просто никогда не делайте этого. Любые документы, говорящие вам сделать это для живой миграции, и неправильные - я пытался отключить все такие документы в автономном режиме целую вечность, но люди продолжают публиковать этот фиктивный совет снова и снова.

На следующей странице описано, как настроить сертификаты для TLS.

https://libvirt.org/remote.html#Remote_certificates

Если вы действительно не хотите использовать TLS, то лучший выход — указать libvirtd использовать туннелирование SSH для подключения к удаленному хосту.

WRT в файл модуля, вам не нужно изменять его напрямую. Обратите внимание, что он ссылается на файл /etc/sysconfig/libvirtd, просто отредактируйте этот файл cnofig и установите там переменную LIBVIRTD_ARGS, чтобы включить --listen.

Вы говорите, что у вас возникла ошибка при запуске systemctl start, но не говорите, в чем была ошибка... Довольно сложно/невозможно указать, в чем проблема, не зная реальной ошибки, которую вы получаете. Попробуйте 'systemctl status libvirtd.service', чтобы найти полезные сообщения об ошибках.

person DanielB    schedule 22.11.2017