0

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」コマンドを使用するとエラーになることです

何が問題なのか聞きたいですか?どうすれば解決できますか?

4

1 に答える 1

0

設定した次のパラメータ:

listen_tls = 0
listen_tcp = 1
auth_tcp = "none"

大規模なセキュリティ ホールです。libvirtd への接続は、root アカウントと同等の権限を与えると見なされます。したがって、すべての認証をオフにし、TLS ソケットの代わりに TCP ソケットを使用すると、暗号化も認証もなしでリモート ルート シェルが開かれます。これは、Telnet サーバーを実行し、パスワードなしで root ログインを許可するのと同等です。これは絶対にしないでください。ライブ マイグレーションのためにこれを行うように指示しているドキュメントが間違っている - 私はそのようなドキュメントをすべてオフラインにしようと何年も努力してきましたが、人々はこの偽のアドバイスを何度も何度も投稿し続けています。

次のページでは、TLS の証明書をセットアップする方法について説明します。

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

本当に TLS を使用したくない場合、最適なフォールバックは、libvirtd に SSH トンネリングを使用してリモート ホストに接続するように指示することです。

ユニット ファイルへの WRT です。直接変更する必要はありません。ファイルを参照していることに注意してください。/etc/sysconfig/libvirtdその cnofig ファイルを編集し、そこに LIBVIRTD_ARGS 変数を設定して include します--listen

あなたは systemctl start の実行中にエラーが発生したと言いますが、エラーの内容は言わないでください...実際に発生するエラーを知らずに、問題が何であるかについてのガイダンスを提供することはかなり困難/不可能です。「systemctl status libvirtd.service」を試して、有用なエラー メッセージを見つけてください。

于 2017-11-22T11:31:28.580 に答える