linux

Linux分区:如何缩小分区大小

小樊
39
2025-10-30 19:56:56
栏目: 智能运维

Linux分区缩小分区大小操作指南

缩小分区是一项高风险操作,可能导致数据丢失,务必提前备份重要数据(如使用rsynctar备份至外部存储)。以下是针对不同分区类型的详细步骤:

一、非LVM分区(直接操作物理分区)

1. 卸载目标分区

若分区处于挂载状态(如/home/var),需先卸载。使用umount命令,例如:

sudo umount /dev/sda5  # 替换为目标分区路径

通过df -h确认分区已卸载(不再显示在列表中)。

2. 检查并修复文件系统

使用e2fsck(适用于ext2/ext3/ext4)检查文件系统完整性,强制修复错误:

sudo e2fsck -f /dev/sda5  # 替换为目标分区路径

3. 缩小文件系统

先缩小文件系统,再调整分区表,避免数据截断。使用resize2fs命令,指定目标大小(如4G):

sudo resize2fs /dev/sda5 4G  # 缩小至4GB

注:若分区为根分区(无法卸载),需进入救援模式(如使用Live CD/USB启动),再执行上述步骤。

4. 调整分区表

使用partedfdisk修改分区大小:

5. 验证结果

使用df -h查看分区大小,确认是否缩小至目标值;再用fdisk -l /dev/sda检查分区表是否正确。

二、LVM分区(逻辑卷管理)

LVM分区的缩小需通过逻辑卷(LV)→ 文件系统的顺序操作,步骤更严格:

1. 卸载目标分区

若分区已挂载(如/home),先卸载:

sudo umount /dev/vg0/lv1  # 替换为逻辑卷路径(如/dev/mapper/vg-home)

2. 检查并修复文件系统

sudo e2fsck -f /dev/vg0/lv1  # 替换为逻辑卷路径

3. 缩小文件系统

使用resize2fs将文件系统缩小至目标大小(如30G):

sudo resize2fs /dev/vg0/lv1 30G

4. 缩小逻辑卷

使用lvreduce命令,将逻辑卷缩小至目标大小(需小于等于文件系统大小):

sudo lvreduce -L 30G /dev/vg0/lv1  # 缩小至30GB

注:若逻辑卷正在使用,需添加-f强制缩小(风险更高)。

5. 验证结果

重新挂载分区:

sudo mount /dev/vg0/lv1 /mnt/home  # 替换为挂载点
df -h /mnt/home  # 确认大小
lvdisplay /dev/vg0/lv1  # 检查逻辑卷大小

注意事项

关键提醒

0
看了该问题的人还看了