250715-virtualbox磁盘-ubuntu-lsblk-lvm扩展已有分区

LVM扩展已有分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. 安装 `cloud-guest-utils`(如果没装):
sudo apt install cloud-guest-utils -y

1. 扩展分区:
sudo growpart /dev/sda 3

1. 扩展物理卷:
sudo pvresize /dev/sda3

1. 扩展逻辑卷:
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

1. 扩展文件系统(假设是 ext4):
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

如何增加/根目录的磁盘空间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 63.8M 1 loop /snap/core20/2599
loop1 7:1 0 63.3M 1 loop /snap/core20/1828
loop2 7:2 0 91.9M 1 loop /snap/lxd/24061
loop3 7:3 0 91.9M 1 loop /snap/lxd/32662
loop4 7:4 0 50.9M 1 loop /snap/snapd/24718
loop5 7:5 0 49.3M 1 loop /snap/snapd/24792
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 48G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 24G 0 lvm /
sr0 11:0 1 1024M 0 rom
sr1 11:1 1 58.6M 0 rom

你现在的情况是:

  • 物理磁盘 /dev/sda 总共 300G
  • 只有 /dev/sda3 这个分区(48G)被用作了 LVM 的物理卷(PV)
  • 根目录 / 挂载在逻辑卷 ubuntu--vg-ubuntu--lv 上,当前只有 24G
  • 你还有 250G 左右的空间没分配(300G - 48G)

✅ 目标:把根目录 / 扩大到整个磁盘(或你想要的大小)


🔧 步骤如下(建议先做快照或备份):

✅ 1. 查看当前 LVM 情况

1
2
3
sudo pvs
sudo vgs
sudo lvs

确认:

  • VG 名称是 ubuntu-vg
  • LV 名称是 ubuntu-lv
  • /dev/sda3 已经是 PV(物理卷)

✅ 2. 将未分区的空间加入 LVM

你有两种选择:


✅ 方法一:扩展已有分区 /dev/sda3(推荐,简单)
  1. 安装 cloud-guest-utils(如果没装):
1
sudo apt install cloud-guest-utils -y
  1. 扩展分区:
1
sudo growpart /dev/sda 3
  1. 扩展物理卷:
1
sudo pvresize /dev/sda3
  1. 扩展逻辑卷:
1
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
  1. 扩展文件系统(假设是 ext4):
1
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

✅ 方法二:新建分区 /dev/sda4 并加入 LVM(可选)
  1. 创建新分区:
1
2
sudo fdisk /dev/sda
# 新建主分区 /dev/sda4,类型设为 Linux LVM(8e)
  1. 创建 PV:
1
sudo pvcreate /dev/sda4
  1. 扩展 VG:
1
sudo vgextend ubuntu-vg /dev/sda4
  1. 扩展 LV:
1
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
  1. 扩展文件系统:
1
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

✅ 最终结果验证

1
df -h /

你应该看到根目录 / 已经变成了 48G 或更大(取决于你扩展到多少)。


⚠️ 注意事项

  • 操作前建议备份重要数据
  • 如果你用的是虚拟机,确保磁盘已经扩容
  • 如果你用的是云主机(如 AWS),确保 EBS 已扩展后再操作