管理kvm虚拟机的常用命令

kvm的搭建,请参考之前所发布的文章:https://blog.csdn.net/Bilise/article/details/104660754

virsh的简单使用

virsh list --all		//查看当所有kvm虚拟机列表
virsh start [虚拟机名] 		//启动虚拟机
virsh shutdown [虚拟机名]		//关闭虚拟机
virsh destroy [虚拟机名] 		//强制停止虚拟机
virsh undefine [虚拟机名] 		//删除虚拟机,但不会删除虚拟机所在的磁盘文件
virsh autostart [虚拟机名] 		//设置kvm的虚拟机开机自启
virsh autostart --disable [虚拟机名] 		//解除开机自启
virsh suspend [虚拟机名] 		//挂起虚拟机
virsh resume [虚拟机名] 		//恢复挂起的虚拟机
virt-clone -o [克隆的主机] -n [克隆后的主机名] -f [克隆的的虚拟机存放的位置] 		//虚拟机克隆
virsh snapshot-create [虚拟机名] 		//创建快照
virsh snapshot-list [虚拟机名] 		//列出快照
virsh snapshot-revert [虚拟机名] [快照名] 		//恢复快照
virsh snapshot-delete [虚拟机名] [快照名]		//删除快照

更改虚拟机的配置(需先关闭虚拟机)

virsh edit [虚拟机名]

例:将centos7.0的机子改为20G磁盘空间和2个cpu

[root@raid newdisk]# virsh list --all //查询虚拟机状态
 Id    Name                           State
----------------------------------------------------
 1     centos7.0                      running

[root@raid newdisk]# virsh shutdown centos7.0 	//关掉虚拟机
Domain centos7.0 is being shutdown

[root@raid newdisk]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7.0                      shut off

[root@raid newdisk]# virsh edit centos7.0 

<domain type='kvm'>
  <name>centos7.0</name>
  <uuid>3a8e5625-8c43-400c-b109-e471896ca6a0</uuid>
  <memory unit='KiB'>2097152</memory>	//此行设置kvm虚拟机的磁盘空间,请注意计量单位
  <currentMemory unit='KiB'>2097152</currentMemory>
  <vcpu placement='static'>2</vcpu>	//此行是cpu分配的数量
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>


[root@raid newdisk]# virsh start centos7.0 	//改完后和vi编辑器一样保存退出,并重启kvm虚拟机
Domain centos7.0 started

[root@raid newdisk]# virsh dominfo centos7.0 //查看kvm虚拟机的信息
Id:             2
Name:           centos7.0
UUID:           3a8e5625-8c43-400c-b109-e471896ca6a0
OS Type:        hvm
State:          running
CPU(s):         2		//cpu数量以设置为两个
CPU time:       19.6s
Max memory:     2097152 KiB		//虚拟机磁盘容量
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: selinux
Security DOI:   0
Security label: system_u:system_r:svirt_t:s0:c61,c266 (permissive)

增加网卡接口

[root@raid newdisk]# virsh domiflist centos7.0 //列出此虚拟机的所有网卡
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br0        virtio      52:54:00:82:ab:7c

创建网口

virsh attach-interface [kvm主机名] --type bridge --source br0 --model virtio --config 	//下次启动生效

virsh attach-interface [kvm主机名] --type bridge --source br0 --model virtio --current  	//立即生效

virsh detach-interface [kvm主机名] --type bridge --mac [自定义mac地址] --config 	//下次启动生效

virsh detach-interface [kvm主机名] --type bridge --mac [自定义mac地址] --current  	//立即生效

关闭或打开某个网口

virsh domif-setlink [kvm主机名] [网卡名] down

virsh domif-setlink [kvm主机名] [网卡名] up

获取某个网口状态

[root@raid newdisk]# virsh domiflist centos7.0 
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br0        virtio      52:54:00:82:ab:7c
vnet1      bridge     br0        virtio      52:54:00:62:d3:e6

列出所有的块设备

