DaDesktop

在 DaDesktop 內使用 Virt Manager 建立虛擬機器

簡介

在準備課程時,常常需要在 DaDesktop 內建立虛擬伺服器,或許也同樣建立一兩台客戶端機器,可以採用相同的作業系統或是 Windows/Linux 混搭。

執行「巢狀虛擬機器」可以透過 Virt Manager 或搭配 vagrant 的 VirtualBox(若使用 Linux 時可選用),若 DaDesktop 機器是 Windows 10 則使用 VirtualBox。

DD 機器巢狀虛擬化

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

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

Virt Manager 也非常適合搭配 Vagrant 使用,只需:         

apt install vagrant-libvirt

值得注意的是,與 VirtualBox 相比,可用於 libvirt/kvm 的 Vagrant boxes 較少,但這些可以輕鬆轉換以支援 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. 如何匯入或轉換虛擬機器? 雖然輕鬆建立符合您作業系統與規格需求的虛擬機器很簡單,但針對較複雜的設定,通常會優先匯入特定伺服器或設備的現有 VM 設定。這些通常以 VMDK 映像檔形式提供,可直接新增至 Virt Manager,但目前版本尚不明確是否可達成此操作。對於 VirtualBox 伺服器映像檔,無法直接匯入(新增)至 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 雲端硬碟、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 中才能開機。
    選擇硬碟格式時,為了速度,除非需要快照,否則 .raw 檔案是最佳選擇;如果需要,則使用 qcow2 格式,但速度會稍慢。
  5. 雖然 Wayland 作為顯示管理員在大多數情況下運作良好,但我們建議暫時繼續使用 X11。話雖如此,或許值得在您自己的特定設定中試用 Wayland,而且各發行版對 Wayland 的支援也持續改善中。
  6. 不需要使用 ksm,因為雖然它可以在巢狀架構和 Virt Manager 中運作,但實際上效果不大。
  7. 技術支援如有需要,在將磁碟映像轉換為 Virt Manager 可用的格式,以及為 DaDesktop 課程設定 Virt Manager 時,可取得協助。
  8. 磁碟映像檔案位於檔案系統中的何處?Virt Manager 使用以下位置來儲存映像檔案,但此為可設定的,亦可依偏好使用其他位置。

    /var/lib/libvirt/images