KVM常用命令详解

目录

查看kvm镜像的格式信息

镜像扩容

查看镜像信息

虚拟机快照

克隆虚拟机

添加磁盘

查看kvm镜像的格式信息

[root@localhost kvm_a]# qemu-img info kvm_a.qcow2
image: kvm_a.qcow2
file format: qcow2
virtual size: 200G (214748364800 bytes)
disk size: 88G
cluster_size: 65536

镜像扩容

[root@localhost kvm_a]# qemu-img resize kvm_a.qcow2 +100G
Image resized.
[root@localhost kvm_a]# qemu-img info kvm_a.qcow2
image: kvm_a.qcow2
file format: qcow2
virtual size: 300G (322122547200 bytes)
disk size: 88G
cluster_size: 65536
​
# 减小
[root@localhost kvm_a]# qemu-img resize kvm_a.qcow2 -100G
This image format does not support resize
# 由于qcow2格式不支持空间减少,所以要使用raw格式。
[root@localhost kvm_a]# qemu-img convert -O raw kvm_a.qcow2  kvm_a.qcow2
qemu-img create -f qcow2 ldeng.qcow2 40G

查看镜像信息

[root@localhost kvm_a]# qemu-img info kvm_a.qcow2
image: kvm_a.qcow2
file format: raw
virtual size: 300G (429496729600 bytes)
disk size: 88G
[root@localhost kvm_a]# qemu-img resize kvm_a.qcow2  -100G
Image resized.
[root@localhost kvm_a]# qemu-img info kvm_a.qcow2
image: kvm_a.qcow2
file format: raw
virtual size: 200G (214748364800 bytes)
disk size: 88G

虚拟机快照

# 创建快照
[root@localhost kvm_a]# virsh snapshot-create name
virsh snapshot-create-as 虚拟机名 快照名
​
# 查看快照
[root@localhost kvm_a]# virsh snapshot-list name
[root@localhost kvm_a]# qemu-img info name
​
# 快照恢复
[root@localhost kvm_a]# virsh snapshot-revert 虚拟机名 快照名
# 快照删除
[root@localhost kvm_a]# virsh snapshot-delete 虚拟机名 快照名

克隆虚拟机

#关闭虚拟机
[root@kvm-node1 ~]# virsh  shutdown node-01
#或
[root@kvm-node1 ~]# virsh  destroy  node-01
#查看虚拟机
[root@kvm-node1 ~]# virsh    list --all
 Id    Name                           State
----------------------------------------------------
 3     node02                         running
 -     node-01                        shut off
 
# 克隆xml文件
[root@kvm-node1 ~]# virsh dumpxml node-01 > /etc/libvirt/qemu/node03.xml
[root@kvm-node1 ~]# ll /etc/libvirt/qemu/
total 12
drwx------. 3 root root   42 Apr 28  2021 networks
-rw-------  1 root root 3645 May 17  2022 node-01.xml
-rw-------  1 root root 3642 May 17 16:48 node02.xml
-rw-r--r--  1 root root 3421 May 17 16:58 node03.xml
# 复制kvm虚拟机磁盘文件
[root@kvm-node1 img]# cp node01.img node03.img
[root@kvm-node1 img]# ls
node01.img  node02.img  node03.img
[root@kvm-node1 img]# du -sh * 
2.1G    node01.img
2.1G    node02.img
2.1G    node03.img
# 直接编辑修改配置文件(修改uuid,虚拟机name,网卡mac,硬盘source file,vnc端口号等)
[root@kvm-node1 img]# vi /etc/libvirt/qemu/node03.xml
# 重新定义新虚拟机的配置文件
[root@kvm-node1 img]# virsh define /etc/libvirt/qemu/node03.xml
Domain node03 defined from /etc/libvirt/qemu/node03.xml
[root@kvm-node1 img]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 3     node02                         running
 -     node-01                        shut off
 -     node03                         shut off
 # 启动虚拟机,修改ip、修改hostname
 #开启虚拟机
[root@kvm-node1 img]# virsh  start node03
Domain node03 started
#连接虚拟机
[root@kvm-node1 img]# virsh  console node03
​
# 2
[root@kvm-node1 img]# virt-clone -o module-1 -n Trinode4 -f ../Trinode4/Trinode4.qcow2

添加磁盘

virsh edit iex.land 
#编辑虚拟机 xml文件 (虚拟机的所有配置文件都存放在/etc/libvirt/qemu)
#找到磁盘相关配置 关键词 disk  新增下面一段
​
注意其中type表示硬盘的格式
file表示硬盘所在的路径
dev表示硬盘在系统中显示的硬盘名称
bus表示硬盘的接线类型,如果是windows系统一般是ide。
​
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/data/vms/iex.land-1.qcow2'/>
      <target dev='vdb' bus='virtio'/>
    </disk>

版权声明:本文为m0_52148388原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。