1. 准备工作:确认虚拟化支持并安装必要工具
在CentOS主机上使用命令行管理虚拟机前,需确保CPU支持虚拟化(通过grep -E '(vmx|svm)' /proc/cpuinfo命令检查,若有输出则表示支持),并安装KVM、libvirt等核心工具:
sudo yum install -y qemu-kvm libvirt libvirt-client virt-install virt-viewer
安装完成后,启动并设置libvirtd服务开机自启:
sudo systemctl start libvirtd
sudo systemctl enable libvirtd
2. 查看虚拟机状态
使用virsh list --all命令列出所有虚拟机(包括运行中、关机及暂停状态),dominfo <虚拟机名称>可查看指定虚拟机的详细信息(如CPU、内存、状态等):
virsh list --all # 查看所有虚拟机
virsh dominfo my_vm # 查看“my_vm”的详细信息
3. 控制虚拟机电源状态
virsh start <虚拟机名称>(如virsh start my_vm);virsh shutdown <虚拟机名称>(模拟物理机按电源键关机,需Guest OS支持ACPI);virsh destroy <虚拟机名称>(立即终止虚拟机,类似拔电源,慎用);virsh reboot <虚拟机名称>。4. 配置虚拟机自动启动
若需虚拟机随主机开机自动启动,可使用autostart命令:
virsh autostart <虚拟机名称> # 启用自动启动
virsh autostart --disable <虚拟机名称> # 禁用自动启动
5. 连接虚拟机串行控制台
通过virsh console命令连接虚拟机的串行控制台(需Guest OS开启串口支持,如内核参数console=ttyS0),退出控制台时按Ctrl + ]:
virsh console my_vm # 连接“my_vm”的串口控制台
6. 创建新虚拟机(命令行方式)
使用virt-install命令快速创建虚拟机(以安装CentOS为例),关键参数说明:
--name:虚拟机名称(如my_vm);--ram:内存大小(单位:MB,如2048表示2GB);--disk:磁盘配置(path指定存储路径,size指定容量,单位:GB);--vcpus:虚拟CPU数量(如2);--os-type:操作系统类型(如linux);--os-variant:操作系统变体(如centos7.0,需匹配安装源版本);--network:网络配置(network=default表示使用默认NAT网络);--graphics none:无图形界面(适合命令行安装);--console:配置串口控制台(用于安装过程中交互);--location:安装源路径(如CentOS ISO文件的本地路径或HTTP地址);--extra-args:传递给安装程序的额外参数(如设置串口终端)。示例命令:
sudo virt-install \
--name my_vm \
--ram 2048 \
--disk path=/var/lib/libvirt/images/my_vm.qcow2,size=10 \
--vcpus 2 \
--os-type linux \
--os-variant centos7.0 \
--network network=default \
--graphics none \
--console pty,target_type=serial \
--location 'http://mirror.centos.org/centos/7/os/x86_64/' \
--extra-args 'console=ttyS0,115200n8 serial'
7. 管理虚拟机存储与网络
pool-list列出所有存储池,vol-list <存储池名称>列出指定存储池中的卷(如vol-list default);net-list列出所有虚拟网络(如net-list显示默认的NAT网络)。8. 监控虚拟机资源使用
virt-top命令提供类似top的实时视图,显示虚拟机的CPU、内存、磁盘I/O等资源占用情况;dommemstat <虚拟机名称>查看内存使用,domstats <虚拟机名称>查看综合统计(如CPU、磁盘、网络)。常用技巧
virsh list --all查看;virsh edit <虚拟机名称>(需谨慎操作,避免语法错误);virsh undefine <虚拟机名称>(彻底删除配置,若需同时删除磁盘文件,需手动删除/var/lib/libvirt/images/下的对应文件)。