如果您正在尋找功能強大、免費且直接整合的虛擬化解決方案 Linux 內核,那麼 KVM(基於核心的虛擬機器) 就是答案。 鍵盤虛擬機 將 Linux 變成 Type-1 管理程式,讓你跑很多 虛擬機器 (VM) 具有幾乎本機的性能。
在這篇文章中,我將引導您完成安裝 鍵盤虛擬機 從上面的 A-Z 2台實體伺服器 具體配置:
| 主機名稱 | IP位址 | 角色 |
|---|---|---|
| kvm節點01 | 192.168.1.10 | KVM 主機 #1 |
| kvm節點02 | 192.168.1.11 | KVM 主機 #2 |
此配置適合建置家庭實驗室、運行 Kubernetes 叢集或開發/測試環境。
為什麼選擇KVM?
在開始安裝之前,讓我們先了解一下原因 鍵盤虛擬機 是一個流行的選擇:
比較虛擬化解決方案:
┌─────────────────┬──────────────┬─────────────┬──────────────┐
│ Tiêu chí │ KVM │ VMware │ VirtualBox │
├─────────────────┼──────────────┼─────────────┼──────────────┤
│ Chi phí │ Miễn phí │ Có phí │ Miễn phí │
│ Hiệu năng │ Xuất sắc │ Xuất sắc │ Tốt │
│ Tích hợp Linux │ Native │ Cần driver │ Cần driver │
│ Production-ready│ Có │ Có │ Không │
│ Cloud providers │ AWS, GCP... │ VMware Cloud│ Không │
│ Nested Virt │ Tốt │ Tốt │ Hạn chế │
└─────────────────┴──────────────┴─────────────┴──────────────┘
鍵盤虛擬機 被 AWS、Google Cloud、DigitalOcean 等主要雲端供應商使用,並且是 OpenStack、Proxmox VE 的基礎。
系統需求
配置我們的 2 台伺服器:

