KVM虚拟机命令行常用操作及说明
1.首先验证CPU是否支持虚拟化
输入有vmx或svm就支持,支持虚拟化则就支持KVM
cat /proc/cpuinfo | egrep 'vmx|svm'
2.查看KVM模块是否加载
lsmod | grep kvm # kvm_intel 170086 0 # kvm 566340 1 kvm_intel # irqbypass 13503 1 kvm
3.安装KVM虚拟机
yum -y install qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install virt-viewer
qemu-kvm: KVM模块libvirt: 虚拟管理模块virt-manager: 图形界面管理虚拟机virt-install: 虚拟机命令行安装工具
我的centos7 系统是最小安装的没有安装GUI所以没有安装KVM图形管理程序
4.启动KVM虚拟机
systemctl enable --now libvirtd systemctl status libvirtd
5.创建虚拟机
virt-install --virt-type=kvm --name=centos7 --vcpus=4 --memory=1024 --location=/data/iso/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/centos7.qcow2,size=30,format=qcow2 --network bridge=virbr0 --graphics none --extra-args='console=ttyS0' --force
如有以下报错修改:/etc/libvirt/qemu.conf
## 直接在文件最后面添加即可 echo 'user = "root" group = "root" dynamic_ownership = 0 ' >> /etc/libvirt/qemu.conf # 重启 libvirtd 服务 systemctl restart libvirtd systemctl status libvirtd
报错:
[root@wangweili ~]# virt-install --virt-type=kvm --name=centos7.9 --vcpus=4 --memory=2048 --location=/root/wangwl/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/centos7.qcow2,size=30,format=qcow2 --network bridge=virbr0 --graphics none --extra-args='console=tty0 console=ttyS0,115200n8 serial' --force
WARNING 未检测到操作系统,虚拟机性能可能会受到影响。使用 --os-variant 选项指定操作系统以获得最佳性能。开始安装......
搜索文件 .treeinfo...... | 354 B 00:00:00
搜索文件 vmlinuz...... | 6.5 MB 00:00:00
搜索文件 initrd.img...... | 53 MB 00:00:00
正在分配 'centos7.qcow2' | 30 GB 00:00:00
ERROR 内部错误:qemu unexpectedly closed the monitor: 2023-06-28T07:40:12.582803Z qemu-kvm: -drive file=/root/wangwl/CentOS-7-x86_64-Minimal-2009.iso,format=raw,if=none,id=drive-ide0-0-1,readonly=on: could not open disk image /root/wangwl/CentOS-7-x86_64-Minimal-2009.iso: Could not open '/root/wangwl/CentOS-7-x86_64-Minimal-2009.iso': Permission denied
正在删除磁盘 'centos7.qcow2' | 0 B 00:00:00
域安装失败,您可以运行下列命令重启您的域:
'virsh start virsh --connect qemu:///system start centos7.9'
否则请重新开始安装。
6.设置虚拟机的启动停止等等
virsh console xxx # 进入指定的虚拟机,进入的时候还需要按一下回车 virsh start xxx # 启动虚拟机 virsh shutdown xxx # 关闭虚拟机 virsh destroy xxx # 强制停止虚拟机 virsh undefine xxx # 彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘 virsh autostart xxx # 设置宿主机开机时该虚拟机也开机 virsh autostart --disable xxx # 解除开机启动 virsh suspend xxx # 挂起虚拟机 virsh resume xxx # 恢复挂起的虚拟机 退出虚拟终端,按Ctrl + ]
7.克隆虚拟机
# 使用 virt-clone 克隆新的虚拟机(虚拟机需要先关闭) virt-clone -o njvm02 -n njvm03 -f /data/kvm-img/njvm03.img
8.克隆完查看 所有的虚拟机以及状态
virsh list --all
9.删除虚拟机
virsh undefine njvm01 virsh destroy njvm01
10.给虚拟机添加一块磁盘
qemu-img create -f qcow2 web-add.qcow2 20G # 临时添加磁盘 virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2 # 永久添加磁盘 virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2 --config
11.创建快照
virsh snapshot-create-as centos7 centos7_init
12.删除快照
virsh snapshot-delete centos7 centos7_init
13.查看centos7所有快照
virsh snapshot-list centos7
14.还原快照
virsh snapshot-revert centos7 centos7_init
15.扩容虚拟机内存
一般常用于修改虚拟机的内存大小。
注意修改之前要关闭虚拟机。
修改内存大小配置用以下命令:
virsh setmem centos7 16G --config
有时可能会报错:“错误:无效参数:无法将内存设置为高于最大内存”。
这时用下面命令设置最大内存:
virsh setmaxmem centos7 16G --config
然后再执行第一个命令。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。


最新评论