我有一个运行 Ubuntu 的虚拟机。它曾经有30GB的空间;我需要将数据分区(一个 LVM2 分区)的大小增加到 50GB。
我在 VM 的管理控制台中更改了大小,这fdisk -l
告诉我:
Disk /dev/sda: 53.7 GB, 53687091200 bytes <--- new size
[...]
Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 6528 52177921 5 Extended <--- huh?!?
/dev/sda5 32 3917 31205376 8e Linux LVM <--- old size
[...]
我首先阅读了很多关于 LVM 的内容,最后遇到了这个 关于动态调整 LVM 分区大小的Serverfault 问题。
sda2
似乎是包含的容器sda5
,如果我正确理解 LVM,事情应该是这样的。
但是,当我尝试
sudo lvextend /dev/DOCS/root -l+100%FREE
我得到
New size (7118 extents) matches existing size (7118 extents)
我还没有完全掌握 LVM 的概念。我是否需要先放大其他东西,比如分区的“外容器”?
这已经出现了:
看到这个How to grow LVM and underlying partition? 一种无需在 fdisk 中重新创建现有分区即可获得所需结果的方法。
您需要先扩展分区(/dev/sda5)。进入 fdisk,删除 /dev/sda5,创建一个新的扩展分区(/dev/sda5 - 它必须与旧分区的编号相同),写出更改并重新启动。然后你可以lvextend。
小心 - 这样做错误会导致数据丢失。