Chuyển đến nội dung chính

在 Ubuntu 24.04 上安裝 KVM

Duy Tran9 分鐘
在 Ubuntu 24.04 上安裝 KVM

KVM(基於核心的虛擬機器)是一款功能強大的 Linux 開源虛擬化解決方案。當與基於 Web 的管理介面(如 Cockpit 或 Kimchi)結合使用時,虛擬機器管理變得直觀且可從任何地方存取。本教學將向您展示如何在 Ubuntu 24.04 上安裝 KVM 並設定 Web 介面以輕鬆管理 VM。

系統需求

  • 安裝 Ubuntu 24.04 LTS
  • root 或 sudo 訪問
  • 支援虛擬化的CPU(Intel VT-x或AMD-V)
  • 最低 4GB RAM(建議 8GB 或更多)
  • 足夠的磁碟空間供虛擬機器使用

第 1 步:檢查硬體虛擬化支援

首先,檢查您的CPU是否支援虛擬化:

egrep -c '(vmx|svm)' /proc/cpuinfo

如果結果是 0、虛擬化不受支援或尚未在 BIOS 中啟用。哪個數字較大 0 都表示支持。

您也可以使用:

kvm-ok

如果 kvm-正常 尚未安裝,請先安裝:

sudo apt install cpu-checker
kvm-ok

預期結果: 訊息:/dev/kvm 存在。可以使用KVM加速

步驟2:更新系統包

更新您的系統以確保所有軟體包都是最新的:

sudo apt update
sudo apt upgrade -y

第三步:安裝KVM及相關軟體包

安裝 KVM 以及必要的虛擬化工具:

sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager

包說明:

  • qemu-kvm:KVM和QEMU主包
  • libvirt 守護程式系統:用於虛擬化管理的 Libvirt 守護進程
  • libvirt 用戶端:libvirt 的客戶端實用程式
  • 橋接工具:網橋實用程式
  • 維廷斯特:建立VM的命令列工具
  • 虛擬管理器:用於管理虛擬機器的桌面應用程式(可選)

第四步:啟動並啟動Libvirt服務

啟用 libvirt 服務在啟動時自動啟動並立即啟動:

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

檢查服務是否正在運作:

sudo systemctl status libvirtd

步驟 5:將使用者新增至必要的群組中

將您的用戶加入群組 庫虛擬機 和 克VM 無需 sudo 即可管理虛擬機器:

sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

登出並重新登入以使群組變更生效,或運行:

newgrp libvirt

第 6 步:驗證 KVM 設定

檢查KVM是否安裝正確:

virsh list --all

此命令將傳回一個空的虛擬機器清單(除非您已經建立了一些虛擬機器)。

第 7 步:安裝 Web 介面 - 選項 1:Cockpit(建議)

Cockpit 是一個現代的輕量級 Web 介面,用於管理 Linux 伺服器,包括 KVM 虛擬化。

駕駛艙設置

sudo apt install -y cockpit cockpit-machines

駕駛艙啟動和啟動

sudo systemctl enable --now cockpit.socket

存取駕駛艙 Web 介面

開啟網頁瀏覽器並造訪:

https://your-server-ip:9090

或如果本地存取:

https://localhost:9090

使用您的 Ubuntu 使用者名稱和密碼登入。導航至 虛擬機 管理 KVM。

允許 Cockpit 通過防火牆(如果啟用了 UFW)

sudo ufw allow 9090/tcp

第 8 步:安裝 Web 介面 - 選項 2:Kimchi

Kimchi 是另一個在 Wok 上運行的基於 Web 的虛擬化管理工具。

安裝依賴項

sudo apt install -y git python3-pip nginx

安裝炒鍋和泡菜

sudo apt install -y wok kimchi

如果儲存庫中沒有,請從來源安裝:

# Cài đặt các phụ thuộc
sudo apt install -y python3-cherrypy3 python3-cheetah python3-pam python3-m2crypto gettext

