KVM虚拟机怎么扩容磁盘
当KVM虚拟机磁盘不够用则可以扩容磁盘
- 扩容虚拟磁盘
在宿主机操作扩容
# 需满足以下条件才能执行扩容
# 1. 虚拟机已关机
# 2. 虚拟机无快照
qemu-img resize /kvm/CentOS7K8SHarbor061.qcow2 +100G
- 主机格式化磁盘
磁盘扩容后需要格式化才能使用
# fdisk /dev/sda
# 输入n格式化以后使用默认
# 命令(输入 m 获取帮助):n
# Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
# Select (default p):
# Using default response p
# 分区号 (3,4,默认 3):
# 起始 扇区 (125829120-335544319,默认为 125829120):
# 将使用默认值 125829120
# Last 扇区, +扇区 or +size{K,M,G} (125829120-335544319,默认为 335544319):
# 将使用默认值 335544319
# 分区 3 已设置为 Linux 类型,大小设为 100 GiB
# w
- 主机扩容磁盘
# 把新格式化的磁盘创建成pv
# pvcreate /dev/sda3
# pvscan
# 扩容至VG
# vgextend centos /dev/sda3
# pvscan
# 扩容至对应挂载磁盘 对应的数字值使用以下命令查看
# vgdisplay
# lvresize -l +25600 /dev/centos/root
# 扩容生效
# xfs格式
# xfs_growfs /dev/centos/root
# ext4格式
# resize2fs /dev/centos/root
# 查看
# df -h
扩容成功增加100G空间
pvcreate 报错磁盘不存在则重启一次主机再操作
2024-04-01补充
Ubuntu系统分区后报以下错误
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: 设备或资源忙
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
解决方法
在fdisk格式化界面按w保存退出以后输入以下命令
# partprobe
2024-05-07补充
在删除快照的过程中Xshell终端中断
重连之后删除快照后扩容磁盘出现错误提示
# qemu-img resize /kvm/CentOS7Bisheng03217.qcow2 +100G
qemu-img: Can't resize an image which has snapshots
解决方法
使用qemu-img删除快照
# 列出快照
# qemu-img snapshot -l /kvm/CentOS7Bisheng03217.qcow2
# 删除快照
# qemu-img snapshot -d 1706979661 /kvm/CentOS7Bisheng03217.qcow2