KVM 是 核心虛擬機器Kernel Virtualization Machine
與大多數虛擬化平台一樣,它將硬體資源(如CPU、記憶體、儲存、網路、圖形等)抽象化,並將它們分配給獨立於宿主機運行的客戶機。
首先,你需要驗證你的系統是否啟用了虛擬化功能。在大多數現代系統上,此功能已在 BIOS 中啟用。但可以肯定的是,你可以驗證是否如圖所示啟用了虛擬化。
此指令可偵測是否有 VMX(虛擬機器擴充Virtual Machine Extension),它是英特爾硬體虛擬化的 CPU 標誌,或稱為 SVM,它是 AMD 硬體虛擬化的標誌。
$ cat /proc/cpuinfo | egrep "vmx|svm"
從以下輸出中,你可以看到我們的系統啟用了英特爾硬體虛擬化:
確保啟用虛擬化後,下一步就是安裝KVM 和管理工具。為此,請執行以下 dnf
指令。
$ sudo dnf install qemu-kvm virt-manager libvirt virt-install virt-viewer virt-top bridge-utilsbridge-utils virt-top libguestfs-tools -y
安裝完成後,執行下列指令檢查是否已載入所需的 KVM 模組。
$ lsmod | grep kvm
你應該得到以下輸出以確認已載入必要的模組:
在下一步中,一定要啟動libvirtd 守護程式。這是一個伺服器端守護程式元件,可以在虛擬化的客戶機上執行和管理任務。它被應用於虛擬化技術的管理,如 Xen、KVM、ESXi 等。
要啟動libvirtd 守護進程,請執行以下命令:
$ sudo systemctl start libvirtd
請務必啟用該服務以在引導時啟動:
$ sudo systemctl enable --now libvirtd
驗證libvirtd 守護程式是否正在運行,如下所示:
$ sudo systemctl status libvirtd
到目前為止,我們已經安裝了KVM 和所有管理工具,事實上,我們可以繼續啟動虛擬機器。但是,如果我們可以從管理程式網路外部存取虛擬機,那就太好了。為此,我們需要建立一個橋接介面。
首先,確定係統上的網路介面。
$ sudo nmcli connection show
從輸出來看,ens160
是活動的網路接口,請務必注意你的情況下的接口,因為你將一路使用它。
要開始建立網橋,首先,使用以下語法用其UUID 刪除連接:
$ sudo nmcli connection delete UUID
在我們的範例中,指令將會是:
$ sudo nmcli connection delete 19e98123-9a84-30a6-bc59-a7134446bb26
你將會收到連線已成功刪除的確認訊息。
在繼續進行之前,最好準備好以下詳細資訊:
br1
)ens160
)192.168.2.50/24
)。请注意,这应该与你的网络子网和 IP 地址相对应。192.168.2.1
)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
安装 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 的文章到此結束,非常歡迎你提供回饋。
以上是如何在 Rocky Linux 9 / AlmaLinux 9 上安裝 KVM的詳細內容。更多資訊請關注PHP中文網其他相關文章!