我有一台运行 Ubuntu 的虚拟机。它以前有 30GB 的空间;我需要将数据分区(LVM2 分区)的大小增加到 50GB。
我在虚拟机的管理控制台中更改了大小,它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 的资料,最后这个 Serverfault 问题 关于动态调整 LVM 分区大小。
sda2
似乎是包含的容器sda5
,如果我正确理解了 LVM,事情就应该是这样的。
然而,当我尝试
sudo lvextend /dev/DOCS/root -l+100%FREE
我明白了
New size (7118 extents) matches existing size (7118 extents)
我还没有完全理解 LVM 的概念。我是否需要先扩大其他东西,例如分区的“外部容器”?
答案1
之前已经出现过这种情况:
看到这个如何扩大 LVM 和底层分区?寻找一种无需在 fdisk 中重新创建现有分区即可获得所需结果的方法。
答案2
您需要先扩展分区 (/dev/sda5)。进入 fdisk,删除 /dev/sda5,创建一个新的扩展分区 (/dev/sda5 - 必须与旧分区的编号相同),写入更改并重新启动。然后您就可以 lvextend 了。
请小心——操作错误将导致数据丢失。