Clone repositories

cd /tmp git clone https://github.com/kimchi-project/wok.git git clone https://github.com/kimchi-project/kimchi.git

Cài đặt Wok

cd wok sudo make install

Cài đặt Kimchi

cd ../kimchi sudo make install

啟動炒鍋服務

sudo systemctl enable wokd
sudo systemctl start wokd

存取 Kimchi Web 介面

開啟網頁瀏覽器並造訪:

https://your-server-ip:8001

使用您的 Ubuntu 使用者名稱和密碼登入。

步驟 9:設定網橋(選購)

若要為虛擬機器提供直接網路存取權限,請設定網橋:

使用 Netplan(預設 Ubuntu 24.04)

編輯網路規劃配置:

sudo nano /etc/netplan/00-installer-config.yaml

設定範例:

network:
version: 2
ethernets:
enp0s3:
dhcp4: no
bridges:
br0:
interfaces: [enp0s3]
dhcp4: yes
parameters:
stp: false
forward-delay: 0

更換 enp0s3 使用您的實際網路介面名稱(使用指令尋找 ip 一個)。

應用程式配置:

sudo netplan apply

橋接驗證

ip addr show br0
brctl show

第 10 步:建立您的第一台虛擬機

使用駕駛艙 Web 介面

  1. 導航至 虛擬機 在駕駛艙內
  2. 點擊 建立虛擬機
  3. 選擇安裝來源(ISO 檔案、URL 或 PXE)
  4. 配置虛擬機器設定(CPU、RAM、磁碟)
  5. 開始安裝

使用命令列

下載 ISO 檔案(例如 Ubuntu Server):

cd /var/lib/libvirt/images/
sudo wget https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso

建立虛擬機器:

sudo virt-install 
--name ubuntu-vm
--ram 2048
--vcpus 2
--disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20
--os-variant ubuntu24.04
--network bridge=virbr0
--graphics vnc,listen=0.0.0.0
--cdrom /var/lib/libvirt/images/ubuntu-24.04-live-server-amd64.iso

故障排除

問題:權限被拒絕

如果您收到權限錯誤,請確保您的使用者位於正確的群組中:

groups $USER

應該包括在內 庫虛擬機 和 克VM。

問題:libvirtd 服務失敗

檢查日誌:

sudo journalctl -u libvirtd

問題:無法存取Web介面

檢查服務是否正在運作:

# Với Cockpit
sudo systemctl status cockpit.socket

Với Kimchi/Wok

sudo systemctl status wokd

檢查防火牆:

sudo ufw status

問題:虛擬機器中無網路連接

驗證預設網路是否正常運作:

virsh net-list --all
sudo virsh net-start default
sudo virsh net-autostart default

安全問題

  1. 防火牆:僅向受信任的網路開放 Web 介面連接埠
  2. SSL/TLS:使用適合生產環境的證書
  3. 使用者存取權限:建立一個具有有限權限的專用用戶
  4. 更新:讓 KVM 和管理工具保持最新
  5. 備份:定期備份虛擬機器配置和數據

有用的命令

# Liệt kê tất cả VM
virsh list --all

Khởi động VM

virsh start vm-name

Tắt VM

virsh shutdown vm-name

Buộc tắt VM

virsh destroy vm-name

Xóa VM

virsh undefine vm-name

Chỉnh sửa cấu hình VM

virsh edit vm-name

Xem console VM

virsh console vm-name

Liệt kê các mạng

virsh net-list --all

Liệt kê storage pools

virsh pool-list --all

結論

您現在在 Ubuntu 24.04 上擁有一個完整的 KVM 虛擬化環境,並具有基於 Web 的管理介面。 Cockpit 為虛擬機器管理提供了現代化、易於使用的介面,而 Kimchi 則為專業用戶提供了更高級的功能。選擇最適合您需求的虛擬機器並開始有效率地建立和管理虛擬機器。

其他資源