CentOS系統虛擬化配置指南(基于KVM)
虛擬化是提升服務器資源利用率的關鍵技術,CentOS通過KVM(Kernel-based Virtual Machine)提供原生虛擬化支持。以下是詳細的配置步驟:
虛擬化功能依賴CPU的硬件加速,需先確認CPU是否開啟虛擬化特性。執行以下命令:
egrep -c '(vmx|svm)' /proc/cpuinfo
若輸出結果大于0(如2
),則表示CPU支持虛擬化(vmx
為Intel VT-x,svm
為AMD-V);若為0
,需進入BIOS/UEFI設置開啟虛擬化選項(通常位于“Advanced”→“Virtualization Technology”)。
KVM虛擬化需要核心組件、管理工具和網絡支持,執行以下命令安裝:
sudo yum install -y qemu-kvm libvirt virt-install bridge-utils
qemu-kvm
:KVM核心驅動,負責虛擬機的CPU和內存虛擬化;libvirt
:虛擬化管理API,提供virsh
等命令行工具;virt-install
:用于快速創建虛擬機的命令行工具;bridge-utils
:網絡橋接工具,用于配置虛擬機直連外網。libvirtd是KVM的管理守護進程,需啟動并設置為開機自啟:
sudo systemctl start libvirtd
sudo systemctl enable libvirtd
驗證服務狀態:
sudo systemctl status libvirtd
若顯示“active (running)”,則表示服務已正常運行。
默認情況下,虛擬機通過NAT模式訪問網絡(僅主機可訪問虛擬機)。若需虛擬機直接連接外網(如作為服務器),需配置橋接網絡:
eth0
為例,根據實際網卡名稱調整):sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改為以下內容(保留原有UUID、IP等信息,添加橋接配置):DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0
ONBOOT=yes
sudo vi /etc/sysconfig/network-scripts/ifcfg-br0
添加以下內容(根據實際網絡環境調整IP、網關、DNS):DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
sudo systemctl restart network
brctl show
若輸出中包含br0
和eth0
的綁定關系,則表示橋接配置成功。使用virt-install
命令快速創建虛擬機(以安裝CentOS 8為例):
sudo virt-install \
--name myvm \ # 虛擬機名稱
--ram 2048 \ # 內存大?。∕B)
--vcpus 2 \ # CPU核心數
--disk path=/var/lib/libvirt/images/myvm.qcow2,size=10 \ # 磁盤路徑及大?。℅B)
--os-type linux \ # 操作系統類型
--os-variant centos8 \ # 操作系統變種(根據ISO版本選擇)
--network bridge=br0 \ # 使用橋接網絡(或改為default使用NAT)
--graphics spice \ # 圖形界面(可選:vnc/spice)
--cdrom /path/to/CentOS-8.iso # ISO鏡像路徑
--graphics spice
替換為--graphics none --console pty,target_type=serial
,通過串口控制臺安裝;virsh list --all
若輸出中包含剛創建的虛擬機(如myvm
),且狀態為“running”,則表示虛擬化配置成功;virt-manager
打開遠程桌面;若使用串口控制臺,執行:virsh console myvm
輸入虛擬機安裝時設置的用戶名和密碼即可登錄。libvirtd
服務是否運行(systemctl status libvirtd
),或查看虛擬機日志(virsh dumpxml myvm
);brctl show
),或檢查物理網卡是否支持橋接;/etc/default/grub
,在GRUB_CMDLINE_LINUX
中添加intel_iommu=on
,然后執行grub2-mkconfig -o /boot/grub2/grub.cfg
并重啟)。