首页 > 系统相关 >CentOS 中利用逻辑卷挂载某个目录以及扩容

CentOS 中利用逻辑卷挂载某个目录以及扩容

时间:2022-11-26 08:22:06浏览次数:57  
标签:CentOS centos 分区 文件系统 dev home 某个 挂载 xfs

LVM

挂载

假设当前挂载点只有 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

内容并非原创,感谢仪超兄的分享

 

标签:CentOS,centos,分区,文件系统,dev,home,某个,挂载,xfs
From: https://www.cnblogs.com/leolzi/p/16926861.html

相关文章