LVM 动态调整容量大小
有时候机器在安装的操作系统存储空间分配时总会有存在一些出入--没有合理分配分区空间。比如IDC机房人员帮忙安装操作系统时,默认就是自动分区。默认分区会存在大部分空间落在/home
分区上面。不过还好使用的是LVM来管理,可以进行动态划分调整。
XFS 文件系统
- 示例:将
/data
分区空间扩容
# pvcreate /dev/sdc
# vgextend vg_name /dev/sdc
# lvextend -l +100%FREE /dev/mapper/centos-data
# xfs_growfs /data # xfs
# resize2fs /data # ext*
- 示例: 将
/home
分区的空间减少100G,并将该该空间划入到/root
分区上面。
# umount /home/
# lvreduce -L -100G /dev/mapper/centos-home
# xfs_growfs /dev/mapper/centos-home
# mkfs.xfs -f /dev/mapper/centos-home
# mount /dev/mapper/centos-home /home/
# lvextend -l +100%FREE /dev/mapper/centos-root
# xfs_growfs /dev/mapper/centos-home
EXT 文件系统
# lvextend -L 120G /dev/mapper/centos-home //调整至120G
# lvextend -L +20G /dev/mapper/centos-home //在原来的基础上增加20G
# lvreduce -L 50G /dev/mapper/centos-home //在原来的基础上减小50G
# resize2fs /dev/mapper/centos-home //执行生效
小结
- resize2fs命令 针对的是ext2、ext3、ext4文件系统
- xfs_growfs命令 针对的是xfs文件系统
xfs 文件系统在缩减空间大小时需要重新格式化--会存在数据丢失的风险。而ext文件系统不会存在该问题。
其它
减少分区大小时,需要将该分区进行卸载才能操作,当该目录有程序使用该分区时是无法卸载的。
# umount /home
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
查看哪些进程使用该分区
# lsof +D /home
或
# fuser -m /home // 也可以接入 -k 参数,表示自动把占用home分区的进程杀掉,还可以加一个-i 参数,这样每杀死一个程序前,会询问