使用KVM创建CentOS虚拟机
环境准备
在开始之前,确保你的系统支持虚拟化技术,首先检查CPU是否支持虚拟化扩展(Intel VT-x或AMD-V),可以通过以下命令验证:

egrep -c '(vmx|svm)' /proc/cpuinfo
如果返回值大于0,说明CPU支持虚拟化,安装必要的KVM软件包,以CentOS系统为例,使用以下命令安装:
sudo yum install -y qemu-kvm libvirt virt-install bridge-utils
安装完成后,启动libvirtd服务并设置为开机自启:
sudo systemctl start libvirtd sudo systemctl enable libvirtd
创建存储池
虚拟机的磁盘文件需要存储在指定的目录中,首先创建一个存储池,例如在/var/lib/libvirt/images目录下:
sudo mkdir -p /var/lib/libvirt/images sudo virsh pool-define-as --name default --type dir --target /var/lib/libvirt/images sudo virsh pool-start default sudo virsh pool-autostart default
下载CentOS镜像
从CentOS官网下载所需的ISO镜像文件,例如CentOS 7的DVD镜像,建议将镜像文件放在存储池目录中,便于后续管理:

sudo wget -P /var/lib/libvirt/images https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso
创建虚拟机磁盘
为虚拟机分配磁盘空间,例如20GB:
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/centos7.qcow2 20G
安装虚拟机
使用virt-install命令安装虚拟机,以下是一个示例命令,你可以根据需求调整参数:
sudo virt-install --name centos7 --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/centos7.qcow2,size=20 --cdrom /var/lib/libvirt/images/CentOS-7-x86_64-DVD-2003.iso --network bridge=virbr0 --graphics spice --os-type linux --os-variant centos7.0
参数说明:
--name:虚拟机名称。--ram:分配的内存大小(MB)。--vcpus:虚拟CPU核心数。--disk:磁盘路径和大小。--cdrom:ISO镜像路径。--network:网络模式,virbr0是默认的NAT网络。
完成安装
启动安装程序后,会弹出一个图形化窗口,按照提示完成CentOS的安装过程,安装完成后,重启虚拟机并移除ISO镜像:

sudo virsh destroy centos7 sudo virsh attach-disk centos7 --type cdrom --mode readonly /dev/null sudo virsh start centos7
配置网络
默认情况下,虚拟机使用NAT模式,可以通过端口转发或设置桥接网络实现外部访问,以下是桥接网络的配置步骤:
- 编辑网络配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0,将BOOTPROTO设置为static,并配置IP地址。 - 重启网络服务:
sudo systemctl restart network。
常用管理命令
- 列出虚拟机:
sudo virsh list --all - 启动虚拟机:
sudo virsh start centos7 - 关闭虚拟机:
sudo virsh shutdown centos7 - 强制关闭:
sudo virsh destroy centos7 - 删除虚拟机:
sudo virsh undefine centos7
FAQs
Q1: 如何在KVM虚拟机中实现文件共享?
A1: 可以使用virtio-win驱动或配置SSH文件传输,首先安装virtio-win驱动,然后在Windows虚拟机中安装驱动程序,对于Linux虚拟机,可以通过ssh或nfs实现共享,也可以使用libguestfs工具挂载虚拟机磁盘进行文件操作。
Q2: 虚拟机无法连接网络怎么办?
A2: 检查网络模式是否正确(NAT或桥接),确认virbr0网桥是否正常启动,可以尝试重启网络服务:sudo systemctl restart libvirtd,如果问题依旧,检查防火墙设置或手动配置IP地址。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复