VMware虚拟机扩展磁盘空间

在VMware虚拟机上使用Centos7,刚开始创建虚拟机时候磁盘空间设置小了,用久了发现虚拟机的磁盘空间不够了,可以通过以下步骤扩展磁盘空间。

1.先把虚拟机关机找到编辑虚拟机设置,操作如下

点击扩展后出现如下窗口

 VMware会提示磁盘已成功扩展,您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统。但是还没生效,需要在操作系统里面进行设置后才能使用。

2、启动操作系统Centos7,查看磁盘情况

输入指令

fdisk -l

  找到如下文字

设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

目前是只有两个分区

3、创建第三个分区

输入指令

fdisk /dev/sda

 出现如下情况

 输入m查看帮助

 可自行百度查翻译,我们注意看n那条,意思是添加新分区。我们输入n。

默认回车就行,出现如下代码时输入数字3

 Partition number (3-4):3 # 输入3

后面的默认回车,最后输入w保存并退出

再次查看分区情况

fdisk -l

  再次找到如下文字

设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
/dev/sda3        41943040    83886079    20971520   83  Linux

出现了分区sda3,就是刚刚创建的

输入reboot重启

4.格式化新分区为ext3

输入指令

mkfs -t ext3 /dev/sda3
 5.将物理硬盘分区初始化为物理卷,以便被LVM使用,输入指令
lvs
pvcreate /dev/sda3
 6.向卷组中添加物理卷来增加卷组的容量

查看lvm组名,输入指令 df -h 如下

[root@root]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.2G     0  1.2G    0% /dev
/dev/mapper/centos-root   17G   15G  2.3G   87% /
/dev/sda1               1014M  185M  830M   19% /boot

输入指令,增加卷组的容量,注意:centos-root 就是根所在的组名,自己是什么就填什么

接下来都会用到你自己的这个文件名

vgextend centos-root 1 /dev/sda3
7查看可扩展的空间大小

输入指令,查看空间大小

vgdisplay

找到如下文字  Free  PE / Size       5119 / <20.00 GiB

Free PE / Size 就是可供分配的自由空间,最多有 20G,你的扩展磁盘大小是多少就输入多少,在扩展时输入小于该值,不能超过这个值

lvextend -L+20G /dev/mapper/centos-root /dev/sda3 
#-L+20G是Free PE / Size里的数不能大于这个数值
#centos-root写自己的

如果出现大于就会出现如下

[root@hjl]# lvextend -L+20G /dev/mapper/centos-root /dev/sda3
  Insufficient free space: 5120 extents needed, but only 5119 available

提示数值大了,把数值改成19.9就可以了

8.使用resize2fs指令来增大或者收缩未加载的“ext2/ext3”文件系统的大小
resize2fs /dev/mapper/centos-root          #centos-root这个输入你自己的

可能有些人的会报错(没出错的不用看)

[root@hjl]# resize2fs /dev/mapper/centos-root;
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root 时
找不到有效的文件系统超级块.
如果出现这个错误

 解决方案

首先,查看你的文件系统类型

mount |grep root

找到如下

 [root@hjl]# mount |grep root;
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

我的类型是xfs

resize2fs 命令 :针对的是ext2、ext3、ext4文件系统

xfs_growfs 命令 :针对的是xfs文件系统

 修改一下刚刚的指令

xfs_growfs /dev/mapper/centos-root;  #centos-root自己的
9.ok,完成了

输入df -h查看扩展结果

 [root@hjl]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.2G     0  1.2G    0% /dev
/dev/mapper/centos-root   37G   15G   23G   40% /
/dev/sda1               1014M  185M  830M   19% /boot