华为云欧拉服务器问题记录

PostgreSQL 数据库故障排查与修复记录

日期 : 2025-12-23 服务器: ec-xuz-2


一、问题现象

PostgreSQL 服务启动失败,状态显示:

复制代码
systemctl status postgresql

错误信息:

复制代码
Active: failed (Result: exit-code)
could not write to log file: No space left on device

二、问题分析

2.1 检查磁盘空间

复制代码
df -h

结果显示根分区已满:

复制代码
/dev/vda3        38G   38G     0 100% /

2.2 检查磁盘使用分布

复制代码
du -sh /* 2>/dev/null | sort -hr | head -20

主要占用:

  • /usr - 21G

  • /root - 8.4G

  • /var - 8.1G

2.3 发现未使用磁盘

复制代码
lsblk

发现 200G 磁盘 vdb 未挂载:

复制代码
vdb    253:16   0  200G  0 disk

三、解决方案

3.1 挂载新磁盘

创建分区:

复制代码
fdisk /dev/vdb
# n -> p -> 1 -> 回车 -> 回车 -> w

格式化:

复制代码
mkfs.xfs /dev/vdb1

挂载:

复制代码
mkdir -p /data
mount /dev/vdb1 /data

配置开机自动挂载:

复制代码
echo "/dev/vdb1 /data xfs defaults 0 0" >> /etc/fstab

3.2 验证挂载

复制代码
df -h | grep vdb

结果:

复制代码
/dev/vdb1       200G  1.5G  199G   1% /data

3.3 重启数据库服务

复制代码
systemctl restart postgresql
systemctl status postgresql

四、处理结果

  • 200G 磁盘成功挂载到 /data

  • PostgreSQL 服务恢复正常运行


五、后续建议

  1. 迁移大目录到 /data :将 /var/lib/pgsql 等大目录迁移到新磁盘

  2. 配置日志轮转:防止日志文件过大占满磁盘

  3. 设置磁盘监控告警:当使用率超过 80% 时发送告警

  4. 定期清理:清理旧日志和临时文件


六、常用命令参考

命令 用途
df -h 查看磁盘使用情况
du -sh /path/* 查看目录大小
lsblk 列出块设备
blkid 查看设备文件系统
fdisk /dev/xxx 磁盘分区
mkfs.xfs /dev/xxx 格式化为 XFS
mount /dev/xxx /path 挂载磁盘
相关推荐
GGG76610 小时前
Python 运维自动化:psutil+IPy 系统与网络信息采集深度实战
运维·python·云原生·pip
可乐鸡翅yeah_11 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放
2601_9620715711 小时前
如何利用SpringSecurity进行认证与授权
java·服务器·数据库
St_rive11 小时前
移动端自动化环境搭建与准备
运维·自动化
w2005122411 小时前
Pod管理
linux·服务器·云原生·容器·k8s·podman
INNOVIX稳石机器人12 小时前
稳石500强实战验证:从人工仓储迈向AI自主智造,给出仓储自动化升级标准答案
运维·人工智能·自动化
飞飞传输12 小时前
国产化 MOVEit 替代:文件传输架构与安全能力深度解读
大数据·运维·安全
聪明蛋子哟12 小时前
浏览器自动化的“持久身份”:多会话认证与Agent技能的无缝集成实践
运维·自动化
千百元12 小时前
ngrok 内网穿透TCP
运维
会周易的程序员13 小时前
企业私有 AI 算力服务器架构设计:异构四节点 + QUIC 微服务
运维·服务器·c++·人工智能·微服务·架构