前几天遇到了这样一个情景:
一个服务器是以虚拟机的形式提供的,通过df -h看服务器磁盘空间只有30多个G,但通过fdisk -l看发现有一个160G的磁盘空间 没有挂载,因此需要在不重启的前提下将160G的磁盘挂载。
之前处理过好几次这种问题,但一段时间不弄,又有点忘了,趁此机会将此案例分享一下,加深记忆。
在说这个案例前,先简要谈一下处理这个问题所要用到的逻辑卷管理(LVM)相关知识。
逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。
LVM使用分层结构,如下图所示。
图中顶部,首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。
案例:磁盘扩容
1.查看磁盘文件可用空间,发现可用磁盘空间只有30多个
[root@server tomcat-atm]# df -h
2.查看磁盘空间对的详细信息,可见有一个160G的磁盘
[root@server tomcat-atm]# fdisk -l
3.创建磁盘分区,使用‘8e’类型来使其可用于LVM
[root@server tomcat-atm]# fdisk /dev/sdb
4.创建物理卷
root@server tomcat-atm]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
5. 检查物理卷的创建情况
[root@server tomcat-atm]# pvdisplay
6. 扩展卷组
[root@server tomcat-atm]# vgextend centos /dev/sdb
Volume group "centos" successfully extended
7. 查看卷组
[root@server tomcat-atm]# vgdisplay
8. 扩展lvm卷
[root@server tomcat-atm]# lvextend -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 35.47 GiB (9080 extents) to 185.50 GiB (47489 extents).
Logical volume root successfully resized.
9. 扩展容量
[root@server tomcat-atm]# xfs_growfs /dev/mapper/centos-root
10.查看磁盘空间,可以看到扩容成功