virsh domblklist domain
[root@raid newdisk]# virsh domblklist centos7.0 
Target     Source
------------------------------------------------
vda        /home/newdisk/centos7.0.qcow2
hda        -


qemu-img的使用

1、创建镜像

qemu-img create -f [文件类型] [文件名] [大小]

例:使用qemu-img创建一个存储空间为3GB,格式为qcow2的镜像文件test2.qcow2

[root@raid newdisk]# qemu-img create -f qcow2 test.qcow2 3G
Formatting 'test.qcow2', fmt=qcow2 size=3221225472 encryption=off cluster_size=65536 lazy_refcounts=off 

2、检查镜像是否正常

qemu-img check [镜像名]

例:检查镜像 test2.qcow2是否正常

[root@raid newdisk]# qemu-img check test.qcow2
No errors were found on the image.
Image end offset: 262144

3、查看镜像信息

qumu-img info [镜像文件名]

例:查看刚刚创建的test.qcow2的信息

[root@raid newdisk]# qemu-img info test.qcow2 
image: test.qcow2	//镜像文件名
file format: qcow2	//镜像文件格式
virtual size: 3.0G (3221225472 bytes)	//镜像文件大小
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

4、转化镜像的格式

qemu-img convert [-c] -f [原镜像格式] -O [输出镜像格式] [原镜像文件名] [转化后的新文件名]

-f 表示原有的镜像格式
-O 表示输出的镜像格式
-c 对输出的镜像文件进行压缩,不过只有qcow2和qcow格式的镜像文件才支持压缩,而且这种压缩是只读的,如果压缩的扇区被重写,则会被重写为未压缩的数据

例:转化镜像(Convert) 转化镜像的格式,将test2.qcow2转化成vm1.raw

[root@raid newdisk]# qemu-img convert -f qcow2 -O raw test.qcow2 vm1.raw
[root@raid newdisk]# ll
total 1367052
-rw-------. 1 qemu qemu 21478375424 Mar  5 23:44 centos7.0.qcow2
drwx------. 2 root root       16384 Mar  3 16:00 lost+found
-rw-r--r--. 1 root root      197120 Mar  5 23:16 test.qcow2
-rw-r--r--. 1 root root  3221225472 Mar  5 23:47 vm1.raw
[root@raid newdisk]# qemu-img info vm1.raw  //查看转化后的文件是否转化为raw格式
image: vm1.raw
file format: raw
virtual size: 3.0G (3221225472 bytes)
disk size: 0
[root@raid newdisk]# qemu-img info test.qcow2  //查看原文件格式
image: test.qcow2
file format: qcow2
virtual size: 3.0G (3221225472 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

5、更改镜像文件大小

qemu-img resize [镜像文件名] [+/-需要改变的大小] 

例:给vm1.raw增加3G

[root@raid newdisk]# qemu-img info vm1.raw 
image: vm1.raw
file format: raw
virtual size: 3.0G (3221225472 bytes)	//原本为3G
disk size: 0
[root@raid newdisk]# qemu-img resize vm1.raw +3G
Image resized.
[root@raid newdisk]# qemu-img info vm1.raw 
image: vm1.raw
file format: raw
virtual size: 6.0G (6442450944 bytes)	//更改后为6G
disk size: 0

qcow2只能增大,不支持缩小,否则会报错,如下。

[root@raid newdisk]# qemu-img resize test.qcow2 -1G
qemu-img: qcow2 doesn't support shrinking images yet
qemu-img: This image does not support resize

6、创建快照与查询快照

qemu-img snapshot -c [标签] [目标镜像名]	//创建快照目的命令
qemu-img snapshot -l [镜像文件名]	//查询此镜像文件所有快照的命令

例:创建一个test.qcow2的快照并设置标签one

[root@raid newdisk]# qemu-img snapshot -c one test.qcow2 
[root@raid newdisk]# qemu-img snapshot -l test.qcow2 
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         one                       0 2020-03-06 00:05:31   00:00:00.000

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值