LVM (Logical Volume Manager) 使用示例
// TODO: 待整理更新…
1. VG 扩容
例如已有 VG 名为centos
,新加的磁盘为/dev/sdb
,用来扩容根目录/
:
使用下列命令会自动将整块/dev/sdb
创建为一个新的 PV,并将其加入centos
以供使用:
> vgextend centos /dev/sdb
> pvdisplay /dev/sdb
--- Physical volume ---
PV Name /dev/sdb
VG Name centos
PV Size 223.57 GiB / not usable <4.59 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 57233
Free PE 5266
Allocated PE 51967
PV UUID d1SdU8-r927-8b0r-Q5qs-zGl9-XhZu-SE8rSw
> vgdisplay centos
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 12
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size <326.13 GiB
PE Size 4.00 MiB
Total PE 83489
Alloc PE / Size 78223 / <305.56 GiB
Free PE / Size 5266 / 20.57 GiB
VG UUID O2IM4T-7sbU-ONuI-maTG-Zrkq-paGl-5f054x
2. LV 扩容
注:CentOS 7 默认文件系统为 XFS, 须使用
xfs_growfs
替代resize2fs
# 当前有三个 LV, 计划为 root 扩容
> lvs centos
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- <34.81g
root centos -wi-ao---- 263.00g
swap centos -wi-a----- 7.75g
# 为 root 这个 LV 增加 10G 的空间
> lvextend -L +10G /dev/centos/root
# CentOS 7 默认文件系统为 XFS, 须使用 xfs_growfs 替代 resize2fs
> resize2fs /dev/centos/root
3. 调整 /home 可用空间至根分区
查看各分区使用情况:
> df -hT -t xfs
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 283G 144G 140G 51% /
/dev/sda6 xfs 1014M 167M 848M 17% /boot
/dev/mapper/centos-home xfs 35G 360M 35G 2% /home
卸载/home
目录:
> umount /home
如果提示无法卸载,则是有进程占用/home
目录,可使用fuser
命令查看并终止占用的进程:
# 查看占用 /home 目录的进程
> fuser -m /home
# 查看占用 /home 目录的进程
> fuser -k /home
调整/home
分区大小至30G
:
> resize2fs -p /dev/mapper/centos-home 30G
注:
xfs
是CentOS 7
默认的文件系统,只能扩大不能缩小,所以在必须缩小文件系统时,需要利用xfsdump
和xfsrestore
工具来备份和还原资料。具体参见:CentOS 7 调整 XFS 格式的 LVM 大小 | CSDN
可能会提示要先运行e2fsck
对文件系统进行检查:
> e2fsck -f /dev/mapper/centos-home
之后再重新执行命令:
> resize2fs -p /dev/mapper/centos-home 30G
挂载上/home
,查看该目录的空间是否变为30G
:
> mount /home
> df -hT /home
此时文件系统已经缩减到30G
,但centos-home
这个Logical Volume
的大小还没有进行调整。使用lvreduce
命令减少centos-home
的空间大小:
# 将 centos-home 这个 LV 调整至 30G
> lvreduce -L 30G /dev/mapper/centos-home
# 以下的语法是相对加减的语法,仅作示例
> lvreduce -L +5G /dev/mapper/centos-home
> lvreduce -L -5G /dev/mapper/centos-home
最后把闲置空间增加给centos-root
,并生效至文件系统:
> lvextend -L +5G /dev/mapper/centos-root
> resize2fs -p /dev/mapper/centos-root
# 或者 xfs_growfs /dev/centos/root
参考文章
- CentOS 7 中使用 LVM 管理磁盘和挂载磁盘 | 博客园
- 使用 lvm 管理磁盘分区 | 且听风吟
- Linux 使用 lvm 管理磁盘 | 阿文的博客
- Linux 磁盘管理系列三:LVM的使用 | Linux 运维日志
- 一张图让你学会 LVM | Linux 就该这么学
- LVM - ArchWiki
- 3 分钟看懂 Linux 磁盘划分 | 知乎
- Linux 系统 /dev/mapper 目录浅谈 | CSDN
- XFS vs EXT4 | 夏天的风
- CentOS 6.5 重新调整 /home 和根目录 / 大小 - FEFJay | 博客园
- CentOS 7 调整 XFS 格式的 LVM 大小 | CSDN