每個節點的最低要求:
- 硬體支援CPU 虛擬化 (英特爾 VT-x 或 AMD-V)
- 記憶體:8GB+(建議16GB+)
- 儲存: 100GB+ 固態硬碟
- 烏班圖 伺服器 22.04 LTS 或 24.04 長期支持
- 網路:1個網路卡(可新增網路卡用於儲存網路)
第 1 步:檢查硬體虛擬化支援
📚 執行以上操作 兩個節點:kvm-node01 和 kvm-node02
首先,需要確認CPU支援硬體虛擬化。這是最重要的一步──如果CPU不支持,就不能使用 鍵盤虛擬機。
檢查CPU標誌:
# Kiểm tra số lượng CPU cores hỗ trợ virtualization
egrep -c '(vmx|svm)' /proc/cpuinfo
傳回大於 0 的數字表示 CPU 支援:
虛擬機- 英特爾VT-x支援向量機-AMD-V
查看更多詳細資訊:
# Xem loại virtualization lscpu | grep VirtualizationOutput mẫu:
Virtualization: VT-x (Intel)
Virtualization: AMD-V (AMD)
使用 kvm-ok 工具:
# Cài đặt cpu-checker sudo apt update sudo apt install -y cpu-checkerChạy kiểm tra
sudo kvm-ok
期望的結果:
INFO: /dev/kvm exists
KVM acceleration can be used
⚠️ 注意: 如果結果顯示“KVM 加速無法使用”,請檢查 BIOS/UEFI 並啟用 Intel VT-x 或 AMD-V 選項。
步驟2:安裝KVM和軟體包
📚 執行以上操作 兩個節點
繼續安裝 鍵盤虛擬機 以及必要的包裝:
# Update hệ thống sudo apt update && sudo apt upgrade -yCài đặt KVM và toàn bộ dependencies
sudo apt install -y
qemu-kvm
libvirt-daemon-system
libvirt-clients
bridge-utils
virtinst
virt-manager
libguestfs-tools
libosinfo-bin
cloud-image-utils
各包說明:
| 套餐 | 功能 |
|---|---|
qemu-kvm |
QEMU 模擬器與 鍵盤虛擬機 加速度.加速度 |
libvirt 守護程式系統 |
利布維爾特 守護程式管理虛擬機 |
libvirt 用戶端 |
CLI 工具,如 virsh |
橋接工具 |
創建和管理 網路 橋樑。橋樑 |
維廷斯特 |
用於建立虛擬機器的虛擬安裝工具 |
虛擬管理器 |
用於管理虛擬機器的 GUI(對於 伺服器。伺服器) |
libguestfs 工具 |
用於操作磁碟映像的工具 |
libosinfo-bin |
作業系統資訊資料庫 |
雲圖像實用程式 |
工具可用於雲影像 |
驗證安裝:
# Kiểm tra KVM modules đã load lsmod | grep kvmOutput mẫu (Intel):
kvm_intel 368640 0
kvm 1028096 1 kvm_intel
Output mẫu (AMD):
kvm_amd 139264 0
kvm 1028096 1 kvm_amd
步驟 3:設定使用者和服務
📚 執行以上操作 兩個節點
使用 鍵盤虛擬機 不需要每個命令都使用 sudo,將用戶添加到必要的群組中:
# Thêm user hiện tại vào group libvirt và kvm sudo usermod -aG libvirt $USER sudo usermod -aG kvm $USERVerify groups
groups $USER
啟用並啟動 libvirtd 服務:
# Enable service khởi động cùng hệ thống sudo systemctl enable libvirtdStart service
sudo systemctl start libvirtd
Kiểm tra status
sudo systemctl status libvirtd
期望的輸出:
● libvirtd.service - Virtualization daemon
Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; ...)
Active: active (running) since ...
💡 提示: 將使用者新增至群組後,需要登出並重新登錄,或執行 新grp libvirt 立即申請。檢查 libvirt 連線:
# Test virsh command virsh list --allNếu thành công, output sẽ là:
Id Name State
----------------------
(empty - chưa có VM nào)
步驟 4:設定網橋
這是虛擬機器能夠與外部網路通訊的最重要的一步。我們將為兩台伺服器配置靜態 IP 的橋接網路。
確定網路介面名稱(在兩個節點上完成):
# Liệt kê các network interfaces ip link showTìm interface chính (thường là enp0s3, eth0, eno1, ens18...)
Ghi nhớ tên này để dùng ở bước sau
備份目前配置:
sudo mkdir -p /etc/netplan/backup
sudo cp /etc/netplan/*.yaml /etc/netplan/backup/
kvm-node01 (192.168.1.10) 的配置
sudo nano /etc/netplan/01-bridge-config.yaml
# /etc/netplan/01-bridge-config.yaml - kvm-node01 network: version: 2 renderer: networkdethernets: enp0s3: # ⚠️ Thay bằng tên interface thực tế dhcp4: false dhcp6: false
bridges: br0: interfaces: - enp0s3 # ⚠️ Thay bằng tên interface thực tế addresses: - 192.168.1.10/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 mtu: 1500 parameters: stp: true forward-delay: 4
kvm-node02 (192.168.1.11) 的配置
sudo nano /etc/netplan/01-bridge-config.yaml
# /etc/netplan/01-bridge-config.yaml - kvm-node02 network: version: 2 renderer: networkdethernets: enp0s3: # ⚠️ Thay bằng tên interface thực tế dhcp4: false dhcp6: false
bridges: br0: interfaces: - enp0s3 # ⚠️ Thay bằng tên interface thực tế addresses: - 192.168.1.11/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 mtu: 1500 parameters: stp: true forward-delay: 4
應用配置(在兩個節點上完成):
# Kiểm tra syntax sudo netplan tryNếu OK, áp dụng
sudo netplan apply
Verify bridge đã tạo
ip addr show br0 brctl show
期望的輸出:
bridge name bridge id STP enabled interfaces
br0 8000.xxxxxxxxxxxx yes enp0s3
⚠️ 警告: 透過 SSH 設定網橋時,您可能會失去連線。使用 網路計劃嘗試 如果您不確認,120秒後將自動回滾。虛擬機器IP規劃
| 範圍 | 目的 |
|---|---|
| 192.168.1.10 - 192.168.1.11 | KVM主機 |
| 192.168.1.20 - 192.168.1.49 | 基礎設施虛擬機器(DNS、DHCP 等) |
| 192.168.1.50 - 192.168.1.99 | Kubernetes集群 |
| 192.168.1.100 - 192.168.1.149 | kvm-node01 上的虛擬機 |
| 192.168.1.150 - 192.168.1.199 | kvm-node02 上的虛擬機 |
| 192.168.1.200 - 192.168.1.250 | 保留/DHCP 池 |
| 192.168.1.1 | 閘道 |
為虛擬機器配置虛擬網路(NAT 網路)
除了橋接網路之外,我們還將創建一個 私人虛擬網絡 對於虛擬機器。此網路使用NAT,使得虛擬機器可以透過主機存取Internet,但與實體網路隔離。

建立虛擬網路定義檔:
# Tạo file XML cho mạng ảo
sudo tee /tmp/vm-private-network.xml << EOF
<network>
<name>vm-private</name>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr1' stp='on' delay='0'/>
<ip address='10.10.10.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.10.10.100' end='10.10.10.200'/>
</dhcp>
</ip>
</network>
EOF
建立並啟動虛擬網路(在兩個節點上執行):
# Define network từ XML sudo virsh net-define /tmp/vm-private-network.xmlStart network
sudo virsh net-start vm-private
Enable autostart
sudo virsh net-autostart vm-private
Verify
sudo virsh net-list --all
期望的輸出:
Name State Autostart Persistent
default active yes yes vm-private active yes yes
查看虛擬網路詳細資訊:
# Xem cấu hình sudo virsh net-dumpxml vm-privateXem DHCP leases
sudo virsh net-dhcp-leases vm-private
Xem bridge interface
ip addr show virbr1
兩個節點的虛擬網路規劃:
| 節點 | 虛擬網路 | 子網 | DHCP 範圍 |
|---|---|---|---|
| kvm節點01 | 虛擬機器專用 | 10.10.10.0/24 | 10.10.10.100-149 |
| kvm節點02 | 虛擬機器專用 | 10.10.10.0/24 | 10.10.10.150-200 |
💡 注意: 兩個節點共享相同的子網路 10.10.10.0/24,但共享不同的 DHCP 範圍以避免 IP 衝突。 2 個節點上的虛擬機器可以透過虛擬網路直接相互通訊。
kvm-node02 的虛擬網路設定(相同子網,不同 DHCP 範圍):
# Trên kvm-node02, tạo file XML với DHCP range khác sudo tee /tmp/vm-private-network.xml << EOF <network> <n>vm-private</n> <forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='virbr1' stp='on' delay='0'/> <ip address='10.10.10.1' netmask='255.255.255.0'> <dhcp> <range start='10.10.10.150' end='10.10.10.200'/> </dhcp> </ip> </network> EOFDefine và start
sudo virsh net-define /tmp/vm-private-network.xml sudo virsh net-start vm-private sudo virsh net-autostart vm-private
安装 Cockpit 以通过 Web UI 管理 KVM
駕駛艙 是一个有助于管理的 Web UI 鍵盤虛擬機 直观且简单。安装上面 兩個節點:
# Cài đặt Cockpit và module KVM sudo apt install -y cockpit cockpit-machinesEnable và start Cockpit
sudo systemctl enable --now cockpit.socket
Kiểm tra status
sudo systemctl status cockpit.socket
Mở firewall (nếu có)
sudo ufw allow 9090/tcp
访问驾驶舱:
| 節點 | 網址 |
|---|---|
| kvm節點01 | https://192.168.1.10:9090 |
| kvm節點02 | https://192.168.1.11:9090 |
使用用户登录 Linux 你的(需要 sudo 许可)。
KVM 的驾驶舱接口:

KVM 的驾驶舱功能:
| 特點 | 描述 |
|---|---|
| 虛擬機 | 直观地创建、删除、启动、停止VM |
| 主機 | 浏览器中的 VNC/串行控制台 |
| 存储池 | 管理磁盘镜像、上传ISO |
| 網路 | 建立/編輯虛擬網路(NAT、橋接器) |
| 快照 | 创建和恢复快照 |
| 資源監控器 | 实时监控CPU、RAM、磁盘、网络 |
設定VXLAN Overlay網路(2節點公共虛擬網路)
為了使 2 個節點上的虛擬機器可以透過公共虛擬網路直接相互通信,我們使用 VXLAN(虚拟可扩展局域网)。 VXLAN 在實體網路上建立第 2 層隧道,讓不同主機上的虛擬機器充當同一個虛擬交換器。

步骤1:在kvm-node01上创建VXLAN接口:
# Tạo VXLAN interface với VNI 100 sudo ip link add vxlan100 type vxlan id 100 \ local 192.168.1.10 \ remote 192.168.1.11 \ dstport 4789 \ dev br0Bật interface
sudo ip link set vxlan100 up
步驟2:在kvm-node02上建立VXLAN介面:
# Tạo VXLAN interface với VNI 100 sudo ip link add vxlan100 type vxlan id 100
local 192.168.1.11
remote 192.168.1.10
dstport 4789
dev br0Bật interface
sudo ip link set vxlan100 up
步驟 3:為 VXLAN 建立網橋(在兩個節點上執行):
# Tạo bridge mới cho VXLAN sudo ip link add vxlan-br0 type bridge sudo ip link set vxlan-br0 upGắn VXLAN interface vào bridge
sudo ip link set vxlan100 master vxlan-br0
Verify
bridge link show
步驟 4:使用 Netplan 設定持久性:
建立文件 /etc/netplan/02-vxlan.yaml 上面 kvm節點01:
network: version: 2 tunnels: vxlan100: mode: vxlan id: 100 local: 192.168.1.10 remote: 192.168.1.11 port: 4789
bridges: vxlan-br0: interfaces: - vxlan100 mtu: 1450 parameters: stp: false forward-delay: 0
建立文件 /etc/netplan/02-vxlan.yaml 上面 kvm節點02:
network: version: 2 tunnels: vxlan100: mode: vxlan id: 100 local: 192.168.1.11 remote: 192.168.1.10 port: 4789
bridges: vxlan-br0: interfaces: - vxlan100 mtu: 1450 parameters: stp: false forward-delay: 0
應用程式配置:
sudo netplan applyVerify VXLAN
ip -d link show vxlan100 bridge link show
步驟 5:為 libvirt 定義 VXLAN 網路(兩個節點):
sudo tee /tmp/vxlan-network.xml << EOF <network> <name>vxlan-net</name> <forward mode="bridge"/> <bridge name="vxlan-br0"/> </network> EOFDefine và start network
sudo virsh net-define /tmp/vxlan-network.xml sudo virsh net-start vxlan-net sudo virsh net-autostart vxlan-net
Verify
sudo virsh net-list --all
步骤6:使用VXLAN网络创建虚拟机:
# Tạo VM với VXLAN network
sudo virt-install
--name vm-vxlan-01
--memory 2048
--vcpus 2
--disk path=/var/lib/libvirt/images/vm-vxlan-01.qcow2,size=20
--os-variant ubuntu22.04
--network network=vxlan-net
--graphics vnc
--cdrom /var/lib/libvirt/images/ubuntu-22.04.3-live-server-amd64.iso
--noautoconsole
⚠️ 注意MTU: 使用 VXLAN 的虛擬機器需要設定 MTU = 1450(由於 VXLAN 標頭約為 50 位元組)。虛擬機器中的配置:
测试VXLAN连接:
# Trên VM1 (kvm-node01) - IP: 10.10.10.101 ping 10.10.10.103 # Ping đến VM3 trên kvm-node02Kiểm tra VXLAN statistics
ip -s link show vxlan100
比較虛擬網路類型:
| 類型 | 使用案例 | 虛擬機器跨節點通信 | 隔離 |
|---|---|---|---|
| NAT(虛擬機器專用) | 简单的开发/测试 | ❌ 沒有 | ✅ 是的 |
| 桥 (br0) | 生产、局域网接入 | ✅ 透過區域網 | ❌ 沒有 |
| VXLAN 覆蓋 | 多節點叢集 | ✅ 直达L2 | ✅ 是的 |
步骤5:配置存储池
📚 執行以上操作 兩個節點
儲存池是儲存虛擬機器磁碟鏡像的地方。
建立儲存資料夾:
# Sử dụng thư mục mặc định sudo mkdir -p /var/lib/libvirt/imagesSet permissions
sudo chown -R libvirt-qemu:kvm /var/lib/libvirt/images sudo chmod -R 775 /var/lib/libvirt/images
儲存池定義:
# Tạo pool mới sudo virsh pool-define-as
--name default
--type dir
--target /var/lib/libvirt/imagesBuild và start pool
sudo virsh pool-build default sudo virsh pool-start default sudo virsh pool-autostart default
Verify
sudo virsh pool-list --all sudo virsh pool-info default
期望的輸出:
Name State Autostart
default active yes
步驟 6:設定主機名稱和 /etc/hosts
為了使兩個節點能夠透過主機名稱相互通信,需要進行配置 SSH 和主機名稱:
在 kvm-node01 上:
# Set hostname sudo hostnamectl set-hostname kvm-node01Cập nhật /etc/hosts
sudo nano /etc/hosts
127.0.0.1 localhost
192.168.1.10 kvm-node01
192.168.1.11 kvm-node02
在 kvm-node02 上:
# Set hostname sudo hostnamectl set-hostname kvm-node02Cập nhật /etc/hosts
sudo nano /etc/hosts
127.0.0.1 localhost
192.168.1.10 kvm-node01
192.168.1.11 kvm-node02
測試2個節點之間的連接:
# Từ kvm-node01 ping -c 3 kvm-node02Từ kvm-node02
ping -c 3 kvm-node01
第 7 步:建立第一個虛擬機
安裝後 鍵盤虛擬機 完成後,我們將建立第一個要使用的虛擬機 vm-私有虛擬網絡。
方法一:使用雲鏡像(快速)
雲端鏡像是預先安裝作業系統的磁碟鏡像,只需配置並啟動即可:
在 kvm-node01 上:
# Download Ubuntu Cloud Image cd /var/lib/libvirt/images sudo wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.imgTạo disk image cho VM
sudo qemu-img create -f qcow2
-F qcow2
-b jammy-server-cloudimg-amd64.img
vm-test-01.qcow2 20G
建立 cloud-init 配置:
# Tạo thư mục cho cloud-init sudo mkdir -p /var/lib/libvirt/cloud-initTạo file meta-data
sudo tee /var/lib/libvirt/cloud-init/meta-data << EOF instance-id: vm-test-01 local-hostname: vm-test-01 EOF
Tạo file user-data
sudo tee /var/lib/libvirt/cloud-init/user-data << EOF #cloud-config hostname: vm-test-01 users:
- name: ubuntu sudo: ALL=(ALL) NOPASSWD:ALL groups: users, admin home: /home/ubuntu shell: /bin/bash lock_passwd: false
chpasswd: list: | ubuntu:ubuntu123 expire: false
package_update: true packages:
- qemu-guest-agent
- curl
- wget
- vim
runcmd:
- systemctl enable qemu-guest-agent
- systemctl start qemu-guest-agent EOF
Tạo cloud-init ISO
sudo cloud-localds /var/lib/libvirt/images/vm-test-01-cidata.iso
/var/lib/libvirt/cloud-init/user-data
/var/lib/libvirt/cloud-init/meta-data
使用 vm-private 虛擬網路建立 VM:
sudo virt-install
--name vm-test-01
--memory 2048
--vcpus 2
--disk path=/var/lib/libvirt/images/vm-test-01.qcow2,format=qcow2
--disk path=/var/lib/libvirt/images/vm-test-01-cidata.iso,device=cdrom
--os-variant ubuntu22.04
--network network=vm-private
--graphics none
--import
--noautoconsole
💡 注意: 使用--network 網路=vm-private相反--網橋=br0供虛擬機器連接到虛擬網路。
檢查虛擬機器:
# List VMs virsh list --allXem IP của VM (VM sẽ nhận IP từ DHCP 10.10.10.x)
virsh domifaddr vm-test-01
Hoặc xem từ DHCP leases
sudo virsh net-dhcp-leases vm-private
Console vào VM
virsh console vm-test-01
Login: ubuntu / ubuntu123
Thoát console: Ctrl + ]
檢查虛擬機器中的網路:
# Sau khi login vào VM ip addr showOutput mẫu:
eth0: 10.10.10.101/24 (mạng ảo)
Test internet (qua NAT)
ping -c 3 google.com
Test ping đến host
ping -c 3 10.10.10.1
建立具有 2 個網路介面的 VM
如果您需要 VM 同時連接到虛擬網路(內部)和橋接連接(外部):
sudo virt-install
--name vm-dual-nic
--memory 2048
--vcpus 2
--disk path=/var/lib/libvirt/images/vm-dual-nic.qcow2,size=20,format=qcow2
--os-variant ubuntu22.04
--network network=vm-private
--network bridge=br0
--graphics vnc,listen=0.0.0.0
--cdrom /var/lib/libvirt/images/ubuntu-22.04.3-live-server-amd64.iso
--boot cdrom,hd
--noautoconsole

方法 2:從 ISO 安裝
# Download Ubuntu Server ISO (nếu chưa có) cd /var/lib/libvirt/images sudo wget https://releases.ubuntu.com/22.04/ubuntu-22.04.3-live-server-amd64.isoTạo VM với mạng ảo
sudo virt-install
--name vm-ubuntu-01
--memory 2048
--vcpus 2
--disk path=/var/lib/libvirt/images/vm-ubuntu-01.qcow2,size=20,format=qcow2
--os-variant ubuntu22.04
--network network=vm-private
--graphics vnc,listen=0.0.0.0,port=5901
--cdrom /var/lib/libvirt/images/ubuntu-22.04.3-live-server-amd64.iso
--boot cdrom,hd
--noautoconsole
連接VNC進行安裝:
# Xem VNC port sudo virsh vncdisplay vm-ubuntu-01Output: :1 (nghĩa là port 5901)
Kết nối từ máy khác bằng VNC client
Address: 192.168.1.10:5901
比較網路類型
| 網路類型 | 使用案例 | 虛擬機器IP | 外部訪問 |
|---|---|---|---|
| 虛擬機器專用 (NAT) | 開發、測試 | 10.10.10.x | 需要連接埠轉送 |
| br0(橋) | 生產、服務 | 192.168.1.x | 直接 |
| 雙網卡 | DMZ、多層應用程式 | 兩者都 | 選項 |
步驟 8:使用 virsh 管理虛擬機
創建完上述虛擬機器後 鍵盤虛擬機,你將管理它們 維爾什 命令。
管理虛擬網絡
# Liệt kê tất cả networks virsh net-list --allXem thông tin network
virsh net-info vm-private
Xem DHCP leases (IP đã cấp cho VMs)
virsh net-dhcp-leases vm-private
Xem cấu hình XML của network
virsh net-dumpxml vm-private
Start/Stop network
virsh net-start vm-private virsh net-destroy vm-private
Enable/Disable autostart
virsh net-autostart vm-private virsh net-autostart --disable vm-private
Xóa network
virsh net-undefine vm-private
基本指令
生命週期管理:
# Liệt kê tất cả VMs virsh list --allStart VM
virsh start vm-test-01
Shutdown graceful
virsh shutdown vm-test-01
Force stop (như rút điện)
virsh destroy vm-test-01
Reboot
virsh reboot vm-test-01
Suspend/Resume
virsh suspend vm-test-01 virsh resume vm-test-01
Autostart khi host boot
virsh autostart vm-test-01 virsh autostart --disable vm-test-01
虛擬機器資訊:
# Thông tin tổng quan virsh dominfo vm-test-01CPU và memory stats
virsh domstats vm-test-01
Network interfaces
virsh domiflist vm-test-01
Disk information
virsh domblklist vm-test-01
IP address
virsh domifaddr vm-test-01
快照
# Tạo snapshot virsh snapshot-create-as vm-test-01
--name "before-upgrade"
--description "Snapshot before system upgrade"Liệt kê snapshots
virsh snapshot-list vm-test-01
Revert về snapshot
virsh snapshot-revert vm-test-01 before-upgrade
Xóa snapshot
virsh snapshot-delete vm-test-01 before-upgrade
克隆虛擬機
# Shutdown VM trước khi clone virsh shutdown vm-test-01Clone VM
virt-clone
--original vm-test-01
--name vm-test-02
--auto-clone
刪除虛擬機
# Shutdown VM virsh shutdown vm-test-01Xóa VM definition và storage
virsh undefine vm-test-01 --remove-all-storage
步驟 9:配置嵌套虛擬化(可選)
嵌套 虛擬化 允許在虛擬機器內運行虛擬機器 - 當您想要測試時很有用 庫伯內斯 或 碼頭工人 在虛擬機器中。
對於英特爾 CPU:
# Tạo file config echo "options kvm_intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.confReload module
sudo modprobe -r kvm_intel sudo modprobe kvm_intel
Verify
cat /sys/module/kvm_intel/parameters/nested
Output: Y hoặc 1
對於 AMD CPU:
# Tạo file config echo "options kvm_amd nested=1" | sudo tee /etc/modprobe.d/kvm-amd.confReload module
sudo modprobe -r kvm_amd sudo modprobe kvm_amd
Verify
cat /sys/module/kvm_amd/parameters/nested
第 10 步:故障排除
常見錯誤
錯誤:“無法存取儲存檔案”
# Kiểm tra permissions ls -la /var/lib/libvirt/images/Fix permissions
sudo chown libvirt-qemu:kvm /var/lib/libvirt/images/.qcow2 sudo chmod 660 /var/lib/libvirt/images/.qcow2
錯誤:虛擬機器沒有 IP 位址
# Kiểm tra bridge brctl show ip addr show br0Trong VM, request DHCP
sudo dhclient -v
執行 virsh 時發生錯誤:“權限被拒絕”
# Thêm vào groups sudo usermod -aG libvirt,kvm $USERLogout và login lại
查看日誌:
# Libvirt logs sudo journalctl -u libvirtd -fQEMU logs cho specific VM
sudo tail -f /var/log/libvirt/qemu/vm-test-01.log
參考文獻
- 所有關於 KVM 的文章
- xdev.asia 上的駕駛艙
- xdev.asia 上的虛擬化
- xdev.asia 上的網絡
- QEMU 文檔
- xdev.asia 上的 Libvirt
- Ubuntu 伺服器指南
- KVM官方文檔
- VXLAN - Linux 核心文檔
如果您在安裝過程中遇到問題,請在下方留言!
