Skip to main content
 首页 » DevOps

吃透KVM创建虚机和KVM命令

2022年07月27日152zhengyun_ustc
1.创建虚拟机 
1.1创建虚拟机磁盘 
#使用qemu命令来创建磁盘 
qemu-img create -f qcow2 /var/lib/libvirt/images/centos7.2.qcow2 20G 
1.2创建虚拟机 
--virt-type kvm  类型 KVM 
--name VM的名称 
--ram  内存 
--cpu  2个CPU 
path  VM光盘路径 
--network  默认是defalut,NAT 
--graphics 图形:VNC, 
listen     0.0.0.0 
noautoconsole 
# virt-install --virt-type kvm --name centos7.2 --ram 1024 --cpus 2 --cdrom=/data/isos/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/centos7.2.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --os-variant=centos7.0 
 
开始安装...... 
域安装仍在进行。您可以重新连接 
到控制台以便完成安装进程。 
 
#等待打开virt-manager即可跟装普通VM一样。 
2.virsh常用命令. 
# virsh -- help 
# virsh list #默认列出只在运行的VM 
 Id   名称             状态 
-------------------------------- 
 1    centos-7.2-vm2   running 
 
# virsh list --all   查看所有的虚拟机 
 Id   名称             状态 
-------------------------------- 
 1    centos-7.2-vm2   running 
 -    centos7.0        关闭 
 -    centos7.2-1      关闭 
 -    centos7.2-2      关闭 
 -    centos8          关闭 
--state-running 
# virsh list  --state-running  列出正在运行的VM 
 Id   名称             状态 
-------------------------------- 
 1    centos-7.2-vm2   running 
 
--state-shutoff  #查看已经关闭的VM 
# virsh list --state-shutoff 
 Id   名称          状态 
-------------------------- 
 -    centos7.0     关闭 
 -    centos7.2-1   关闭 
 -    centos7.2-2   关闭 
 -    centos8       关闭 
 
# virsh shutdown 1        #正常关闭VM 
域 1 被关闭 
# virsh start centos7.2-2  启动VM 
域 centos7.2-2 已开始 
# virsh destroy 2  强制关机,相当于断电 
域 2 被删除 
 
2.1通过UUID来启动关闭VM 
# virsh domuuid centos7.0     查看指定机器的UUID 
ce92736d-1f49-446e-ae42-68a5a4f195ce 
 
# virsh start cdc0a14a-7f9d-4c7d-a6ea-1646b94c0c32 通过UUID启动VM 
域 centos8 已开始 
 
# virsh list    #查看状态 
 Id   名称      状态 
------------------------- 
 3    centos8   running 
 
# virsh shutdown cdc0a14a-7f9d-4c7d-a6ea-1646b94c0c32 通过UUID关闭VM 
域 cdc0a14a-7f9d-4c7d-a6ea-1646b94c0c32 被关闭 
 
2.2暂停和恢复VM 
# virsh list 
 Id   名称          状态 
----------------------------- 
 4    centos7.2-1   running 
  
  
# virsh suspend centos7.2-1 
域 centos7.2-1 被挂起 
 
# virsh list 
 Id   名称          状态 
-------------------------- 
 4    centos7.2-1   暂停 
 
#虚拟机暂停后,宿主机还存在相关进程 
# ps aux | grep kvm 
/usr/libexec/qemu-kvm -name guest=centos7.2-1,debug-threads=on -S -object secret,...... 
 
# virsh resume 4  恢复VM 
域 4 被重新恢复 
 
2.3配置VM开机自动启动 
# virsh autostart centos8  配置开机启动 
域 centos8标记为自动开始 
 
# virsh autostart 4 --disable  取消开启自启动 
域 4取消标记为自动开始 
#在virt-manager也可以配置VM开机自启动,勾选中主机引导时启动虚拟机即可。 
2.4查看VM的配置 
#每个VM配置文件都存放在/etc/libvirt/qemu目录下的xml文件中 
# ls /etc/libvirt/qemu/ -l 
#查看指定虚拟机的配置 
#virsh dumpxml centos8 
<domain type='kvm'> 
  <name>centos8</name> 
  <uuid>cdc0a14a-7f9d-4c7d-a6ea-1646b94c0c32</uuid> 
  <metadata> 
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> 
      <libosinfo:os id="http://centos.org/centos/8"/> 
    </libosinfo:libosinfo> 
  </metadata>

本文参考链接:https://www.cnblogs.com/xunweidezui/p/14803042.html