查询镜像
使用glance相关命令查询
[root@node01 ~]# source admin-openrc # 加载环境变量,不一定叫这个名字
[root@node01 ~]# glance image-list # 列出镜像ID及name
+--------------------------------------+--------------------------+
| ID | Name |
+--------------------------------------+--------------------------+
| 654b6324-960e-423a-b1e7-a33ebdc15d85 | centos7.9 |
| 08f24900-5ad2-4987-bcf1-7f9b5ec61727 | centos72 |
| 469a34a4-4ba6-4fa1-9e7f-8ba7a67963cf | c_7.5 |
+--------------------------------------+--------------------------+
导出镜像
导出raw格式
导出raw镜像,不会压缩,镜像大的时候会导出很慢
[root@node01 ~]# glance image-download --file /tmp/test.img 469a34a4-4ba6-4fa1-9e7f-8ba7a67963cf
# 上一步查询到的ID
[root@node01 ~]# file /tmp/test.img
# 查看导出的镜像
/tmp/test.img: # ISO 9660 CD-ROM filesystem data 'Fedora-S-dvd-x86_64-37' (bootable)
[root@node01 ~]# ll /tmp/test.img -h
-rw-r--r-- 1 root root 12.3G Mar 1 09:15 /tmp/test.img
导出qcow2格式
使用qemu导出镜像,开启16个线程,如果cpu不够可以将-m去掉或者减少线程数量
[root@node01 ~]# qemu-img convert -m 16 rbd:volumes/469a34a4-4ba6-4fa1-9e7f-8ba7a67963cf -c -p -O qcow2 /tmp/test.qcow2
(100.00/100%)
# 这里是使用的ceph的rbd卷,指定导出格式为qcow2
[root@node01 ~]# file /tmp/test.qcow2
/tmp/test.qcow2: QEMU QCOW Image (v3), 2459566080 bytes
[root@node01 ~]# ll /tmp/{test.qcow2,test.img} -h
-rw-r--r-- 1 root root 12.3G Mar 1 09:15 /tmp/test.img
-rw-r--r-- 1 root root 2.3G Mar 1 09:20 /tmp/test.qcow2
其他qemu常用命令
创建img
$ qemu-img create -f raw test.img 5G # 创建raw格式的img
$ qemu-img create -f qcow2 test.qcow2 10G # 创建qcow2格式的img
[root@node01 qemu]# qemu-img info test.img
image: test.img
file format: raw
virtual size: 5.0G (5368709120 bytes)
disk size: 0
[root@node01 qemu]# qemu-img info test2.img
image: test2.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
检查image文件:raw不支持check
[root@node01 qemu]# qemu-img check test.img
qemu-img: This image format does not support checks
[root@andriy qemu]# qemu-img check test2.img
No errors were found on the image.
Image end offset: 262144
使用qemu转换镜像
$ qemu-img convert -p -f qcow2 -O vmdk .\my_centos7.qcow2 .\my_centos7.vmdk
# 将qcow2格式镜像转化为vmdk,转换完成之后就可以导入VMwareworkstation使用了
镜像扩容:只支持raw扩容
[root@node01 qemu]# qemu-img resize raw.img -/+1G
[root@node01 qemu]# qemu-img resize raw.img 11G
Image resized.
[root@node01 qemu]# qemu-img info raw.img
image: raw.img
file format: raw
virtual size: 11G (11811160064 bytes)
disk size: 0
[root@node01 qemu]# qemu-img resize raw.img -1G
Image resized.
[root@node01 qemu]# qemu-img info raw.img
image: raw.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 0
快照
# “-l” 选项是查询并列出镜像文件中的所有快照
# “-a snapshot”是让镜像文件使用某个快照#
# “-c snapshot”是创建一个快照
# “-d”是删除一个快照。
[root@andriy qemu]# qemu-img snapshot -l qcow2.img
[root@andriy qemu]# qemu-img snapshot -c snapshot qcow2.img
[root@andriy qemu]# ls
qcow2.img raw.img test2.img test.img
[root@andriy qemu]# qemu-img snapshot -l qcow2.img
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 snapshot 0 2017-08-30 15:18:25 00:00:00.000
qemu-img snapshot -a 1 qcow2.img
[root@andriy qemu]# qemu-img snapshot -d snapshot qcow2.img