在 DaDesktop 中使用 Virt Manager 建立虛擬機器
介紹
在準備課程時,經常需要在 DaDesktop 內虛擬化一台伺服器,也許同樣地也虛擬化一兩台客戶端機器,可能使用相同的作業系統或是 Windows/Linux 混合環境。
執行「巢狀虛擬機器」可以透過 Virt Manager 或 VirtualBox 進行,當使用 Linux 時可選擇搭配 Vagrant,若 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,儘管在目前版本中是否確實可行還不太清楚。若是 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 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 中才能使其開機。
在選擇硬碟格式時,若追求速度,請使用 .raw 檔案,除非需要快照功能;若是如此,請使用 qcow2 格式,但這會稍微慢一些。 - 雖然 Wayland 在大多數情況下作為顯示管理器運作良好,我們建議您目前仍使用 X11。儘管如此,在您自己的特定設定中嘗試 Wayland 可能是值得的,而且各發行版對 Wayland 的支援也日益改善。
- 不必費心使用 ksm,因為雖然它能在巢狀環境中運作,也可在 Virt Manager 中使用,但在實務上幾乎沒有差異。
- 技術支援 若有需要,在轉換磁碟映像使之可用於 Virt Manager 時,以及為 DaDesktop 課程設定 Virt Manager 時,隨時提供協助。
-
磁碟映像檔案在檔案系統中的位置為何?Virt Manager 使用以下位置來儲存映像檔案,但這可進行設定,若有偏好也可以使用其他位置。
/var/lib/libvirt/images