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 \ # 内存大小(MB)
--vcpus 2 \ # CPU核心数
--disk path=/var/lib/libvirt/images/myvm.qcow2,size=10 \ # 磁盘路径及大小(GB)
--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并重启)。