一、准备工作:安装KVM及必要工具
在CentOS中创建和管理虚拟机(以KVM为例),需先确保系统支持虚拟化并安装核心工具。
grep -E '(vmx|svm)' /proc/cpuinfo
,若输出结果大于0,则CPU支持硬件虚拟化。sudo yum install -y qemu-kvm libvirt libvirt-client virt-install virt-viewer bridge-utils
,安装KVM模块、虚拟化管理工具及桥接网络支持。sudo systemctl start libvirtd
启动服务,sudo systemctl enable libvirtd
设置开机自启。lsmod | grep kvm
,若显示kvm_intel
(Intel CPU)或kvm_amd
(AMD CPU),则KVM模块加载成功。二、创建虚拟机:命令行(virt-install)与图形化(virt-manager)
使用virt-install
命令快速创建虚拟机,示例如下:
sudo virt-install \
--name my_vm \ # 虚拟机名称
--ram 2048 \ # 内存大小(MB)
--vcpus 2 \ # 虚拟CPU核心数
--disk path=/var/lib/libvirt/images/my_vm.qcow2,size=20 \ # 磁盘路径及大小(GB)
--os-type linux \ # 操作系统类型
--os-variant centos7.0 \ # 操作系统变体(匹配CentOS版本)
--network bridge=virbr0 \ # 网络模式(virbr0为默认NAT网络,可替换为br0桥接)
--graphics spice \ # 图形界面(spice支持远程桌面)
--cdrom /path/to/CentOS-7-x86_64-DVD.iso \ # ISO镜像路径
--noautoconsole # 不自动连接控制台
该命令会创建一台名为my_vm
的虚拟机,配置2GB内存、2核CPU、20GB磁盘,并通过网络安装CentOS。
若偏好图形界面,可通过virt-manager
工具创建:
sudo yum install -y virt-manager
virt-manager
(需图形环境)三、管理虚拟机:核心命令(virsh)
virsh
是KVM虚拟化管理的核心命令行工具,覆盖虚拟机全生命周期管理:
virsh list --all
(显示所有虚拟机,包括运行/关闭状态)。virsh start <vm-name>
(启动指定虚拟机)、virsh shutdown <vm-name>
(优雅关闭)。virsh destroy <vm-name>
(强制断电关闭,类似物理机拔电源)、virsh reboot <vm-name>
(重启虚拟机)。virsh autostart <vm-name>
(虚拟机随宿主机启动而自动启动)、virsh autostart --disable <vm-name>
(取消自启)。virsh console <vm-name>
(连接虚拟机串口控制台,需在虚拟机内开启串口日志,如console=ttyS0
)。virsh undefine <vm-name>
(仅删除虚拟机定义,保留磁盘文件)、virsh undefine <vm-name> --remove-all-storage
(彻底删除虚拟机及关联磁盘)。virsh edit <vm-name>
(修改虚拟机XML配置,如调整CPU、内存、网络等,需注意语法正确性)。四、存储与网络管理
virsh pool-list --all
(显示所有存储池,默认default
池路径为/var/lib/libvirt/images/
)。virsh vol-list <pool-name>
(如virsh vol-list default
,显示指定池内的磁盘卷)。virsh pool-define-as --name my_pool --type dir --target /path/to/pool
,然后启动池virsh pool-start my_pool
。virsh net-list --all
(显示所有虚拟网络,默认default
为NAT网络)。/etc/sysconfig/network-scripts/ifcfg-br0
(桥接接口配置),重启网络使桥接生效。五、可选:Web界面管理(Cockpit)
若需更便捷的Web管理,可安装Cockpit:
sudo yum install -y cockpit cockpit-machines
。sudo systemctl start cockpit
,sudo systemctl enable cockpit
。https://<主机IP>:9090
,登录后点击“虚拟机”即可管理KVM虚拟机。