在 DaDesktop 內使用 Virt Manager 建立虛擬機器
簡介
在準備課程時,常常需要在 DaDesktop 內建立虛擬伺服器,或許也同樣建立一兩台客戶端機器,可以採用相同的作業系統或是 Windows/Linux 混搭。
執行「巢狀虛擬機器」可以透過 Virt Manager 或搭配 vagrant 的 VirtualBox(若使用 Linux 時可選用),若 DaDesktop 機器是 Windows 10 則使用 VirtualBox。
經過廣泛測試,我們建議優先使用 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?
優點
- 效能大幅提升 - Virt Manager 使用 VirtIO 驅動程式進行儲存、網路和圖形處理,提供更佳的效能。VirtIO 驅動程式是 KVM 的半虛擬化裝置驅動程式,適用於在 KVM 主機上執行的 Linux 和 Windows 客體虛擬機器。virtio 套件支援區塊(儲存)裝置、網路介面控制器以及圖形處理。VirtIO 驅動程式為開放原始碼,因此若您的 Linux 發行版未預先安裝,也很容易安裝。
- 可用的組態選項更多
- 與 Vagrant 搭配使用效果良好
- VirtualBox 的部分功能並非完全開放原始碼
- Virt Manager 在核心升級時無需重新編譯模組,不像 VirtualBox 每次升級都需要。
- 有時當需要升級核心時,VirtualBox 會發生問題。
缺點
- VirtualBox 的學習曲線可能稍微較短
- 在 VirtualBox 上設定「主機網路」而非 NAT 較為容易,然而 NAT 在兩個系統上都能輕鬆應付大多數的網路使用情境。
- 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
組態設定
-
如何匯入或轉換虛擬機器? 雖然輕鬆建立符合您作業系統與規格需求的虛擬機器很簡單,但針對較複雜的設定,通常會優先匯入特定伺服器或設備的現有 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/ -
匯入大型檔案至獨立環境的最佳方式。最近新增了一種可輕鬆從您的機器上傳檔案至 DaDesktop 機器內部的方法。
否則,可考慮使用雲端檔案工具,例如 Google 雲端硬碟、Microsoft 365 等。然後透過在 DaDesktop 機器內登入該工具即可存取這些檔案。
- 匯入其他虛擬機器時,尤其是來自其他格式的,您通常需要變更圖形以及/或磁碟類型。Virt Manager 的一大優點是它提供極佳的 VirtIO 驅動程式支援。這些是開放原始碼的完全虛擬化驅動程式,相較於原始磁碟、網路或圖形驅動程式,效能大幅提升,且幾乎適用於所有作業系統,包括對客體 Windows 10 機器提供絕佳支援。如果您的客體作業系統支援它們,這通常是使用 Virt Manager (KVM) 時,為了相容性和效能而選擇的首選。https://wiki.archlinux.org/title/Libvirt
-
使用 Virt Manager 設定虛擬機器的最佳設定:VirtIO 驅動程式目前已隨附於幾乎所有開放原始碼伺服器作業系統中,且可輕鬆安裝在 Windows 上。通常最佳的驅動程式是 virtio,但在某些情況下,您可能需要使用其他多種類型之一。一般而言,NAT 足以應付大多數的網路需求,除非您需要更複雜的設定,可能需要橋接主機網路,但這通常較難輕鬆運作。
https://wiki.manjaro.org/index.php?title=Virt-manager 是一份很棒的入門指南。
執行 Windows 需要一些額外步驟,且需要將 VirtIO 驅動程式整合到 Windows 10 ISO 中才能開機。
選擇硬碟格式時,為了速度,除非需要快照,否則 .raw 檔案是最佳選擇;如果需要,則使用 qcow2 格式,但速度會稍慢。 - 雖然 Wayland 作為顯示管理員在大多數情況下運作良好,但我們建議暫時繼續使用 X11。話雖如此,或許值得在您自己的特定設定中試用 Wayland,而且各發行版對 Wayland 的支援也持續改善中。
- 不需要使用 ksm,因為雖然它可以在巢狀架構和 Virt Manager 中運作,但實際上效果不大。
- 技術支援如有需要,在將磁碟映像轉換為 Virt Manager 可用的格式,以及為 DaDesktop 課程設定 Virt Manager 時,可取得協助。
-
磁碟映像檔案位於檔案系統中的何處?Virt Manager 使用以下位置來儲存映像檔案,但此為可設定的,亦可依偏好使用其他位置。
/var/lib/libvirt/images
