Debian在LVM下ext4文件系统调整/和/home分区大小
更新于:A.D.2023.07.06
安装系统时给/home分配的空间过大,/空间太小,重新进行分配。
环境
shiokiri@thinkpad-e15:~$ neofetch
_,met$$$$$gg. shiokiri@thinkpad-e15
,g$$$$$$$$$$$$$$$P. ---------------------
,g$$P" """Y$$.". OS: Debian GNU/Linux 11 (bullseye) x86_64
,$$P' `$$$. Host: 20YG001YCD ThinkPad E15 Gen 3
',$$P ,ggs. `$$b: Kernel: 5.10.0-23-amd64
`d$$' ,$P"' . $$$ Uptime: 27 mins
$$P d$' , $$P Packages: 2191 (dpkg)
$$: $$. - ,d$$' Shell: bash 5.1.4
$$; Y$b._ _,d$P' Resolution: 3840x2160
Y$$. `.`"Y$$$$P"' DE: GNOME 3.38.6
`$$b "-.__ WM: Mutter
`Y$$ WM Theme: Adwaita
`Y$$. Theme: Ant [GTK2/3]
`$$b. Icons: Adwaita [GTK2/3]
`Y$$b. Terminal: gnome-terminal
`"Y$b._ CPU: AMD Ryzen 5 5500U with Radeon Graphics (12) @ 2.100GHz
`""" GPU: AMD ATI 04:00.0 Lucienne
Memory: 1064MiB / 14868MiB
过程
使用recovery mode启动
在GRUB启动页面选择即可
查看文件系统使用情况
# df -hT
示例(非操作过程中数据):
文件系统 类型 容量 已用 可用 已用% 挂载点
udev devtmpfs 7.2G 0 7.2G 0% /dev
tmpfs tmpfs 1.5G 9.9M 1.5G 1% /run
/dev/mapper/debian--vg-root ext4 222G 23G 190G 11% /
tmpfs tmpfs 7.3G 12M 7.3G 1% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/nvme0n1p2 ext2 471M 117M 330M 27% /boot
/dev/nvme0n1p1 vfat 511M 5.8M 506M 2% /boot/efi
/dev/mapper/debian--vg-home ext4 246G 39G 196G 17% /home
tmpfs tmpfs 1.5G 144K 1.5G 1% /run/user/1000
查看LVM元数据
查看卷组
# vgdisplay
示例(非操作过程中数据):
--- Volume group ---
VG Name debian-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 11
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 475.96 GiB
PE Size 4.00 MiB
Total PE 121846
Alloc PE / Size 121846 / 475.96 GiB
Free PE / Size 0 / 0
VG UUID oU51kj-3uiu-4nPI-1OTp-K4NN-i4IG-gqsZrE
查看逻辑卷
# lvdisplay
卸载/home
不能在线缩减,需要先卸载
# umount /home 卸载挂载的lv
# mount 查看挂载的lv是否卸载成功
缩减/home大小
不得更改顺序!!!必须先缩减逻辑卷的逻辑边界,再缩减物理边界
确保缩减后的空间大小依然能存储原有的所有数据
- e2fsck 在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态
- resize2fs 对lv逻辑卷的文件系统首先尽可能缩小
- lvreduce 对lv逻辑卷的物理边界缩减到需要的值
- resize2fs 扩展文件系统到物理边界大小
缩减行为非常危险,缩减文件系统时要尽可能缩小,缩减逻辑卷物理边界时缩减到需要的值,然后再次调整文件系统(使用一段时间后,文件系统df -hT
要比逻辑卷fdisk -l
/ lvdisplay
小,硬盘元数据需要占用空间),这点所有的中文教程叙述都不正确,非常危险!
# e2fsck -f /dev/mapper/debian--vg-home
# resize2fs /dev/mapper/debian--vg-home 200GG 调整逻辑卷的文件系统大小为200G
# lvreduce -L 250G /dev/mapper/debian--vg-home 对逻辑卷的物理边界缩减为250G
# resize2fs -p /dev/mapper/debian--vg-home 扩展文件系统到物理边界大小
挂载/home
挂载lv逻辑卷
# mount /dev/mapper/debian--vg-home /home
扩充/大小
不得更改顺序!!!必须先扩展逻辑卷的物理边界,再调整文件系统
lvextend 扩展逻辑卷的物理边界
- lvextend -L [+]# /PATH/TO/LV_NAME 指定扩展后的容量,+表示在目前容量上直接增加#容量,不用+表示,扩展后的容量为#
- lvextend -l +100%FREE /PATH/TO/LV_NAME 把所有空余容量进行分配
resize2fs 调整逻辑卷的文件系统
resize2fs /PATH/TO/LV # 调整文件系统到#,该值不能超过物理边界
resize2fs -p /PATH/TO/LV -p 表示打印已完成的百分比进度条
# lvextend -l +100%FREE /dev/mapper/debian--vg-root
# resize2fs -p /dev/mapper/debian--vg-root
检查结果
# df -hT
扩充交换空间大小
# free -m
# swapoff /dev/VolGroup/lv_swap
# lvextend -l +100%FREE /dev/mapper/debian--vg-swap_1
# mkswap /dev/VolGroup/lv_swap
# swapon /dev/VolGroup/lv_swap
# free -m
注意事项
ext4才可以缩减,xfs不能缩减
扩充空间一定是先lvresize后resize2fs!!!
缩减空间一定是先resize2fs后lvresize!!!
本文由 落影汐雾 原创,采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议
本文链接:https://x.lyxw.xyz/2023/linux-lvm/