背景
建了一个centos的虚拟机,用来当数据库使用。但是初始空间太少,仅设置了10G,当装完系统,装完mysql8.0,发现就剩不到5G的可用空间了,重装系统又太麻烦。所以打算通过扩容空间的方式来实现。扩容后空间:25G
装备
首先,将虚拟机分配的存储空间增大。我用的是vbox,vdi文件。方式如下(一定要先关闭虚拟机):
# window cmd
VBoxManage list hdds ; # 查询需要扩容的空间uid
VBoxManage modifyhd dbb85a4c-3cb4-4f59-abf9-620e339b4749 --resize 25600
分区
重启后,通过
fdisk -l
可以看出实际空间扩大了。
如果还是看不到,可以通过清楚缓存,重新挂载共享文件夹等方式实现。
- 创建物理分区
fdisk /dev/sda
其中,各指令的含义
此时,新的分区已经创建成功了。
但是新区的类型不是我们所需要的,继续修改分区类型为LVM
2. 重启系统 3. 格式化新区
mkfs -t ext4 /dev/sda3
4. 分配卷组
- 查看当前卷组
vgdisplay
- 扩展当前卷组
vgextend /dev/centos /dev/sda3
此时再看卷组信息,发现总容量就增加了
5. 扩展跟目录容量 此时用到一个命令 lvextend.
lvextend指令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。其后有两个选项.
选项 | 描述 |
---|---|
-L | 指定逻辑卷的大小,单位为“kKmMgGtT”字节,也就是Size |
-l | 指定逻辑卷的大小,单位为PE数 |
此处使用pe的方式扩展,数据未上面卷组容量中的free PE. |
lvextend -l +3839 /dev/mapper/centos-root
6. 重新加载文件系统
xfs_growfs /dev/mapper/centos-root