KVM (Kernel-based Virtual Machine) 將 Linux 核心轉為 Hypervisor,需 CPU 支援虛擬化擴展 (Intel VT-x / AMD-V)。本文以 CentOS 5.5 為例,涵蓋硬體檢查、套件安裝、BIOS 設定、橋接網路配置、virt-manager 圖形化建立虛擬機全流程。
cat /proc/cpuinfo | grep flags
# 輸出包含以下任一即支援:
# vmx → Intel VT-x
# svm → AMD-V
# 若無輸出,CPU 不支援或 BIOS 未啟用,無法使用 KVM (僅能用 QEMU 軟體模擬,效能極差)
# 掛載安裝光碟
mount /dev/cdrom /mnt
# 配置本地 yum 源 (c5-media)
# /etc/yum.repos.d/CentOS-Media.repo 已預設
# 安裝 KVM 群組套件
yum --disablerepo=* --enablerepo=c5-media groupinstall 'KVM'
# 核心套件包含:
# qemu-kvm, libvirt, virt-manager, virt-install, python-virtinst, bridge-utils 等
# 方法一:lsmod
lsmod | grep kvm
# kvm_intel 86920 0
# kvm 226208 2 ksm,kvm_intel
# 方法二:libvirt 連線測試
virsh -c qemu:///system list
# Id Name State
# --------------------
# 無錯誤即正常
若 lsmod 無輸出,**重啟系統** 後再檢查 (核心模組需重啟載入)。
重啟進入 BIOS 設定:
cd /etc/sysconfig/network-scripts/
# 備份原實體介面配置
cp ifcfg-eth0 ifcfg-br0
# 編輯 ifcfg-eth0 (實體介面 → 純橋接端口)
vi ifcfg-eth0
DEVICE=eth0
# BOOTPROTO=none ← 註解
# HWADDR=xx:xx:xx:xx:xx:xx ← 註解
ONBOOT=yes
# TYPE=Ethernet ← 註解
BRIDGE=br0 # 關鍵:指定隸屬橋介面
# NETMASK=... ← 註解
# IPADDR=... ← 註解
# GATEWAY=... ← 註解
# 編輯 ifcfg-br0 (橋介面 → 擁有 IP 設定)
vi ifcfg-br0
DEVICE=br0
BOOTPROTO=none # 靜態 IP
HWADDR=xx:xx:xx:xx:xx:xx # 可選,複製自 eth0
ONBOOT=yes
TYPE=Bridge # 關鍵:橋介面類型
NETMASK=255.255.255.0
IPADDR=192.168.0.32 # 實體機原 IP
GATEWAY=192.168.0.1
# 重啟網路生效
service network restart
ifconfig # 驗證 br0 擁有 IP,eth0 無 IP 但 UP
/var/lib/libvirt/images/rm /var/lib/libvirt/images/vm.img| 模式 | 適用場景 | 虛擬機 IP 來源 | 外部存取 |
|---|---|---|---|
| 橋接 | 伺服器虛擬化、需同網段直連 | 實體 DHCP/靜態 | 直接可達 |
| NAT | 桌面測試、預設隔離 | libvirt 虛擬 DHCP (192.168.122.x) | 需埠轉發 |
| Host-only | 隔離測試環境 | libvirt 虛擬 DHCP | 僅宿主機可達 |