在 DaDesktop 中使用 Virt Manager 建立虛擬機
引言
在準備課程時,通常很實用的是在 DaDesktop 中虛擬化一台伺服器,或許也以相同方式虛擬化一兩台客戶端機器,可以使用相同的作業系統,或是 Windows 與 Linux 混合環境。
執行「巢狀虛擬機」可以透過 Virt Manager 或在 Linux 環境下選擇搭配 Vagrant 的 VirtualBox 來達成,或是若 DaDesktop 機器使用 Windows 10,則可選用 VirtualBox。
經過廣泛測試,我們建議優先使用 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?
優點
- 效能好很多 - 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
設定
-
如何匯入或轉換虛擬機? 雖然依照您的作業系統與規格需求來建立虛擬機非常容易,但對於較複雜的設定,通常會偏好匯入現有的特定伺服器或應用裝置虛擬機設定。這些通常以 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/ -
在獨立環境中匯入大型檔案的最佳方式。 最近新增了一種方式,可輕鬆地從您的機器上傳檔案到 DaDesktop 機器內。
否則,請考慮使用雲端檔案工具,例如 Google Drive、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 中才能開機。
在選擇硬碟格式時,若需要快照功能,請使用 qcow2 格式,否則為了速度可使用 .raw 檔案,但 qcow2 會稍微慢一些。 - 雖然對大多數情況而言,Wayland 作為顯示管理器運作良好,但我們建議目前仍繼續使用 X11。話雖如此,或許值得在您自己的特定設定中試試 Wayland,而且發行版對 Wayland 的支援也一直在改善。
- 不必費心使用 ksm,因為雖然它在巢狀環境及 Virt Manager 中能運作,但實際上幾乎沒有差別。
- 技術支援 如需將磁碟映像轉換為可與 Virt Manager 搭配使用,或為 DaDesktop 課程設定 Virt Manager 時,可提供。
-
磁碟映像檔案在檔案系統中的位置為何?Virt Manager 使用下列位置來儲存映像檔案,但這是可設定的,若偏好使用其他位置亦可。
/var/lib/libvirt/images
