前言:在docker配置python、java、php项目,镜像越来越多之前装系统的时候分配的空间太小导致Linux系统空间不足,应该怎么办呢,如何centOS 7扩容?
1.关闭虚拟机,在VMWare的”此虚拟机设置“中找到硬盘,并扩展磁盘容量。
此时虽然扩展完成,但是VMware会提示要重新分区,扩展的磁盘空间并没有被分配给Linux对应的分区,需要自行分配,相当于是做一个标记告诉计算机这部分磁盘空间给虚拟机。
2.输入df -Th 发现root的空间未增加
# df -Th
3.输入fdisk -l,查看虚拟机硬盘空间发现已经已经变大了 (之前是20GB,现30GB了,一般没扩容的只有sda1和sda2)留意sda2的ID 8e
# fdisk -l
4.运行fdisk /dev/sda ,可以输入m以获取帮助。可以发现输入n为添加一个分割区(所谓的分区),然后一直enter就会选择默认值,最后可以看到分区三分配了10G空间
即:fdisk /dev/sda ->m->n->p->3->t->L->8e->w
5.然后再输入 t 改变该分区的系统id ,输入L可以查看所有代码,可以看到sda2就是8e ,将其设置为 8e,可以看到Linux类型已经改为Linux LVM。
6.随后输入w,将这个表保存到磁盘上,再输入reboot重启虚拟机(不重启后面会出问题)
7.再键入fdisk -l,可以发现新添加的分区已经设置好了,但是centos-root空间还是没有增加的,不急先将该分区格式化一下mkfs -t ext3 /dev/sda3
8.现在创建物理卷 pvcreate /dev/sda3,创建成功之后,输入pvdisplay,可以看到有个新的物理卷,但是现在还没有数据卷组的。
9.输入df -Tl 可以看到要给文件系统扩容的名字为centos,也要对应上。
10.输入vgextend centos /dev/sda3(将分区sda3分到需要的扩容的数据卷组,或者直接跟sda2同是centos ),输入pvdisplay可以看到都属于centos的数据卷组,同时sda3的allocation可分配已经变为yes了,并有10G的空余空间
11.输入vgdisplay 查看数据卷组的情况,可以看到centos数据卷的总空间为28.99g,基本是扩容完成。
12.输入lvextend -l +100%free /dev/mapper/centos-root 将空闲可分配的空间100%全部给/dev/mappercentos-root, -l,小写l是分配百分比的,大写L是分配具体值的,分配成功后可以看到不一样的变化。
//也可以使用使用lvresize -L + 10G /dev/mapper/centos-root。(注意扩展的内存大小,如果报错,说明没有这么大的空间可以扩展,需要减少增加空间,如改成:lvresize -L + 9.9G /dev/mapper/centos-root)
13.最后同步一下系统文件。xfs_growfs /dev/mapper/centos-root。(centos 7)
如果是centos 6 输入resize2fs 具体查看帮助。
终于扩容成功。