在CentOS 7上安装KVM(Kernelbased Virtual Machine)是一个涉及多个步骤的过程,以下是详细步骤:
环境准备
1、检查CPU是否支持虚拟化:使用命令lscpu | grep i vmx
或cat /proc/cpuinfo | egrep '(vmx|svm)'
来查看CPU是否支持Intel VT或AMDV虚拟化技术,如果输出中有“vmx”或“svm”,则表示支持。

2、更新系统软件包:执行命令yum update y
,确保系统软件包是最新的,这有助于避免在安装过程中出现依赖问题。
3、关闭防火墙和SELinux:为了简化安装过程,可以暂时关闭防火墙和SELinux,使用命令systemctl stop firewalld; systemctl disable firewalld; setenforce 0
来关闭它们。
安装KVM相关软件包
1、安装基本软件包:运行命令yum install y qemukvm libvirt virtinstall bridgeutils
,这将安装KVM、libvirt、virtinstall等必要的软件包。
2、启动并设置开机自启libvirtd服务:使用命令systemctl start libvirtd; systemctl enable libvirtd
,确保libvirt服务在系统重启后自动启动。
配置网络
1、创建桥接网络:默认情况下,libvirtd会创建一个基于br0
的网桥,可以使用brctl show
和virsh netlist
命令查看默认的桥接网络配置。
2、配置物理网卡为桥接模式:找到要桥接到局域网的物理网卡名称,例如ens33
,然后编辑其配置文件/etc/sysconfig/networkscripts/ifcfgens33
,添加一行BRIDGE=br0
,接着编辑/etc/sysconfig/networkscripts/ifcfgbr0
,添加以下内容:

DEVICE=br0
BOOTPROTO=dhcp
(或其他适当的网络配置)
ONBOOT=yes
TYPE=Bridge
DELAY=0
保存文件后,重启网络服务systemctl restart network
,并使用brctl show
命令验证桥接配置是否正确。

创建虚拟机
1、下载操作系统镜像:从官方网站或其他可靠来源下载所需的操作系统镜像文件,并将其上传到服务器上的某个目录,例如/var/lib/libvirt/images
。
2、使用virtinstall命令创建虚拟机:假设要创建一个名为centos7
的虚拟机,分配2GB内存、1个vCPU、40GB磁盘空间,并使用CentOS 7的镜像文件,命令如下:
virtinstall \
name centos7 \
ram 2048 \
vcpus 1 \
disk path=/var/lib/libvirt/images/centos7.qcow2,size=40 \
osvariant centos7.0 \
cdrom /var/lib/libvirt/images/CentOS7x86_64Minimal1708.iso \
network bridge=br0,model=virtio \
graphics vnc \
noautoconsole
3、连接到虚拟机控制台并安装操作系统:上述命令执行后,会显示虚拟机的控制台信息,包括VNC连接的IP地址和端口号,使用VNC客户端连接到该地址和端口,即可进入虚拟机的控制台进行操作系统的安装。
后续操作与管理
1、启动和管理虚拟机:安装完成后,可以使用virsh list all
命令查看所有虚拟机的状态,使用virsh start <虚拟机名>
启动虚拟机,使用virsh shutdown <虚拟机名>
关闭虚拟机等。
2、克隆虚拟机:如果需要创建多个相同的虚拟机,可以使用virtclone
命令克隆已存在的虚拟机。
以下是两个关于CentOS7中安装KVM的常见问题及解答:
问题1:安装KVM时提示“No package qemukvm available”怎么办?
解答:这可能是由于系统的软件源没有正确配置或者软件包缓存未更新导致的,尝试更新软件包缓存:yum clean all; yum makecache
,如果问题仍然存在,检查系统的软件源配置文件(通常是/etc/yum.repos.d/
目录下的文件),确保其中包含有效的CentOS官方软件源或其他可靠的第三方软件源,如果使用的是企业内部的私有软件源,请确认该软件源是否可用且包含所需的软件包。
问题2:如何查看虚拟机的网络配置?
解答:可以通过以下几种方法查看虚拟机的网络配置:
使用virsh命令:在命令行中输入virsh domiflist <虚拟机名>
,可以查看指定虚拟机的所有网络接口信息,包括接口名称、MAC地址、连接状态等。
登录虚拟机查看:通过VNC或其他远程桌面方式登录到虚拟机内部,然后使用常规的网络命令查看网络配置,如在Linux系统中使用ifconfig
或ip addr show
命令,在Windows系统中使用ipconfig
命令。