CentOS 中利用逻辑卷挂载某个目录以及扩容
相关命令:
挂载
假设当前挂载点只有 root
,即 /
,现在要将 home
文件夹单独挂载到一个逻辑卷中:
# 假设虚拟机中已经新建硬盘
pvs
# 查看新硬盘名称,假设为 /dev/sdb1,容量为 10G
fdisk -l
# 创建 LVM pvcreate [device1] [device2...]
pvcreate /dev/sdb1
# 查看当前 pv 信息,确认硬盘容量
pvdisplay
pvs
# 创建卷组 VG:centos-home,如果有想将多块硬盘合并,vgcreate [name] [device1] [device2....]
vgcreate centos-home /dev/sdb1
vgdisplay
vgs
# 基于卷组(VG)创建逻辑卷(LV)
# 在 centos-home 卷组上创建逻辑卷 home,大小为 2G
lvcreate -n home -L 2G centos-home
lvdisplay
lvs
# 格式化
# 注意卷的格式,xfs还是ext4
mkfs -t xfs /dev/centos-home/home
# 挂载
# 如果是新挂载点,则用 mkdir xxx
# 如果不是,请先备份
mv /home /home.bak
# 或者使用 tar -xzvf home.tar.gz /home
mount /dev/centos-home/home /home
# 有备份则执行还原
# mv /home.bak/* /home
# 设置开机加载
# 注意卷的格式,xfs还是ext4
echo "/dev/centos-home/home /home xfs defaults 0 0" >>/etc/fstab
扩容
容量够用
umount /home
# 增加 2G 空间
lvextend -L +2G /dev/centos-home/home
# resize2fs不能够对xfs文件系统进行调整
# 如果是 xfs
xfs_growfs /dev/centos-home/home
# 如果是 ext
e2fsck -f /dev/centos-home/home
resize2fs /dev/centos-home/home
mount -a
df -hlT
容量不够用
外部添加硬盘
# 假设已经从外部添加了一块硬盘 /dev/sdc,容量为 8G
fdisk -l
# 设置分区格式,分区类型 lvm
p #查看已分区数量(我看到有两个 /dev/sda /dev/sdb)
n #新增加一个分区
p #分区类型我们选择为主分区
#分区号回车,假设为 sdc
回车 #默认(起始扇区)
回车 #默认(结束扇区)
t #修改分区类型
#选 sdc
8e #修改为LVM(8e就是LVM)
w #写分区表
q #完成,退出fdisk命令
#
partprobe
vgextend centos-home /dev/sdc
# 扩容逻辑卷
# -L [+] size:+号表示在原来的基础上额外增加,不要+号则设定为具体额度
lvextend -L +7.99G /dev/centos-home/home
# 如果是 xfs
xfs_growfs /dev/centos-home/home
# 如果是 ext
# e2fsck -f /dev/centos-home/home
# resize2fs /dev/centos-home/home
df -hlT
缩减其他逻辑卷
前提条件:根分区 /
容量不够用,而 /home
分区空间较大,因此缩减 /home
分区,扩容 /
注:使用前,确认分区的容量;xfs
文件系统只能扩容而无法收缩,如果要想收缩,可以先备份,之后再进行减容重建,再恢复数据。
# 备份/home
# 如果容量不够,要备份到别的机器上
tar cvf /tmp/home.tar /home
# Psmisc软件包包含三个帮助管理/proc目录的程序,安装下列程序: fuser、 killall、pstree和pstree.x11(到pstree的链接)
# fuser 显示使用指定文件或者文件系统的进程的PID。
# killall 杀死某个名字的进程,它向运行指定命令的所有进程发出信号。
# pstree 树型显示当前运行的进程。
# pstree.x11 与pstree功能相同,只是在退出前需要确认。
yum install -y psmisc
# 卸载/home,如果无法卸载,先终止使用/home文件系统的进程
fuser /home
umount /home
# 根据命令,找到 home 所在 lv path
# 类似于 LV Path /dev/centos/home
lvdisplay|grep home|grep -i path
# 删除 lv_home
### 删除之前要备份或者将PE移动到空闲的PV中
lvremove /dev/centos/home
# 扩容根所在的的 lv,比如在原来的基础上再增加20G
# +号表示在原来的基础上额外增加,不要+号则设定为具体额度
lvresize -L +20G /dev/centos/root
#扩展/root文件系统
xfs_growfs /dev/centos/root
# 重建home的LV,总容量为 10G
# +号表示在原来的基础上额外增加,不要+号则设定为具体额度
lvcreate -L 10G -n home centos
#创建文件系统
mkfs.xfs /dev/centos/home
#挂载
mount /dev/centos/home /home
# 还原数据
tar xvf /tmp/home.tar -C /
# 查看卷组信息
pvs
vgs
lvs
# 查一下root文件系统的空间看是不是已经改变了。
df -hlT
参考:
https://www.cnblogs.com/xiejava/p/10960284.html
https://www.cnblogs.com/Sungeek/p/9084510.html
https://www.cnblogs.com/hgzero/p/14193427.html?ivk_sa=1024320u
非逻辑卷扩容
新增空间不在同一块硬盘上
无法扩容,只能备份原来的,释放到新的大空间上
在同一块硬盘上
# 如果是xfs文件系统,使用xfs_growfs命令扩展容量:
xfs_growfs /dev/sdc
# resize2fs命令是用来增大或者收缩未加载的`ext2/ext3/ext4`文件系统的大小。
resizefs -d -p -F /dev/sdc
内容并非原创,感谢仪超兄的分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2020-11-26 mysql sql 使用记录