Ubuntu LVM 磁盘扩容指南:以 Hyper-V 为例
目录
详细介绍如何在 Hyper-V 环境下为 Ubuntu 虚拟机扩展 LVM 磁盘空间
前置条件
- Hyper-V 虚拟机运行 Ubuntu 系统
- 使用 LVM(Logical Volume Management)进行磁盘管理
- 具有 root 或 sudo 权限
快速操作指南
对于熟悉 LVM 的用户,以下是扩容的快速步骤:
- 检查当前分区:
fdisk -l
- 启动分区工具:
parted
- 扩展分区:
resizepart
,选择分区 3,输入 100% - 扩展物理卷:
pvresize /dev/sda3
- 扩展逻辑卷:
lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
- 调整文件系统:
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
- 验证结果:
df -h
详细操作步骤
1. 检查当前磁盘使用情况
首先查看文件系统使用情况:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 3.9G 3.2G 489M 87% /
/dev/sda2 976M 77M 833M 9% /boot
# ... 其他输出省略
查看详细的磁盘分区信息:
$ sudo fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: ED41F7A6-5D09-457B-A55C-C7F1E30DE419
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 52426751 50325504 24G Linux filesystem
2. 在 Hyper-V 中扩展虚拟磁盘
- 关闭虚拟机
- 打开 Hyper-V 管理器
- 选择目标虚拟机 → 设置
- 找到硬盘驱动器 → 编辑
- 选择"扩展"并输入新的大小
- 启动虚拟机
3. 调整 Linux 分区
使用 parted 工具调整分区大小:
$ sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
# 查看当前分区情况
(parted) print
Model: Msft Virtual Disk (scsi)
Disk /dev/sda: 26.8GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 1076MB 1074MB ext4
3 1076MB 26.8GB 25.8GB
# 调整分区大小
(parted) resizepart
Partition number? 3
End? [26.8GB]? 100%
(parted) quit
4. 扩展 LVM 卷
-
扩展物理卷(PV):
$ sudo pvresize /dev/sda3 Physical volume "/dev/sda3" changed 1 physical volume(s) resized
-
扩展逻辑卷(LV):
$ sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv Size of logical volume ubuntu-vg/ubuntu-lv changed from 4.00 GiB to 23.00 GiB. Logical volume ubuntu-vg/ubuntu-lv successfully resized.
-
调整文件系统大小:
$ sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 3 The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 6029312 (4k) blocks long.
5. 验证扩容结果
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 23G 3.2G 19G 15% /
/dev/sda2 976M 77M 833M 9% /boot
# ... 其他输出省略
故障排除
-
分区未显示新增空间
- 检查 Hyper-V 设置中的磁盘大小是否正确更改
- 确认虚拟机是否完全重启
-
LVM 扩展失败
- 确保 PV、VG 和 LV 的名称正确
- 检查是否有足够的未分配空间
- 查看系统日志获取详细错误信息
-
文件系统扩展失败
- 确保文件系统支持在线调整
- 检查文件系统是否有错误(使用 fsck)