如何在 Linux 中减少/缩小 LVM 大小（逻辑卷调整）
减少/缩小逻辑卷是数据损坏的最高风险。所以，如果可能的话，尽量避免这种情况，但如果没有其他选择的话，那就继续。
LVM
减少/缩小逻辑卷是数据损坏的最高风险。所以，如果可能的话，尽量避免这种情况，但如果没有其他选择的话，那就继续。
![](/data/attachment/album/202010/21/210459ydp5an23nfzgglyy.jpg)


减少/缩小逻辑卷是数据损坏的最高风险。


所以，如果可能的话，尽量避免这种情况，但如果没有其他选择的话，那就继续。


缩减 LVM 之前，建议先做一个备份。


当你在 LVM 中的磁盘空间耗尽时，你可以通过缩小现有的没有使用全部空间的 LVM，而不是增加一个新的物理磁盘，在卷组上腾出一些空闲空间。


**需要注意的是：** 在 GFS2 或者 XFS 文件系统上不支持缩小。


如果你是逻辑卷管理 （LVM） 的新手，我建议你从我们之前的文章开始学习。


* **第一部分：[如何在 Linux 中创建/配置 LVM（逻辑卷管理）](/article-12670-1.html)**
* **第二部分：[如何在 Linux 中扩展/增加 LVM（逻辑卷调整）](/article-12673-1.html)**


![](/data/attachment/album/202010/21/210610kikq1xynfje7hjaa.jpeg)


减少逻辑卷涉及以下步骤：


* 卸载文件系统
* 检查文件系统是否有任何错误
* 缩小文件系统的大小
* 缩小逻辑卷的大小
* 重新检查文件系统是否存在错误（可选）
* 挂载文件系统
* 检查减少后的文件系统大小


**比如：** 你有一个 **100GB** 的没有使用全部空间的 LVM，你想把它减少到 **80GB**，这样 **20GB** 可以用于其他用途。



```
# df -h /testlvm1

Filesystem              Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv002  100G 15G  85G   12%  /testlvm1

```

### 卸载文件系统


使用 `umount` 命令卸载文件系统：



```
# umount /testlvm1

```

### 检查文件系统是否有任何错误


使用 `e2fsck` 命令检查文件系统是否有错误：



```
# e2fsck -f /dev/mapper/vg01-lv002

e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg01-lv002: 13/6553600 files (0.0% non-contiguous), 12231854/26212352 blocks

```

### 缩小文件系统


下面的命令将把 `testlvm1` 文件系统从 **100GB** 缩小到 **80GB**。


**文件系统大小调整的常用语法（`resize2fs`）**：



```
resize2fs [现有逻辑卷名] [新的文件系统大小]

```

实际命令如下：



```
# resize2fs /dev/mapper/vg01-lv002 80G

resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/vg01-lv002 to 28321400 (4k) blocks.
The filesystem on /dev/mapper/vg01-lv002 is now 28321400 blocks long.

```

### 减少逻辑卷 （LVM） 容量


现在使用 `lvreduce` 命令缩小逻辑卷（LVM） 的大小。通过下面的命令， `/dev/mapper/vg01-lv002` 将把逻辑卷 （LVM） 从 100GB 缩小到 80GB。


**LVM 缩减 （`lvreduce`） 的常用语法**：



```
lvreduce [新的 LVM 大小] [现有逻辑卷名称]

```

实际命令如下：



```
# lvreduce -L 80G /dev/mapper/vg01-lv002

WARNING: Reducing active logical volume to 80.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv002? [y/n]: y
Reducing logical volume lv002 to 80.00 GiB
Logical volume lv002 successfully resized

```

### 可选：检查文件系统是否有错误


缩减 LVM 后再次检查文件系统是否有错误：



```
# e2fsck -f /dev/mapper/vg01-lv002

e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg01-lv002: 13/4853600 files (0.0% non-contiguous), 1023185/2021235 blocks

```

### 挂载文件系统并检查缩小后的大小


最后挂载文件系统，并检查缩小后的文件系统大小。


使用 `mount` 命令[挂载逻辑卷](https://www.2daygeek.com/mount-unmount-file-system-partition-in-linux/)：



```
# mount /testlvm1

```

使用 [df 命令](https://www.2daygeek.com/linux-check-disk-space-usage-df-command/)检查挂载的卷。



```
# df -h /testlvm1

Filesystem              Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv002  80G  15G  65G   18%  /testlvm1

```



---


via: <https://www.2daygeek.com/reduce-shrink-decrease-resize-lvm-logical-volume-in-linux/>


作者：[Magesh Maruthamuthu](https://www.2daygeek.com/author/magesh/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

