3.KVM虚拟机磁盘、快照和克隆管理
孙富阳, 江湖人称没人称。多年互联网运维工作经验,曾负责过孙布斯大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型博客网站运维工作。
1.磁盘管理
1.虚拟机的磁盘格式
raw格式:俗称裸格式,占用空间大,不支持快照功能,不方便传输,读写性能较好 不方便传输是因为,分配了50G的磁盘空间,用了1G,在传输时传输的大小是50G,相当于VM虚拟机立即分配所有空间 raw格式还有一个好处是,可以在宿主机上挂载使用 挂载方法:
[root@test ~]# fdisk /opt/centos7.raw
输入p,找到start值 然后使用值*512 然后挂载使用
[root@test ~]# mount -o loop,offset=1048576 /opt/centos7.raw /srv/###offset是上面乘以512的值。
挂载之后可以进入修改网卡该密码等所有操作
安装时执行的命令virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpu 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-Minimal-2003.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
qcow2格式:是qcow(copy on write)的升级版,占用空间小,支持快照,性能比raw差一点,方便传输 是因为,分配了50G的磁盘空间,用了1G,在传输时传输的大小是1G
安装时执行的命令virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpu 1 --disk /opt/centos2.qcow2,format=qcow2,size=10 --cdrom /opt/CentOS-7-x86_64-Minimal-2003.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
2.查看磁盘信息info
[root@test /opt]# qemu-img info centos7.raw
image: centos7.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 1.5G
3.创建磁盘create
##-f 后的三个参数,第一个是磁盘的格式,第二个是磁盘的名称路径,第三个是磁盘的大小
#创建一个qcow2格式的硬盘
[root@test /opt]# qemu-img create -f qcow2 /opt/sfy.qcow2 1G
Formatting '/opt/sfy.qcow2', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off
[root@test /opt]# ll -h /opt/sfy.qcow2
-rw-r--r-- 1 root root 192K Jul 18 11:46 /opt/sfy.qcow2
[root@test /opt]# qemu-img info sfy.qcow2
image: sfy.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 192K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
#创建一个raw格式的硬盘
[root@test /opt]# qemu-img create -f raw /opt/sfy.raw 1G
Formatting '/opt/sfy.raw', fmt=raw size=1073741824
[root@test /opt]# qemu-img info sfy.raw
image: sfy.raw
file format: raw
virtual size: 1.0G (1073741824 bytes)
disk size: 0
创建磁盘挂载到虚拟机上,需要在配置文件搜索disk type,然后复制这个模块的内容改吧改吧即可
4.磁盘扩容resize
##扩容2G
[root@test /opt]# qemu-img resize /opt/sfy.raw +2G
Image resized.
[root@test /opt]# qemu-img info /opt/sfy.raw
image: /opt/sfy.raw
file format: raw
virtual size: 3.0G (3221225984 bytes)
disk size: 0
##扩(缩)容至2G
[root@test /opt]# qemu-img resize /opt/sfy.raw 2G
Image resized.
[root@test /opt]# qemu-img info /opt/sfy.raw
image: /opt/sfy.raw
file format: raw
virtual size: 2.0G (2147483648 bytes)
disk size: 0
##缩容1G
[root@test /opt]# qemu-img resize /opt/sfy.raw -1G
Image resized.
[root@test /opt]# qemu-img info /opt/sfy.raw
image: /opt/sfy.raw
file format: raw
virtual size: 1.0G (1073741824 bytes)
disk size: 0
5.磁盘格式转换convert
##注意修改磁盘格式,必须处于关机状态下
-f 磁盘原格式 -O磁盘新格式 原格式磁盘路径 新格式磁盘路径
[root@test /opt]# time qemu-img convert -f raw -O qcow2 /opt/centos7.raw /opt/centos7.qcow2
#修改虚拟机配置文件磁盘格式
[root@test /opt]# grep qcow2 /etc/libvirt/qemu/web01.xml
<driver name='qemu' type='qcow2'/>
<source file='/opt/centos7.qcow2'/>
2.虚拟机的快照管理
snapshot-create创建快照不支持自定义名称
snapshot-create-as支持自定义名称
raw格式无法创建快照,qcow2格式可以创建快照,是基于磁盘创建的快照,即快照是保存在qcow2磁盘文件里的
1.创建快照snapshot-create、snapshot-create-as和查看快照snapshot-list
##snapshot-create创建虚拟机快照
[root@test /opt]# virsh snapshot-create web01
Domain snapshot 1626588992 created
[root@test /opt]# virsh snapshot-list web01
Name Creation Time State
------------------------------------------------------------
1626588992 2021-07-18 14:16:32 +0800 running
##snapshot-create-as创建虚拟机快照
[root@test /opt]# virsh snapshot-create-as web01 --name 刚创建的虚拟机
Domain snapshot 刚创建的虚拟机 created
[root@test /opt]# virsh snapshot-list web01
Name Creation Time State
------------------------------------------------------------
1626588992 2021-07-18 14:16:32 +0800 running
刚创建的虚拟机 2021-07-18 14:19:36 +0800 running
2.删除快照snapshot-delete
[root@test /opt]# virsh snapshot-delete web01 --snapshotname 1626588992
Domain snapshot 1626588992 deleted
[root@test /opt]# virsh snapshot-list web01
Name Creation Time State
------------------------------------------------------
刚创建的虚拟机 2021-07-18 14:19:36 +0800 running
3.恢复快照snapshot-revert
[root@test /opt]# virsh snapshot-revert web01 --snapshotname 刚创建的虚拟机
3.虚拟机的克隆
1.完整克隆virt-clone 自动
#创建克隆 -o 老的虚拟机名称 -n 新的虚拟机名称—auto-clone自动分配虚拟机磁盘位置
[root@test /opt]# virt-clone -o web01 -n web02 --auto-clone
Allocating 'centos7-clone.qcow2' | 12 GB 00:00:09
Clone 'web02' created successfully.
##--file 指定克隆后的虚拟机磁盘存放位置
[root@test /opt]# virt-clone -o web01 -n web03 --file /opt/web03.qcow2
Allocating 'web03.qcow2' | 12 GB 00:00:03
Clone 'web03' created successfully
2.完整克隆手动
##创建磁盘文件###(注意这里是创建,不是复制,复制的需要重启libvertd服务)
[root@test /opt]# qemu-img convert -f qcow2 -O qcow2 -c web03.qcow2 web02.qcow2
##创建虚拟机配置文件
[root@test /opt]# virsh dumpxml web03 > vm_web02.xml
#导入配置文件
[root@test /opt]# virsh define /opt/vm_web02.xml
[root@test /opt]# virsh list --all
Id Name State
----------------------------------------------------
1 web01 running
2 web02 running
- web03 shut off
###修改配置文件
[root@test /opt]# virsh edit web02
修改<name>
删除<uuid>
删除<mac address
修改<source file
3.链接克隆##只能手动操作
##-b 基于web04.qcow2 创建web05.qcow2
[root@test /opt]# qemu-img create -f qcow2 -b web04.qcow2 web05.qcow2
Formatting 'web05.qcow2', fmt=qcow2 size=12884901888 backing_file='web04.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
[root@test /opt]# qemu-img info web05.qcow2
image: web05.qcow2
file format: qcow2
virtual size: 12G (12884901888 bytes)
disk size: 196K
cluster_size: 65536
backing file: web04.qcow2#####基于web04.qcow2创建
Format specific information:
compat: 1.1
lazy refcounts: false
##创建配置文件
[root@test /opt]# virsh dumpxml web04 >vm_web05.xml
修改配置文件,名称、id、mac、还有磁盘文件路径等
[root@test /opt]# vim /opt/vm_web05.xml
[root@test /opt]# virsh define /opt/vm_web05.xml
Domain web05 defined from /opt/vm_web05.xml
[root@test /opt]# virsh list --all
Id Name State
----------------------------------------------------
1 web01 running
2 web04 running
4 web03 running
- web02 shut off
- web05 shut off
导出配置文件的时候会发现多了一个source文件,依赖文件
[root@test /opt]# virsh dumpxml web05 |grep qcow2
<driver name='qemu' type='qcow2'/>
<source file='/opt/web05.qcow2'/>
<source file='/opt/web04.qcow2'/>
未经允许不得转载:孙某某的运维之路 » 3.KVM虚拟机磁盘、快照和克隆管理
评论已关闭