Ubuntu

如何使用 virt-install 創建帶有 SPICE 圖形但禁用 TLS 的 KVM 來賓?

  • December 29, 2020

我正在使用virt-install(見下文)來創建客人。一切似乎都很好,直到它抱怨 SPICE TLS 埠的自動分配。

這是我正在執行的內容和完整的輸出:

# sudo virt-install --name vmname --ram 1024 --os-type=linux --os-variant=ubuntutrusty --disk path=/data/vm/vmname_sda.qcow2,bus=virtio,size=10,sparse=false --noautoconsole --console pty,target_type=virtio --accelerate --hvm --network=network:default --graphics spice,port=20001,listen=127.0.0.1

Starting install...
Retrieving file MANIFEST...                                                                                  | 2.1 kB     00:00 ...
Retrieving file MANIFEST...                                                                                  | 2.1 kB     00:00 ...
Retrieving file linux...                                                                                     |  11 MB     00:00 ...
Retrieving file initrd.gz...                                                                                 |  41 MB     00:00 ...
ERROR    unsupported configuration: Auto allocation of spice TLS port requested but spice TLS is disabled in qemu.conf
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
 virsh --connect qemu:///system start vmname
otherwise, please restart your installation.

錯誤是:

錯誤不支持的配置:請求自動分配 spice TLS 埠,但在 qemu.conf 中禁用了 spice TLS

事實上,我/etc/libvirt/qemu.conf有:

spice_tls = 0

(並且故意如此)。

那麼如何使用 SPICE 圖形協議創建 KVM 來賓,但禁用 TLS呢?

我懷疑它是否相關,但我想禁用 TLS 的原因是因為我已經通過 SSH 隧道連接到 SPICE。無需額外的加密層。


主機系統是 Ubuntu 14.04.1。軟體包版本是:

  • 虛擬:0.600.4-3ubuntu2
  • qemu-kvm: 2.0.0+dfsg-2ubuntu1.2

(就目前而言,所有這些都是最新的apt-get

好的,我自己解決了這個問題。在選項中:

--graphics spice,port=20001,listen=127.0.0.1

刪除port參數,使其變為:

--graphics spice,listen=127.0.0.1

然後,您需要<graphics />libvirtXML 配置文件中配置元素。我的呼叫virt-install給了我這個:

<graphics type='spice' autoport='yes' listen='127.0.0.1'>
 <listen type='address' address='127.0.0.1'/>
</graphics>

**有一個警告。**當 SPICE 仍然連接到預設的自動連接埠(在我的例子中為 5900)時,我完成了安裝。如果您在完成安裝之前關閉來賓,則啟動的整個過程virt-install將被中斷。

為了更改它,應該關閉來賓並將 XML 編輯為類似以下內容,使用virsh edit vmname(其中vmname應替換為您的姓名):

<graphics type='spice' autoport='no' port='20001' listen='127.0.0.1'>
 <listen type='address' address='127.0.0.1'/>
</graphics>

“使用中的埠”衝突的可能解決方法。使用來自 127.0.0.0/24 的除 127.0.0.1 以外的任何本地網路地址,例如 127.0.0.2 等來監聽。

**注意:**如果有人能提出更好(即實際)的解決方案,我會接受其他答案。這篇文章主要針對可能遇到相同問題的其他人。

引用自:https://unix.stackexchange.com/questions/148794