数仓发现写数据出现
SQL 错误 [1114] [HY000]: The table ‘xxxx_amazon_order’ is full
1.第一时间查看系统磁盘,
发现空间写满了
df -h
因为mysql是使用docker部署的, Docker 的默认存储位置在 /var/lib/docker
/var
目录默认是在根分区 (/dev/mapper/centos-root
) 下的
home目录还有大量空间, 可以压缩home空间给/root使用
2.具体操作
# 查看当前的逻辑卷信息
lvdisplay
2.1缩减 home 逻辑卷(先卸载并检查文件系统):
# 卸载 home 分区
umount /home# 缩减逻辑卷(从 173.87G 减少到 73.87G)
lvresize -L 73.87G /dev/centos/home# 创建新的文件系统(假设使用 XFS)
mkfs.xfs -f /dev/centos/home# 重新挂载
mount /dev/centos/home /home
2.2扩展 root 逻辑卷:
bashCopy# 扩展逻辑卷(从 50G 增加到 150G)
lvresize -L 150G /dev/centos/root# 扩展文件系统
xfs_growfs /dev/centos/root
# 检查新的分区大小
df -h
owfs /dev/centos/root
检查新的分区大小
df -h
挂载成功