(1)首先将虚拟机关闭,然后选中虚拟机,点击【编辑虚拟机设置】

虚拟机根文件目录爆满 docker vm虚拟机根目录_linux

(2)然后选中磁盘,点击【扩展】

虚拟机根文件目录爆满 docker vm虚拟机根目录_根目录_02

(3)比如扩展到50G,点击【扩展】

虚拟机根文件目录爆满 docker vm虚拟机根目录_centos_03

(4)出现如下提示,然后点击【确定】

虚拟机根文件目录爆满 docker vm虚拟机根目录_运维_04

(5)点击【确定】

虚拟机根文件目录爆满 docker vm虚拟机根目录_虚拟机根文件目录爆满 docker_05

(6)然后启动虚拟机

虚拟机根文件目录爆满 docker vm虚拟机根目录_虚拟机根文件目录爆满 docker_06

(7)登录虚拟机后使用如下命令查看磁盘

fdisk -l

结果如下:

虚拟机根文件目录爆满 docker vm虚拟机根目录_运维_07

(8)通过如下命令查看根目录

df -h

执行结果如下,即此时新增的20G尚未挂载到根目录下

虚拟机根文件目录爆满 docker vm虚拟机根目录_运维_08

(9)然后参照如下命令创建分区,具体输入在如下的注释中详细说明然后参照如下命令创建分区,具体输入在如下的注释中详细说明

[root@centos7-1 ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):m    # 输入m查看帮助命令
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition s system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):n    # 输入n创建新的分区
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p      # 输入p,即primary类型
已选择分区 4                # 这里因为只有一个primary类型了,因此此处不需要选择,直接使用默认的4了
起始 扇区 (62914560-104857599,默认为 62914560):    # 输入回车,保持默认即可
将使用默认值 62914560
Last 扇区, +扇区 or +size{K,M,G} (62914560-104857599,默认为 104857599):     # 输入回车,保持默认即可
将使用默认值 104857599
分区 4 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w      # 输入w,保存并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@centos7-1 ~]#

(10)此时再次查看分区情况

fdisk -l

结果如下,可以看出此时 /dev/sda4 分区已经存在了

虚拟机根文件目录爆满 docker vm虚拟机根目录_centos_09

(11)重启虚拟机

reboot

(12)查看逻辑卷的组名

lvs

结果如下,可以看出根目录的逻辑卷组名为centos

虚拟机根文件目录爆满 docker vm虚拟机根目录_根目录_10

(13)将磁盘分区初始化为物理卷,以便被LVM使用

pvcreate /dev/sda4

执行结果如下:

虚拟机根文件目录爆满 docker vm虚拟机根目录_根目录_11

(14)将分区加入到centos的逻辑卷组中

vgextend centos /dev/sda4

执行结果如下

虚拟机根文件目录爆满 docker vm虚拟机根目录_虚拟机根文件目录爆满 docker_12

(15)查看逻辑卷组

vgdisplay

执行结果如下,可以看到此时centos组中有一块空闲的空间

虚拟机根文件目录爆满 docker vm虚拟机根目录_centos_13

(16)查看需要扩展的文件系统名

df -h

执行结果如下

虚拟机根文件目录爆满 docker vm虚拟机根目录_根目录_14

(17)扩展卷组的容量

lvextend -L +19.75G /dev/mapper/centos-root

执行结果如下,这里需要注意的一点是,磁盘无法扩展足额的20G容量,要小一点点,否则会扩展失败,比如这里扩展19.75G

虚拟机根文件目录爆满 docker vm虚拟机根目录_运维_15

(18)查看卷组

pvdisplay

执行结果如下,可以看出此时卷组已经扩容成功

虚拟机根文件目录爆满 docker vm虚拟机根目录_linux_16

(19)查看根目录的文件系统格式

cat /etc/fstab |grep centos-root

如下,可见根目录的文件系统格式为xfs

虚拟机根文件目录爆满 docker vm虚拟机根目录_根目录_17

(20)根目录文件系统扩容

xfs_growfs /dev/mapper/centos-root

如下所示

虚拟机根文件目录爆满 docker vm虚拟机根目录_虚拟机根文件目录爆满 docker_18

(21)查看磁盘容量

df -h

如下,此时可以看到根目录已经扩容成功

虚拟机根文件目录爆满 docker vm虚拟机根目录_linux_19