Ida*_*gar 104 partitioning lvm gparted
我想缩小我的第二个 (LVM) 分区,以便在新释放的空间中创建一个新分区。我正在使用 Live CD 这样做,因为我知道我无法在使用时调整/移动该分区的大小。当我在 Live CD 中打开 GParted 时,我意识到我无法调整分区大小,因为当我右键单击它时,“调整大小/移动”选项被禁用。
我试图卸载它,“懒惰”地卸载它 ( umount -l /dev/sda2) 但它没有用。
GParted 的截图:

pzk*_*pfw 59
谷歌上似乎有很多结果,人们遇到了类似的问题。一个例子:
在尝试之前备份所有重要数据。始终假设您在调整分区大小时可能会丢失所有数据。
这个论坛帖子建议了以下过程,在这个例子中,我们将一个分区从 10G 缩小到 9G:
首先,我们卸载。
Run Code Online (Sandbox Code Playgroud)sudo umount /dev/vg_blah/lv_blah检查文件系统。
Run Code Online (Sandbox Code Playgroud)sudo e2fsck -f /dev/vg_blah/lv_blah调整文件系统和逻辑卷的大小。一步完成此操作可以避免导致数据丢失的错误。(注意 lvreduce 参数
-L解释G为 2^30 字节和g10^9 字节。)Run Code Online (Sandbox Code Playgroud)sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah(可选)如果需要,从卷组中删除一个物理驱动器(如果您现在有一个未使用的驱动器)。
Run Code Online (Sandbox Code Playgroud)sudo vgreduce vg_blah /dev/sdxy
所有功劳都归功于 brianmcgee。
注意:如果磁盘末尾有另一个 lv,vgreduce将会失败cannot resize to xxxxx extents as later ones are allocated- 我有一个交换 lv,我删除了它。请参阅如何缩小 Ubuntu LVM 逻辑和物理卷?在这种情况下寻求帮助。
Cao*_* Tu 52
您可以使用 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
Run Code Online (Sandbox Code Playgroud)
安装后,运行程序,在左侧面板中选择要更改的逻辑卷,单击“编辑属性”。
现在根据需要更改参数!
一件好事system-config-lvm是,如果新分区大小小于所有现有数据的总和(我刚刚尝试过并亲眼看到),它将不允许您继续。
参考:
小智 25
注意:您应该使用 Live CD 运行几乎所有以下命令。有时,它希望您卸载已挂载在 / 上的分区(在这种情况下,您无法卸载它)。
这些是调整 LVM 或 LVM2 分区大小所需的所有步骤:
sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu
sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5
Run Code Online (Sandbox Code Playgroud)
如果第二个命令产生如下内容:
/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.
Run Code Online (Sandbox Code Playgroud)
然后,您必须重新排列 LVM 末尾的未分配空间。这意味着在 root 和 swap_1 分区之后。因此,最初,您需要使用以下命令检查物理卷的信息:
sudo pvs -v --segments /dev/sda5
Run Code Online (Sandbox Code Playgroud)
这将显示如下输出:
/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
Run Code Online (Sandbox Code Playgroud)
注意yyy-www。使用以下命令删除外部碎片:
sudo pvmove --alloc anywhere /dev/sda5:yyy-www
Run Code Online (Sandbox Code Playgroud)
现在,让我们看看它是如何进行的:
sudo pvs -v --segments /dev/sda5
Run Code Online (Sandbox Code Playgroud)
这将显示如下输出(注意更改):
/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
Run Code Online (Sandbox Code Playgroud)
之后,使用 GParted 并将 LVM 调整为最大已用区域,其余部分将位于未分配的空间中。享受...
Fli*_*imm 13
只有最新版本的 Gparted (0.14) 支持调整 LVM 物理卷的大小。Ubuntu 12.10 或 13.04 附带的版本不支持它。
以下是调整 LVM 物理卷大小的方法:
如果与 LVM 物理卷关联的卷组没有足够的未分配空间,则需要通过缩小逻辑卷来增加一些空间。查看bigbadonk420 的答案以获取有关如何执行此操作的说明。如果您更喜欢 GUI,您还可以使用 GNOME 磁盘(包含在 Ubuntu 中)执行某些步骤。
从 GParted 的网站上刻录最新的 .iso 映像,然后将其刻录到 CD 或放在 U 盘上。从 CD 或 U 盘启动。或者,您可以从源代码编译最新版本的 GParted。
使用 GParted 调整 LVM 物理卷的大小。GParted 不会让您将 LVM 物理卷缩小到小于未分配空间所允许的大小。
小智 11
我偶然找到了这个答案,但这至少对我有用。就我而言,我已经在 root 之后保留了一个未分配的磁盘空间,所以我跳过了如何获得更多空间的部分,只解释我如何在没有启动的情况下在 root 上使用它。
注意:gparted您最好使用,而不是使用system-config-lvm。下次我会改用那个……我的 gparted 版本是 0.18。
gparted尽可能多地扩展根分区。令我惊讶的是,它只扩展了物理尺寸,而对逻辑部分没有任何作用。所以df -k命令说磁盘已经满了。lvresize -l +100%FREE /dev/ubuntu-vg/root尽可能地扩展逻辑分区。无需在各种方法中检查和计算 GB 或块。resize2fs /dev/ubuntu-vg/root 然后是我做的第三步:它将文件系统扩展到逻辑分区的大小。最后一步可以合并到第二步:
lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root