在CentOS系统中安装虚拟机(VM)是许多开发者和系统管理员常用的操作,尤其在进行环境隔离、测试部署或多任务管理时,本文将详细介绍在CentOS中安装虚拟机的完整流程,包括环境准备、软件选择、安装步骤及常见问题处理,帮助读者快速上手。

环境准备
在开始安装虚拟机之前,确保系统满足基本要求,CentOS版本建议选择7或以上,以获得更好的兼容性和稳定性,检查硬件资源,包括足够的CPU核心(建议至少2核)、内存(推荐8GB以上)和磁盘空间(至少50GB可用空间),确保系统已更新到最新版本,可通过运行sudo yum update -y完成,关闭SELinux和防火墙,以避免安装过程中的权限问题,命令为sudo setenforce 0和sudo systemctl stop firewalld。
选择虚拟化软件
在CentOS中,常用的虚拟化软件包括KVM(Kernel-based Virtual Machine)、VirtualBox和VMware,KVM是Linux原生的虚拟化技术,性能较高且与CentOS集成良好;VirtualBox适合个人用户,界面友好且免费;VMware则适合企业级应用,功能强大但需付费,本文以KVM为例,介绍其安装过程,因其与CentOS的兼容性最佳。
安装KVM虚拟化软件
安装KVM前,需确认CPU是否支持虚拟化技术,通过运行egrep -c 'vmx|svm' /proc/cpuinfo检查,若返回值大于0,则支持虚拟化,安装KVM及相关工具,命令为sudo yum install -y qemu-kvm libvirt virt-install bridge-utils,安装完成后,启动libvirtd服务并设置开机自启:sudo systemctl start libvirtd和sudo systemctl enable libvirtd。
创建虚拟机镜像
虚拟机镜像用于存储操作系统和文件,推荐使用qcow2格式,因其支持动态扩容和快照功能,通过以下命令创建一个20GB的镜像文件:qemu-img create -f qcow2 /var/lib/libvirt/images/centos-vm.qcow2 20G,若需调整大小,可使用qemu-img resize命令。
安装操作系统镜像
下载CentOS官方镜像文件(如CentOS-7-x86_64-Minimal-XXXX.iso),并放置在本地目录,使用virt-install命令创建虚拟机,示例命令如下:

sudo virt-install \ --name centos-vm \ --ram 2048 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/centos-vm.qcow2,format=qcow2 \ --cdrom /path/to/CentOS-7-x86_64-Minimal-XXXX.iso \ --network network=default \ --graphics spice
该命令指定了虚拟机名称、内存、CPU核心数、磁盘路径、镜像文件及网络配置,启动后,会弹出虚拟机窗口,按照提示完成操作系统安装。
配置虚拟机网络
默认情况下,虚拟机使用NAT模式,可访问外部网络但无法被外部访问,若需桥接模式(使虚拟机直接连接到物理网络),需配置网络桥接,编辑/etc/sysconfig/network-scripts/ifcfg-br0文件,添加以下内容:
DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes
然后修改物理网卡的配置,将其桥接到br0,重启网络服务后,虚拟机即可通过桥接模式联网。
管理虚拟机
安装完成后,可通过virsh命令管理虚拟机,常用命令包括:virsh list(列出运行中的虚拟机)、virsh start centos-vm(启动虚拟机)、virsh shutdown centos-vm(关闭虚拟机)及virsh undefine centos-vm(删除虚拟机配置),使用virt-manager图形工具可更直观地管理虚拟机,通过运行sudo yum install -y virt-manager安装。
常见问题处理
在安装过程中,可能会遇到无法启动虚拟机或网络不通的问题,检查libvirtd服务是否正常运行;确认镜像文件路径是否正确;验证网络配置是否合理,若仍无法解决,可查看日志文件/var/log/libvirt/qemu/centos-vm.log定位错误。

FAQs
Q1: 安装KVM时报错“Module kvm not found”如何解决?
A1: 此错误通常表示CPU未开启虚拟化支持,请进入BIOS设置,开启Intel VT-x或AMD-V选项,若BIOS中已开启但仍报错,尝试加载内核模块:sudo modprobe kvm。
Q2: 虚拟机无法连接互联网,如何排查?
A2: 首先检查虚拟机网络模式是否为NAT或桥接;确认物理网络是否正常;使用ping命令测试网络连通性,若为NAT模式,可尝试重启libvirtd服务或重新配置网络桥接。