初始创建virtaulbox虚拟机时,设置存储容量过小,如果重新创建,那么上面已经构建的功能全部需要重新搞,故可考虑直接扩容虚拟机

创建磁盘

检查

  • 启动虚拟机。

  • 输入命令:lsblk
    看到我们刚刚创建的物理磁盘sdb .

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb               8:16   0   10G  0 disk
sr0              11:0    1 1024M  0 rom
sda               8:0    0    8G  0 disk
├─sda2            8:2    0    7G  0 part
│ ├─centos-swap 253:1    0  820M  0 lvm  [SWAP]
│ └─centos-root 253:0    0  6.2G  0 lvm  /
└─sda1            8:1    0    1G  0 part /boot
  • 输入命令:df -h查看原本磁盘可用空间
[root@k8s-node1 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 476M     0  476M    0% /dev
tmpfs                    490M     0  490M    0% /dev/shm
tmpfs                    490M  6.6M  483M    2% /run
tmpfs                    490M     0  490M    0% /sys/fs/cgroup
/dev/mapper/centos-root  6.2G  1.9G  4.4G   30% /
/dev/sda1               1014M  174M  841M   18% /boot
tmpfs                     98M     0   98M    0% /run/user/0
  • 输入命令:ls /dev/sd* 查看磁盘编号。
[root@k8s-node1 ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb

创建pv

  • 输入命令:pvcreate /dev/sdb 创建pv
[root@k8s-node1 ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

扩展vg

  • 把pv加入vg中,相当于扩充vg的大小。
  • 查看vg组
[root@k8s-node1 ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   1   2   0 wz--n- <7.00g    0
  • 扩展vg
[root@k8s-node1 ~]# vgextend centos /dev/sdb
  Volume group "centos" successfully extended
[root@k8s-node1 ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   2   2   0 wz--n- 16.99g <10.00g
  • 成功扩展vg卷

扩展lv

  • 扩展lv
### 大小以实际磁盘为准,比如申请的是10g的,此处是9.9g
lvextend -L +9.99G /dev/mapper/centos-root
  • 使系统重新读取大小
xfs_growfs /dev/mapper/centos-root

查看磁盘空间

df -h

如果提示Couldn't create temporary archive name.原因是磁盘空间不足,先删掉部分文件后再操作

参考

VirtualBox虚拟机磁盘扩容