挂载点扩容-Linux-CentOS7
情景:当服务器磁盘挂载的目录空间不足时,就需要对相应的挂载点进行扩容,以/home
挂载点为例
一、磁盘分区、格式化、挂载操作
1. 用root用户登录系统
2. 查看系统是否识别出新加的硬盘
使用lsblk
(list block,即用于列出所有可用块设备信息,而且还能显示他们之间的依赖关系),如下图所示
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908195811039-603789868.png)
图5 识别新硬盘
3.磁盘分区
分区说明:fdsik
只支持2T硬盘的分区,如果硬盘是2T以上的,分区要用parted
。
1)使用fdisk命令分区(硬盘容量小于等于2T)
a. 输入fdisk /dev/sdb
(对新加磁盘sdb进行分区)
b. 后续Command 依次输入:n
(新建一个分区)-->p
(选择主分区)-->1
(选择分区号)-->直接回车(表示使用默认起始扇区)-->直接回车(不设置结束扇区,则默认使用全部磁盘)-->t
(改磁盘类型)-->1
(选分区,若可选则选)-->8e
(将磁盘设置为LVM模式)-->p
(显示磁盘信息)-->w
(使前面的操作生效并退出)
c. 详细操作可参照下列图片
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908195936988-351921354.png)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908195942802-1283138472.png)
图6 fdisk分区
d. #lsblk
(查看分区后的块设备信息)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908200051288-762953392.png)
图7 检查磁盘新分区
2)使用parted命令分区(不论硬盘容量大小)
a. 输入parted /dev/sdb
(对新加磁盘sdb进行分区)
b. 依次输入:p
(查看硬盘信息)-->mklabel gpt
(创建gpt分区表) -->y
(warning数据删除) -->mkpart
(创建分区) -->sdb1
(输入分区名)-->xfs
(文件系统类型) -->0
(起始位置) -->硬盘容量大小(终止位置) -->I
(Ignore,忽视warning) -->p
(查看硬盘信息)-->quit
(退出)
c. 详细操作可参照下列图片
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908200749864-1560035874.png)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908200755780-1665269697.png)
图8 parted分区
d. # lsblk
(查看分区后的块设备信息)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908195811039-603789868.png)
图9 检查磁盘新分区
4.将新增的分区创建为物理卷
a. # pvcreate /dev/sdb1
(新增物理卷)
b. # pvdisplay
(查看物理卷信息,见下图)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201029142-770321501.png)
5. 扩容/home所挂载分区对应的逻辑卷(LV)
1)查询/home所挂载的磁盘分区
# lsblk -ip
(结果如下图)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201107699-795335408.png)
由上图可知/home
挂载到了/dev/mapper/centos-home
分区上
2)查询该磁盘分区所对应的LV(逻辑卷)
# lvdisplay /dev/mapper/centos-home
(结果见下图)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201142826-262602678.png)
由上图可知磁盘分区/dev/mapper/centos-home
所在逻辑卷为home
,所在卷组为centos
,现在就知道了,我们待会要扩容的卷组以及逻辑卷了。
3)查询卷组信息(新增物理卷前)
# vgdisplay centos
(结果见下图)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201225288-317026455.png)
4)将新增物理卷(/dev/sdb1)扩展至卷组centos
a. # vgextend centos /dev/sdb1
(扩展centos卷组)
b. # pvdisplay
(结果见下图)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201302928-926163256.png)
c. # vgdisplay
(结果见下图)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201331668-1638132130.png)
5) 将centos卷组中扩容得到的空间分配给指定逻辑卷
a. # lvdisplay /dev/centos/home
(LV扩容前,先查看逻辑卷home的容量)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201400174-1576452422.png)
b. # lvextend -l +100%FREE /dev/centos/home
(扩容逻辑卷home)
c. # lvdisplay /dev/centos/home
(与LV扩容前对比)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201428785-208363725.png)
6. 同步LV容量到文件系统
a. # df -h
(查看文件系统的使用情况)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201500394-1580448591.png)
可以看到/home挂载点的容量并没有增加,这是因为目前还只是扩容了LV,但是并未扩容其对应的文件系统,故还需要增加对应文件系统的容量。
b. # cat /etc/fstab
(确认/home的文件系统类型)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201551010-970732489.png)
可以看出/home挂载点对应的文件系统类型为xfs类型,故使用xfs_growfs工具对其进行扩容,若是其他文件系统类型,需要使用对应的工具扩容文件系统,如ext4文件系统则要使用resize2fs工具。
c. # xfs_growfs /dev/mapper/centos-home
(同步LV容量到xfs文件系统)
d. # df -h
(查看/home是否已扩容)
![](https://img2022.cnblogs.com/blog/2680368/202209/2680368-20220908201621102-362271583.png)
至此,我们就实现了对指定挂载点/home的扩容。
二、取消扩容
注:(以下操作会影响服务器中调用/home目录的服务进程,慎用)
目的:将磁盘sdb扩容到home逻辑卷的容量释放,实现centos磁盘空间重新分配。
由于xfs文件系统不能缩小空间,所以只能将/home先卸载,移除新磁盘物理卷移出centos卷组,为/home重建新的逻辑卷,再格式化,并挂载
1• 备份 /home目录下的文件到root目录下
#
tar -czvf /root/home.tgz /home
2• 查看备份内容的完整性
#
tar -tvf /root/home.tgz
3• 取消挂载/home
#
umount /dev/mapper/centos-home
# 有可能有target is busy错误,使用umount -l /dev/mapper/centos-home
, l表示lazy
4• 移除home逻辑卷
#
lvremove /dev/mapper/centos-home
# 有可能有Logical volume centos/home contains a filesystem in use.
# 则使用fuser -m -v -f -k /home
关闭所有home进程(非常危险)
5• 将物理卷sdb1移出centos卷组
#
vgreduce centos /dev/sdb1
6• 为/home重建新的逻辑卷,格式化,并挂载
#
lvcreate -l +100%FREE -n home centos
#重建home逻辑卷
#mkfs.xfs /dev/centos/home
#格式化为xfs文件系统,有warning时用-f选项
#mount /dev/mapper/centos-home /home
#格式化为xfs文件系统后,就可以将/home挂载出来
7• 验证磁盘sdb空间是否释放并且/home是否重新挂载成功
#
lsblk
#查看块设备信息
#df -h
#查看文件系统信息
8• 恢复备份
#
tar -xzvf /root/home.tgz -C /home
文章出处: https://www.cnblogs.com/jianmuzi/p/16670697.html
版权声明: 本博客为学习时整理的笔记,文章 [大部分为原创] 作品,转载请 [注明文章出处] ,您的支持是我创作的动力!
转载文章,请遵守《中华人民共和国著作权法》相关规定或遵守《署名CC BY-ND 4.0国际》禁止演绎规范,携带原创出处转载。