![如何调整 LVM 分区的大小?(即物理卷)](https://linux22.com/image/963505/%E5%A6%82%E4%BD%95%E8%B0%83%E6%95%B4%20LVM%20%E5%88%86%E5%8C%BA%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%9F%EF%BC%88%E5%8D%B3%E7%89%A9%E7%90%86%E5%8D%B7%EF%BC%89.png)
我想缩小我的第二个 (LVM) 分区,以便在新释放的空间中创建一个新分区。我使用 Live CD 来执行此操作,因为我知道在使用时无法调整/移动此分区。当我在 Live CD 中打开 GParted 时,我意识到我无法调整分区大小,因为当我右键单击它时,“调整大小/移动”选项被禁用。
我尝试卸载它,尝试“偷懒”地卸载它(umount -l /dev/sda2
),但没有成功。
GParted 的屏幕截图:
答案1
尝试此操作之前,请备份所有重要数据。始终假设调整分区大小时可能会丢失所有数据。
缩小 LVM 而不丢失数据
该论坛主题建议以下步骤,在此示例中,我们将分区从 10G 缩小到 9G:
首先,我们卸载。
sudo umount /dev/vg_blah/lv_blah
检查文件系统。
sudo e2fsck -f /dev/vg_blah/lv_blah
调整文件系统和逻辑卷的大小。一步完成此操作可以避免导致数据丢失的错误。(注意 lvreduce 参数
-L
解释G
为 2^30 字节和g
10^9 字节。)sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah
(可选)如果需要,从卷组中删除一个物理驱动器(如果您现在有一个未使用的驱动器)。
sudo vgreduce vg_blah /dev/sdxy
所有功劳归于布莱恩麦吉。
注意:如果磁盘末尾有另一个 lv,vgreduce
则将失败- 我有一个交换 lv,我已将其删除。请参阅cannot resize to xxxxx extents as later ones are allocated
如何缩小 Ubuntu LVM 逻辑卷和物理卷?寻求帮助。
答案2
你可以使用 GUI 工具非常轻松地缩小/扩展逻辑卷:system-config-lvm
。由于system-config-lvm
没有预先安装,因此一旦从 Live CD 启动,你就必须安装它:
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm
安装完成后,运行程序,在左侧面板中选择要更改的逻辑卷,单击“编辑属性”。
现在按照您的意愿更改参数!
一个好处是,system-config-lvm
如果新分区的大小小于所有现有数据的总和,它将不允许您继续(我刚刚尝试过并亲眼看到)。
参考:
- How-To Geek 教程(这就是图像的来源)。
- Red Hat 完整指南对于该计划。
答案3
笔记:您应该使用 Live CD 运行以下几乎所有命令。有时,它会要求您卸载已安装在 / 上的分区(在这种情况下,您无法卸载它)。
这些是调整 LVM 或 LVM2 分区大小所需的所有步骤:
sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu
sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5
如果第二条命令产生如下结果:
/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.
然后,您必须重新安排 LVM 末尾的未分配空间。这意味着在 root 和 swap_1 分区之后。因此,首先,您需要使用以下命令检查物理卷的信息:
sudo pvs -v --segments /dev/sda5
这将显示如下输出:
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www
注意yyy-www. 使用以下命令删除外部碎片:
sudo pvmove --alloc anywhere /dev/sda5:yyy-www
现在让我们看看进展如何:
sudo pvs -v --segments /dev/sda5
这将显示如下输出(注意变化):
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free
之后,使用 GParted 并将 LVM 的大小调整为最大使用区域,其余部分将位于未分配空间中。尽情享受吧...