手里有台云服务,之前磁盘只有60G,在执行SQL语句时报错No space left on device.
通过df -h查看磁盘占用情况,确实所剩无几了
通过云服务后端控制台升级了下配置,将磁盘从60G提升到了100G
重启服务后,执行lsblk查看设备挂载情况(此时直接通过df -h查看,仍然只有60G)
可以看到vda有100G,而vda1分区实际只使用了其中的60G,也就是原有的60G,新升级的40还未分配到vda1上。这里可以在vda下再创建一个分区vda2,挂载。实测后发现docker容器的mysql无法使用到/dev/vda2这里面的磁盘空间。新的方向就是将这剩余的40G分配到原有分区/dev/vda1上
使用growpart命令扩容/dev/vda1分区
使用resize2fs将扩容信息同步到文件系统
接着,我们再使用df -h命令查看下磁盘空间信息
挂载到/的/dev/vda1分区已扩容到了100G
再次执行SQL,成功