如何在 Rocky Linux 9 / AlmaLinux 9 上安裝 KVM
在本指南中,我們演示了如何在 Rocky Linux 9 / Alma Linux 9 上安裝 KVM。
KVM 是 內核虛擬機 的簡稱,是一個為 Linux 內核設計的開源虛擬化平台。它是一種 1 類管理程序,或通常稱為裸機管理程序。它允許用戶創建和管理多台客戶機,這些可以在 Linux 或 Windows 操作系統中創建。
與大多數虛擬化平台一樣,它將硬體資源(如 CPU、內存、存儲、網路、圖形等)抽象化,並將它們分配給獨立於宿主機運行的客戶機。
先決條件
- 預裝 Rocky Linux 9 / AlmaLinux 9
- 具有管理員許可權的 sudo 用戶
- 互聯網連接
1、驗證是否啟用了硬體虛擬化
首先,你需要驗證你的系統是否啟用了虛擬化功能。在大多數現代系統上,此功能已在 BIOS 中啟用。但可以肯定的是,你可以驗證是否如圖所示啟用了虛擬化。
該命令探測是否存在 VMX( 虛擬機擴展 ),它是英特爾硬體虛擬化的 CPU 標誌,或 SVM,它是 AMD 硬體虛擬化的標誌。
$ cat /proc/cpuinfo | egrep "vmx|svm"
從以下輸出中,你可以看到我們的系統啟用了英特爾硬體虛擬化:
2、在 Rocky Linux 9 / AlmaLinux 9 上安裝 KVM
確保啟用虛擬化後,下一步就是安裝 KVM 和管理工具。為此,請運行以下 dnf
命令。
$ sudo dnf install qemu-kvm virt-manager libvirt virt-install virt-viewer virt-top bridge-utils bridge-utils virt-top libguestfs-tools -y
安裝完成後,運行以下命令檢查是否已載入所需的 KVM 模塊。
$ lsmod | grep kvm
你應該得到以下輸出以確認已載入必要的模塊:
3、啟動並啟用 libvirtd 守護進程
在下一步中,一定要啟動 libvirtd 守護進程。這是一個伺服器端守護程序組件,可在虛擬化的客戶機上運行和管理任務。它用於管理虛擬化技術,例如 Xen、KVM 和 ESXi 等等。
要啟動 libvirtd 守護進程,請運行以下命令:
$ sudo systemctl start libvirtd
請務必啟用該服務以在引導時啟動:
$ sudo systemctl enable --now libvirtd
驗證 libvirtd 守護進程是否正在運行,如下所示:
$ sudo systemctl status libvirtd
4、設置橋接介面
到目前為止,我們已經安裝了 KVM 和所有管理工具,事實上,我們可以繼續啟動虛擬機。但是,如果我們可以從管理程序網路外部訪問虛擬機,那就太好了。為此,我們需要創建一個橋接介面。
首先,確定系統上的網路介面。
$ sudo nmcli connection show
從輸出來看,ens160
是活動的網路介面,請務必注意你的情況下的介面,因為你將一路使用它。
要開始創建網橋,首先,使用以下語法用其 UUID 刪除連接:
$ sudo nmcli connection delete UUID
在我們的例子中,命令將是:
$ sudo nmcli connection delete 19e98123-9a84-30a6-bc59-a7134446bb26
你將收到連接已成功刪除的確認信息。
在繼續進行之前,最好準備好以下詳細信息:
- 網橋名稱 – 新網橋的首選名稱(例如
br1
) - 設備名稱 – 這是你的網路介面的名稱。它將作為網橋的從屬設備(例如,
ens160
) - IP 地址/子網 – 橋接網路的 IP 地址和子網(例如
192.168.2.50/24
)。請注意,這應該與你的網路子網和 IP 地址相對應。 - 網關 – 你網路的默認網關地址(例如
192.168.2.1
) - DNS1 和 DNS2 – 首選 DNS 地址(例如
8.8.8.8
和8.8.4.4
)
繼續,使用以下語法創建一個新的橋接介面。
$ sudo nmcli connection add type bridge autoconnect yes con-name BRIDGE NAME ifname BRIDGE NAME
在我們的例子中,br1
是首選的網橋介面名稱。因此,命令將如圖所示:
$ sudo nmcli connection add type bridge autoconnect yes con-name br1 ifname br1
在接下來的步驟中,你將通過指定 IP 子網、網關和 DNS 值來修改網橋。
首先使用以下語法指定 IP 子網:
$ sudo nmcli connection modify BRIDGE NAME ipv4.addresses IP ADDRESS/SUBNET ipv4.method manual
根據我們的設置,命令將是:
$ sudo nmcli connection modify br1 ipv4.addresses 192.168.2.150/24 ipv4.method manual
接下來,使用以下語法指定網關地址:
$ sudo nmcli connection modify BRIDGE NAME ipv4.gateway GATEWAY
根據我們的網路,該命令採用以下格式:
$ sudo nmcli connection modify br1 ipv4.gateway 192.168.2.1
DNS 地址的語法如下:
$ sudo nmcli connection modify BRIDGE NAME ipv4.dns DNS1 +ipv4.dns DNS2
該命令採用以下格式:
$ sudo nmcli connection modify br1 ipv4.dns 8.8.8.8 +ipv4.dns 8.8.4.4
此後,使用以下命令添加網橋從屬設備:
$ sudo nmcli connection add type bridge-slave autoconnect yes con-name DEVICE NAME ifname DEVICE NAME master BRIDGE NAME
使用我們的值,命令如圖所示:
$ sudo nmcli connection add type bridge-slave autoconnect yes con-name ens160 ifname ens160 master br1
你將收到以下確認信息,表明已成功添加網橋從屬設備。請記住,橋接從屬設備是你的網路介面或適配器。
要確認網橋已創建,請運行以下命令:
$ sudo nmcli connection show
從輸出中,你可以看到列出了網橋介面。
激要活它,請運行以下命令:
$ sudo nmcli connection up br1
此外,你可以使用 ip addr
命令驗證:
$ ip addr | grep br1
最後,編輯網橋配置文件。
$ sudo vi /etc/qemu-kvm/bridge.conf
添加以下行:
allow all
然後重新啟動虛擬化守護進程以應用更改
$ sudo systemctl restart libvirtd
5、創建虛擬機
安裝 KVM 並配置橋接連接後,現在讓我們創建一個虛擬機。在執行之前,為登錄用戶分配必要的所有權,以便在不切換到 root 的情況下運行命令。
$ sudo chown -R $USER:libvirt /var/lib/libvirt/
在命令行上,我們將使用以下語法使用 Ubuntu 20.04 ISO 鏡像創建虛擬機。
$ virt-install
--name Ubuntu
--ram 2048
--vcpus 2
--disk path=/var/lib/libvirt/images/ubuntu-20.04.img,size=15
--os-variant ubuntu20.04
--network bridge=br1,model=virtio
--graphics vnc,listen=0.0.0.0
--console pty,target_type=serial
--cdrom /home/linuxtechi/Downloads/ubuntu-20.04.4-desktop-amd64.iso
執行該命令後,將啟動圖形屏幕會話,並開始安裝客戶操作系統。
總結
我們關於如何在 Rocky Linux 9 / AlmaLinux 9 上安裝 KVM 的文章到此結束,非常歡迎你提供反饋。
(題圖:MJ/a364d6e3-0c59-4be8-bf02-5df078359429)
via: https://www.linuxtechi.com/install-kvm-on-rocky-linux-almalinux/
作者:Pradeep Kumar 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive