VMware虚拟机(centos7)容量不足调整(LVM)
搬运来源: https://blog.csdn.net/weixin_43364556/article/details/107015624
检查当前容量状态
命令:df -h
为虚拟机增加硬盘
- 右击虚拟机,点击设置,出现下图
- 点击添加,选择硬盘,下一步
- 选择默认的SCSI,下一步
- 创建新的虚拟机硬盘
- 选择硬盘大小
- 选择储存位置与名称(这里可以自行选择储存的位置,找一个大一点的硬盘储存即可),将来拷贝虚拟机的时候可以直接将这些文件一起拷走就行。
重启虚拟机
记得,这里需要重启虚拟机,因为不重启虚拟机无法检测新添加的硬盘(我所知道的的方式,后续有较好的方法再补充)
将添加的硬盘转化为LVM
LVM是扩容时使用的空间的格式,是linux特有的空间处理方法。
-
利用fdisk -l命令检查新添加的硬盘
从检查的结果看,对于原来存在的硬盘,它已经进行了分区(sda1-3,sdc1-3),并且不同的分区分配了不同的大小空间。但是新的磁盘是没有进行分区的,自然也没有分配大小。 -
分区
要对新添加的磁盘进行分区,并且转化为LVM的格式才可以进行扩容
分区命令 fdisk /dev/sd+(新添加的磁盘号码,比如e)
这里需要进行的操作是按照提示划分出我们想要的分区大小。分区结束后,输入t(转换分区的格式),然后选择8e(选中LVM格式)
分区完成后,输入w即可完成分区操作。
由于已经将所有的空间划分了,这里没有可用的sector了,所以没办法进行分区,下次分区的时候吧截图带上。
创建PV分区
-
检查当前PV状态
利用 pvdisplay命令显示pv分区,这里可以看出每一个分区的详细情况(PV名称,对应的VG名称,空间大小)。可以看出PV分区是与硬盘分区对应的。VG分区(centos)则可以对应多个PV分区,成为一个大的空间。这里的VG分区名称我们后续也会用到 -
创建PV分区
命令:pvcreate
合并PV到VG组中
- 检查已有的VG组
命令:vgdisplay
这里我们可以看到VG组的名称为centos,格式为lvm2.VG的大小为248G,已经分配的PE(Alloc PE),和可用的PE(Free PE).我们分配用的空间就是用的Free PE中的大小,所以下次我们想要分配空间时,再添加新的硬盘之前先检查Free PE中还有没有空间可以用。假如存在的话,就不用添加硬盘,接着下面的步骤添加空间即可。 - 扩充VG空间
命令:vgextend
扩充LV空间
-
检查已有的LV空间
命令:lvdisplay
这里我们可以看出不同的LV是对应着不同的组的,比如LV name是home,他的LV Path是/dev/centos/home。
这里的结果我们可以结合df -h的结果对应着看
假如我们想添加空间到/home中,可以在df -h的结果中看到其对应着/dev/mapper/centos-home。此时centos-home也就对应着LV中的VG name-LV name。可以利用这个对应的信息进行扩容。 -
扩容(两种方式)
指定大小的扩容(lvextend -L)
指定百分比的扩容(百分比指的是占 Free PE的百分比)(lvextend -l) -
检查
此时再用vgdisplay命令检查Free PE的空间就会发现,Free的空间变小了(我这里数据与之前处理的数据总量不对应,因为前面的截图是后来加上的)
使空间可用
-
检查空间状态
虽然给LV组添加了空间,但是通过df -h命令查看发现还是没有变化,这是因为格式还不对,需要用另外一个命令将这个空间再次转化 -
最后一步
通过xfs_growfs命令使得新增加的空间可用(此时df -h检查就可以发现/home的空间增大了)
另外,对于不同的文件系统有不同的命令,我的文件系统(xfs)利用的命令式xfs_growfs,对于另外的系统可以用ext2/3/4则使用resize2fs命令执行即可。