之前写过一篇文章,介绍如何缩小 LVM 管理着的分区,本次以一个实际例子来补充一下。
一、磁盘布局。500GB,MBR 格式。共两个分区,第一个是 boot 分区(主分区),其后是扩展分区,其上为单个 PV(Physical Volume) 的 VG(Volume Group),再上为单个 LV(Logical Volume),文件系统为 ext4。目标是将扩展分区缩小到 230GB 左右。
二、实操步骤。
1、首先要是用非本盘上的 Linux 系统引导;
2、用 e2fsck 命令对文件系统进行检查,必要时可能需要加 -f 参数;
3、缩小文件系统
1 2 3 |
#resize2fs /dev/ubuntu-vg/root 232G Resizing the filesystem on /dev/ubuntu-vg/root to 60817408 (4k) blocks. The filesystem on /dev/ubuntu-vg/root is now 60817408 (4k) blocks long. |
4、缩小逻辑卷
1 |
#lvreduce -L 232G /dev/ubuntu-vg/root |
会显示 …… from 465.00GiB (119040 extents) to 232.00GiB (59392 extents)
5、缩小物理卷
1 |
#pvresize --setphysicalvolumesize 237572M /dev/sda5 |
注意上面的大小是怎么来的:此处如果直接使用 232G 这样的参数表示的话,会报失败;给出的信息里会标明这个值将使得 PV 仅有 59391 个 extent 可用,较之上个步骤中逻辑卷所需的 59392 少了 1;解决方法就是加一个 1,使之成为 59393 个 extent,按照每个 extent 为 4M 来计算,则总数为 237572M。
6、计算物理卷的结束扇区号
首先在 GParted 中查看得知物理卷(操作时请注意,不是扩展分区 /dev/sda2)的起始扇区号为 1581056。物理卷为 237572M 的大小,每个 M 占用 2048 个扇区,总计 486547456 个扇区;则结束扇区号为 1581056+486547456-1=488128511。
7、用 parted 工具调整物理卷和扩展分区的结束扇区
1 2 3 4 5 |
#parted /dev/sda unit s resizepart 5 488128511 resizepart 2 488128511 q |
收工即可。