centos7 基于lvm的根目录扩容
centos7 在安装后,通常我们通过df -h 来查看磁盘空间的时候率。如下:
如上,在根目录 / 下,已经使用了23%,这个时候,如果需要增加空间,如果你是实体机,则只能增加磁盘,如果你是虚拟机或者云服务器,那么可以自由扩展,比如vsphere(vmware的私有云平台),可以直接增加磁盘空间,我这里就是,于是我将磁盘空间从80G增加至100G。直接增加磁盘空间,但是,不管哪种方式,增加后,会发现,并没有生效,df -h 能用的空间并没有增加,而新增的空间使用 fdisk -l 则可以查看到,如下:
可以看到,虽然我的磁盘空间大小为107G ,但是下面可用空间只有80G 左右。 增加的空间并没有被使用。
下面,就需要将没使用到的空间,用来扩容在根目录下,或别的挂载目录下。 在开始之前,我们必须要对linux的磁盘管理有一定的认识:
入上图,在centos中,对于储存和磁盘空间的管理是lvm 。上图就是lvm 的结构 。 我们常用的 fdisk -l 命令,显示的就是物理分区,相当于直接作用于磁盘上的。
在物理分区中,我们可以在不同的磁盘中,划分去分区,而这个分区必须要设置为lvm 分区格式,只有设置为lvm分区格式,才可以将这些分区,提取出来创建成物理卷,
也就是图中第二层,这些在不通物理磁盘中的物理卷,就可以组成一个大的卷组,这个卷组就相当于逻辑上的磁盘,然后可以在卷组上进行分区,分为逻辑卷。而这些逻辑卷就是我们常用的 df -h 来查看的磁盘使用锁显示的,例如 根目录 /home目录等就是常用的逻辑卷。
你可能会问为什么要这样做,因为一般的物理磁盘进行的物理分区,一旦确定,是不能修改大小的,也就无法很好的就行扩容。而且当容量大于一般磁盘的需求时,就没有像lvm一样可以通过组合多个物理磁盘来形成一个大的卷组使用。当然,也为了更好的管理。
好的。下面就开始对根目录进行扩容。
这里,在保存后,会发现,可能会出现报错,显示繁忙,无法重新读取分区信息。下面有解决办法。可以用过重启或者执行 partprobe or kpartx。所以,这里直接执行partprobe
[root@FZ-VL-003251 ~]# partprobe
创建了物理分区后,就需要将物理分区创建为物理卷:
vgextend centos /dev/sda3
pvdisplay## 查看物理卷
##将物理分区3 创建物理卷,这里这个/dev/sda3是第一步创建的物理分区,
通过fdisk -l 就可以看到是在第一个物理磁盘/dev/sda下面的分区(一个磁盘可以有多个分区),原本已有/dev/sda1,/dev/sda2
通过第一步创建生成/dev/sda3这个分区,然后将这个分区 创建成物理卷
3. 物理卷创建成功后,则需要将物理卷添加到卷组中,这样才能在卷组中进行分配。
vgextend centos /dev/sda3 ## 将物理卷加入到卷组
vgdisplay ## 加入后,再次查看卷组
4. 添加进卷组后,就是将剩余空间对逻辑卷进行扩容。
lvdisplay ## 查看逻辑卷
lvextend -l +100%FREE /dev/centos/root ## 将剩余百分百空间都添加到逻辑卷中
lvdisplay
5. 然后重新识别一下分区大小,就可以通过df -h看到新增的容量了
xfs_growfs /dev/centos/root ## 命令,后面跟的是逻辑卷的path
OK,到此,扩容完成。并且不需要重启,方便好用。