DaDesktop

在 DaDesktop 中使用 Virt Manager 建立虛擬機

引言

在準備課程時,通常很實用的是在 DaDesktop 中虛擬化一台伺服器,或許也以相同方式虛擬化一兩台客戶端機器,可以使用相同的作業系統,或是 Windows 與 Linux 混合環境。

執行「巢狀虛擬機」可以透過 Virt Manager 或在 Linux 環境下選擇搭配 Vagrant 的 VirtualBox 來達成,或是若 DaDesktop 機器使用 Windows 10,則可選用 VirtualBox。

DD Machines Nested Virt

經過廣泛測試,我們建議優先使用 Virt Manager,因為若使用 VirtualBox 會有一些錯誤;因此目前我們不建議以這種方式使用 VirtualBox。

VirtManager 應用程式使用 libvirt 函式庫來提供虛擬機管理服務。它具備桌面介面,可協助建立、刪除及管理多個虛擬機。它主要用於 KVM 虛擬機,但也支援其他虛擬化管理程式,如 Xen 和 LXC。

Virt Manager 也與 Vagrant 配合得非常好,只需 :         

apt install vagrant-libvirt

值得注意的是,相較於 VirtualBox,使用 libvirt/kvm 的 Vagrant box 數量較少,但可以輕鬆轉換以配合 libvirt 使用,如下所示:

https://medium.com/@gamunu/use-vagrant-with-libvirt-unsupported-boxes-12e719d71e8e
 

使用者介面提供所有虛擬機的摘要檢視,包括其狀態、CPU 使用率、運行中虛擬機的即時效能圖表,以及資源使用統計。

如果您之前沒有用過 Virt Manager,它與 VirtualBox 非常相似,但有一些重要的差異,如下所述。

這是一份關於在 Ubuntu Linux 上使用 virt-manager 的良好指南 - https://www.debugpoint.com/virt-manager/

 

為什麼該使用 Virt Manager 而非 Virtualbox?

優點
  1. 效能好很多 - Virt Manager 使用 VirtIO 驅動程式來處理儲存、網路和圖形,這能帶來更好的效能。Virtio 驅動程式是 KVM 的半虛擬化裝置驅動程式,適用於在 KVM 主機上執行的 Linux 和 Windows 客體虛擬機。virtio 套件支援區塊(儲存)裝置、網路介面控制器以及圖形。VirtIO 驅動程式是開放原始碼的,因此如果您的 Linux 發行版尚未預先安裝,也能輕鬆安裝。
  2. 提供更多設定選項
  3. 與 Vagrant 合作良好
  4. VirtualBox 的部分組件並非完全開放原始碼
  5. 每當核心升級時,Virt Manager 不需要像 VirtualBox 那樣重新編譯模組。
  6. 已知 VirtualBox 有時在需要新的核心升級時會出現問題。
缺點
  1. 可以說 VirtualBox 的學習曲線稍微較短
  2. 在 VirtualBox 上設定「主機網路」而非 NAT 較為簡單,然而 NAT 在兩個系統上對於大多數網路使用案例都能輕鬆運作。
  3. VirtualBox 可用於許多平台,然而 Virt Manager 僅在 Linux 上可用


總而言之,我們發現在 DaDesktop 機器中執行伺服器時,Virt Manager 是首選。

 

安裝

由於 libvirt 持續在改進,請務必使用最新的非 LTS Ubuntu 或 Debian 版本。

安裝 kvm 與 virt-manager。以下是非常簡短的安裝註記,然而請依照您所選的 DaDesktop 作業系統最新指南進行。這是一份指南 https://www.debugpoint.com/virt-manager/

sudo apt install virt-manager
sudo adduser student libvirt
sudo systemctl restart libvirtd

重新啟動 DaDesktop 機器,從應用程式選單執行 Virt Manager

 

設定

  1. 如何匯入或轉換虛擬機? 雖然依照您的作業系統與規格需求來建立虛擬機非常容易,但對於較複雜的設定,通常會偏好匯入現有的特定伺服器或應用裝置虛擬機設定。這些通常以 VMDK 映像檔提供,可直接加入到 Virt Manager 中,不過就目前版本而言,是否真的可行尚不清楚。至於 Virtual Box 伺服器映像檔,無法直接匯入(新增)到 Virt Manager,但可以輕鬆匯出為其他虛擬化格式,例如開放虛擬化格式 (.OVF),而 Virt Manager 可以輕鬆匯入。或者,如果您有 VmWare Convertor,也可以使用,或是改用 Virt-V2V(https://www.redhat.com/en/blog/importing-vms-kvm-virt-v2v)。Qemu-convert 也是一個優秀的開放原始碼工具,可輕鬆在不同虛擬機格式之間轉換。
    若要從 VirtualBox 轉換為 Virt Manager KVM 格式,請遵循以下說明:https://ostechnix.com/how-to-migrate-virtualbox-vms-into-kvm-vms-in-linux/
  2. 在獨立環境中匯入大型檔案的最佳方式。 最近新增了一種方式,可輕鬆地從您的機器上傳檔案到 DaDesktop 機器內

    否則,請考慮使用雲端檔案工具,例如 Google Drive、Microsoft 365 等。之後只需在 DaDesktop 機器中登入該工具,即可存取這些檔案。

  3. 匯入其他虛擬機時,尤其是從其他格式匯入,通常需要變更圖形及/或磁碟類型。 Virt Manager 最棒的優點之一,就是對 VirtIO 驅動程式有絕佳的支援。這些是開放原始碼的全虛擬化驅動程式,相較於原始的磁碟、網路或圖形驅動程式,能提供更好的效能,且幾乎所有作業系統皆可使用,包括對客體 Windows 10 機器的優秀支援。如果您的客體作業系統支援這些驅動程式,在使用 VIrt Manager (KVM) 時,通常會是相容性與效能的首選。https://wiki.archlinux.org/title/Libvirt
  4. 使用 Virt Manager 時的虛擬機最佳設定 VirtIO 驅動程式如今已內建於幾乎所有開放原始碼伺服器作業系統中,且可輕鬆安裝在 Windows 上。一般而言,最適合的驅動程式是 virtio,但在某些情況下,您可能需要使用其他多種類型中的一種。通常 NAT 足以應付大多數的網路需求,除非您需要更複雜的設置而可能需要橋接主機網路,不過這通常較難輕鬆運作。 
    https://wiki.manjaro.org/index.php?title=Virt-manager 是一份很棒的入門指南。
    執行 Windows 需要一些額外的步驟,且需要將 VirtIO 驅動程式整合到 Windows 10 iso 中才能開機。
    在選擇硬碟格式時,若需要快照功能,請使用 qcow2 格式,否則為了速度可使用 .raw 檔案,但 qcow2 會稍微慢一些。
  5. 雖然對大多數情況而言,Wayland 作為顯示管理器運作良好,但我們建議目前仍繼續使用 X11。話雖如此,或許值得在您自己的特定設定中試試 Wayland,而且發行版對 Wayland 的支援也一直在改善。
  6. 不必費心使用 ksm,因為雖然它在巢狀環境及 Virt Manager 中能運作,但實際上幾乎沒有差別。
  7. 技術支援 如需將磁碟映像轉換為可與 Virt Manager 搭配使用,或為 DaDesktop 課程設定 Virt Manager 時,可提供。
  8. 磁碟映像檔案在檔案系統中的位置為何?Virt Manager 使用下列位置來儲存映像檔案,但這是可設定的,若偏好使用其他位置亦可。

    /var/lib/libvirt/images