KVM 虚拟机磁盘容量扩展指南:从文件到文件系统的全面解析
摘要助手
切换
SummaryGPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往订阅 💥
前往评论 💬
👀 部署教程
KVM 虚拟机磁盘容量扩展指南:从文件到文件系统的全面解析
dong4j增加 KVM 虚拟机磁盘容量
在 KVM 中扩展虚拟机磁盘容量分为两步:扩展虚拟磁盘文件 和 扩展虚拟机内的分区和文件系统。
第一步:扩展虚拟磁盘文件
1. 确认虚拟磁盘文件路径
使用以下命令查找虚拟机磁盘文件的位置:
1 | virsh domblklist <虚拟机名称> |
示例输出:
1 | Target Source |
记下磁盘文件路径(例如 /var/lib/libvirt/images/vm-disk.qcow2)。
2. 扩展磁盘文件
假设需要将磁盘扩展为 50 GB,根据磁盘格式选择以下命令:
QCOW2 格式磁盘扩展
1 | qemu-img resize /var/lib/libvirt/images/vm-disk.qcow2 50G |
RAW 格式磁盘扩展
1 | qemu-img resize /var/lib/libvirt/images/vm-disk.raw 50G |
验证磁盘扩展结果
1 | qemu-img info /var/lib/libvirt/images/vm-disk.qcow2 |
第二步:扩展虚拟机内的分区和文件系统
1. 启动虚拟机并登录
启动虚拟机:
1 | virsh start <虚拟机名称> |
通过控制台或 SSH 登录虚拟机:
1 | virsh console <虚拟机名称> |
2. 检查新增磁盘空间
登录虚拟机后,运行以下命令查看磁盘大小是否更新:
1 | lsblk |
示例输出:
1 | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT |
- vda 是整个磁盘,vda1 是当前分区。
3. 调整分区
比如我现在的分区:
1 | ➜ ~ fdisk -l |
使用 fdisk 扩展分区
启动 fdisk:
1
fdisk /dev/vda
删除原分区(不会丢失数据):
- 输入 d 删除分区,依次删除 /dev/vda2 和 /dev/vda1。
重新创建新分区:
- 输入 n,选择分区类型(默认 primary)。
- 分区号(如 1)。
- 起始扇区和终止扇区(默认使用整个磁盘空间)。
保存分区表并退出:
- 输入 w。
重新加载分区表:
1 | partprobe /dev/vda |
4. 扩展文件系统
根据分区的文件系统类型,运行以下命令扩展文件系统:
EXT4 文件系统
1 | resize2fs /dev/vda1 |
输出:
1 | resize2fs 1.47.0 (5-Feb-2023) |
5. 验证扩展结果
运行以下命令检查扩展后的文件系统大小:
1 | df -h |
输出:
1 | 文件系统 大小 已用 可用 已用% 挂载点 |
问题
因为原来的 SWAP 分区被删除了, 需要调整 fstab 文件。
1 | # <file system> <mount point> <type> <options> <dump> <pass> |
将 swap
的挂在配置注释掉, 因为我也不打算使用 swap.
注意事项
备份数据:扩展磁盘前,请确保虚拟机数据已备份。
LVM 情况:
如果虚拟机使用 LVM,需额外扩展逻辑卷和物理卷: - 扩展物理卷:1
pvresize /dev/vda1
- 扩展逻辑卷:
1
lvextend -l +100%FREE /dev/mapper/volume-group-logical-volume
- 扩展文件系统:
1
resize2fs /dev/mapper/volume-group-logical-volume
确认文件系统类型:不同文件系统(如 EXT4、XFS)使用不同的扩展命令。
总结
扩展 KVM 虚拟机磁盘容量涉及两个关键步骤:
- 使用 qemu-img 扩展磁盘文件。
- 登录虚拟机,调整分区和文件系统。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果