在早些年,在同一台筆電中執行多個作業系統只能雙啟動。當時,這些作業系統很難同時執行或彼此互動。許多年過去了,在普通的 PC 上,可以通過虛擬化在一個系統中執行另一個系統。
最近的 PC 或筆電(包括價格適中的筆記型電腦)都有硬體虛擬化,可以執行效能接近物理主機的虛擬機器。
虛擬化因此變得常見,它可以用來測試作業系統、學習新技術、建立自己的家庭雲、建立自己的測試環境等等。本文將指導你使用 Fedora 上的 Virt Manager 來設定虛擬機器。
與所有其他 Linux 系統一樣,Fedora 附帶了虛擬化擴充套件支援。它由作為核心模組之一的 KVM(基於核心的虛擬機器)提供支援。
QEMU 是一個完整的系統模擬器,它可與 KVM 協同工作,允許你使用硬體和外部裝置建立虛擬機器。
最後,libvirt 能讓你管理基礎設施的 API 層,即建立和執行虛擬機器。
這三個技術都是開源的,我們將在 Fedora Workstation 上安裝它們。
安裝是一個相當簡單的操作。 Fedora 倉庫提供了 “virtualization” 軟體包組,其中包含了你需要的所有包。
sudo dnf install @virtualization
預設情況下,系統管理僅限於 root 使用者,如果要啟用常規使用者,那麼必須按以下步驟操作。
開啟 /etc/libvirt/libvirtd.conf
進行編輯:
sudo vi /etc/libvirt/libvirtd.conf
將 UNIX 域通訊端組所有者設定為 libvirt:
unix_sock_group = "libvirt"
調整 UNIX 域通訊端的讀寫許可權:
unix_sock_rw_perms = "0770"
sudo systemctl start libvirtdsudo systemctl enable libvirtd
為了管理 libvirt 與普通使用者,你必須將使用者新增到 libvirt
組,否則每次啟動 virt-manager
時,都會要求你輸入 sudo 密碼。
sudo usermod -a -G libvirt $(whoami)
這會將當前使用者新增到組中。你必須登出並重新登入才能應用更改。
可以通過命令列 (virsh
) 或通過 virt-manager
圖形介面管理 libvirt 系統。如果你想做虛擬機器自動化設定,那麼命令列非常有用,例如使用 Ansible,但在本文中我們將專注於使用者友好的圖形介面。
virt-manager
介面很簡單。主視窗顯示連線列表,其中包括本地系統連線。
連線設定包括虛擬網路和儲存定義。你可以定義多個虛擬網路,這些網路可用於在用戶端系統之間以及用戶端系統和主機之間進行通訊。
要開始建立新虛擬機器,請按下主視窗左上角的按鈕:
嚮導的第一步需要選擇安裝模式。你可以選擇本地安裝媒介、網路引導/安裝或匯入現有虛擬磁碟:
選擇本地安裝媒介,下一步將需要選擇 ISO 映象路徑:
隨後的兩個步驟能讓你調整新虛擬機器的 CPU、記憶體和磁碟大小。最後一步將要求你選擇網路選項:如果你希望虛擬機器通過 NAT 與外部隔離,請選擇預設網路。如果你希望從外部存取虛擬機器,那麼選擇橋接。請注意,如果選擇橋接,那麼虛擬機器則無法與主機通訊。
如果要在啟動設定之前檢視或更改設定,請選中“安裝前自定義設定”:
虛擬機器設定視窗能讓你檢視和修改硬體設定。你可以新增磁碟、網路介面、更改引導選項等。滿意後按“開始安裝”:
此時,你將被重定向到控制台來繼續安裝作業系統。操作完成後,你可以從控制台存取虛擬機器:
剛剛建立的虛擬機器將出現在主視窗的列表中,你還能看到 CPU 和記憶體占用率的圖表:
libvirt 和 virt-manager
是功能強大的工具,它們可以以企業級管理為你的虛擬機器提供出色的自定義。如果你需要更簡單的東西,請注意 Fedora Workstation 預安裝的 GNOME Boxes 已經能夠滿足基礎的虛擬化要求。