kvm磁盘管理

KVM虚拟磁盘类型

image.png


raw

raw为裸格式,占用空间比较大,不支持快照功能,性能较好,不方便传输,创建多大的磁盘就占用多大的空间。


qcow2

qcow2(quick copy on wire --写时复制),占用空间小,支持快照,性能比 raw差一些,方便传输,磁盘的实际大小时动态的(当写入数据时宿主机的磁盘占用才会变大)。


qemu-img常用参数

https://mp.weixin.qq.com/s/N8l3p3Bemr3AczqntEr4VA
https://www.cnblogs.com/wshenjin/p/11079469.html
https://www.cnblogs.com/wshenjin/p/11063867.html

# 列出指定虚拟机上的磁盘信息
virsh domblklist vm名

在这里插入图片描述


主要参数:

  • info : 查看镜像的信息;
  • create: 创建镜像;
  • check: 检查镜像;
  • convert: 转化镜像的格式;
  • snapshot :管理镜像的快照;
  • rebase: 在已有的镜像的基础上创建新的镜像;
  • resize: 增加或减小镜像大小

安装qemu-img

# Windows安装
choco install qemu-img -y

# rhel安装
dnf install -y qemu-img

#  Debian安装
apt install -y qemu-utils

查看磁盘信息–info

# 查看磁盘信息
qemu-img info disk_name.raw
qemu-img info disk_name.qcow2

image.png


创建磁盘文件–create

创建的磁盘文件后缀名不用关注,工作中经常会以.img为磁盘文件后缀。

# 创建raw(默认格式)
qemu-img create /data/vm1.raw 1G

image.png

# 创建qcow2
## 不指定参数,默认创建的是raw格式的磁盘文件
## -f 指定磁盘格式
qemu-img create -f qcow2 /data/vm2.qcow2 1G

image.png


磁盘容量调整–resize


热扩容

# 列出指定虚拟机上的磁盘信息
virsh domblklist vm名

# 对虚拟机的磁盘文件进行扩容
## --paht 为vm的磁盘绝对路径
virsh blockresize --path vm实例的磁盘绝对路径 --size 50G vm名

# 登录vm扩容文件系统容量

磁盘增加容量

# 增加10G容量
qemu-img resize /data/vm1.raw +10G

磁盘缩小容量(生产环境下禁止操作)

# raw磁盘缩小容量
qemu-img resize /data/vm2.raw -500M

image.png

# qcow2磁盘缩小容量---不支持缩容
qemu-img resize /data/vm2.qcow2 -500G

!!!qcow2只能加不能减!
image.png


磁盘调整容量到指定大小

# 将磁盘容量调整至1T
qemu-img resize /data/vm2.qcow2 1T

image.png


转换磁盘格式–convert

运行中的VM实例,要先关机后才能转换VM实例的磁盘格式,转换完成后,要执行virsh edit vm实例修改disktypediskpath为正确值才能启动VM实例。

# 1.将vm实例关机
virsh shutdown vm名称

## qemu-img convert如果不-O指定输出格式,默认转换为raw格式
# 将raw磁盘转换为qcow2磁盘
# 转换镜像为qcow2格式
## -f:参数值为源镜像文件的格式。
## -O(大写):参数值分别为输出镜像格式、源镜像文件名称和输出镜像文件名称。
qemu-img convert -f raw -O qcow2 vm1.raw vm2.qcow2

# 修改vm实例的磁盘type和path
virsh edit vm名称

原来的磁盘格式是raw
image.png
修改成qcow2格式磁盘
image.png


转换VMware的vmdk为qcow2

# 转换VMware的vmdk为qcow2
## qemu-img convert如果不-O指定输出格式,默认转换为raw格式
# 将raw磁盘转换为qcow2磁盘
# 转换镜像为qcow2格式
## -f:参数值为源镜像文件的格式。
## -O(大写):参数值分别为输出镜像格式、源镜像文件名称和输出镜像文件名称。
qemu-img convert -f vmdk -O qcow2 source-name.vmdk target-name.qcow2 

# 转换&压缩命令:
## -c 压缩镜像
qemu-img convert -c -f vmdk -O qcow2 source-name.vmdk target-name.qcow2 

在这里插入图片描述
在这里插入图片描述


检查磁盘镜像文件

对磁盘镜像文件进行一致性检查,查找镜像文件中的错误,目前仅支持对qcow2qedvdi格式文件的检查。

# 检查磁盘文件
qemu-img check vm2.qcow2

磁盘快照

默认会把磁盘快照的配置文件存储到/var/lib/libvirt/qemu/snapshot/虚拟机名称/快照名称.xml


创建磁盘快照

# -c:表示创建磁盘快照
qemu-img snapshot -c 快照名 磁盘镜像文件路径

查看磁盘快照

# -l:查看磁盘文件的快照列表
qemu-img snapshot -l /kvm/images/centos7.qcow2

回滚到磁盘快照

# -a:应用磁盘快照,将磁盘恢复到做快照那一刻
qemu-img snapshot -a 快照名 磁盘镜像文件路径

删除磁盘快照

# -d:删除磁盘快照
qemu-img snapshot -l /kvm/images/centos7.qcow2 

在线附加和卸载VM磁盘

在这里插入图片描述


附加磁盘到vm实例–attach-disk

附件磁盘热生效的,通过virsh attach-disk添加硬盘时,只能是虚拟机运行时才能添加,而且是即时生效的。

# 将磁盘挂载到vm实例--立即且永久生效
## --live 热生效,但不保存到配置文件
## --config 写入到配置文件永久生效
virsh attach-disk vm名称 [--source] /data/raw/disk02.qcow2 sdb --subdriver=qcow2 --live --config

# 查看指定虚拟机的磁盘是否增加
virsh domblklist vm名
virsh附加磁盘 / 卸载磁盘vm名称vm磁盘路径vm中块设备名指定vm磁盘格式(可选参数)其他参数(可选参数)
virshattach-diskvm1/data/raw/disk02.qcow2vdb–subdriver=qcow2–live --config

从vm实例中分离磁盘–detach-disk

附加的磁盘一定要在虚拟机运行时卸载,
vm关机卸载磁盘会报错,但也能把该磁盘卸载掉。

# 从vm实例中删除磁盘--立即且永久生效
virsh detach-disk vm名称 –target vdb --live --config

# 查看指定虚拟机的磁盘是否减少
virsh domblklist vm名
virsh附加磁盘 / 卸载磁盘vm名称–targetvm中块设备名其他参数(可选参数)
virshdetach-diskvm1–targetvdb–live --config

存储池管理

https://blog.csdn.net/omaidb/article/details/130972546

# 查看所有Storage Pool 
virsh pool-list --all
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值