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

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 挂载磁盘
相关推荐
^—app5668661 天前
游戏运存小启动不起来临时解决方法
运维·服务器
Ujimatsu1 天前
虚拟机安装Debian 13.x及其常用软件(2026.4)
linux·运维·ubuntu
志栋智能1 天前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
Edward111111111 天前
4月28日防火墙问题
linux·运维·服务器
想学后端的前端工程师1 天前
【补充内外网突然不通的情况】
运维·服务器
面汤放盐1 天前
何时使用以及何时不应使用微服务:没有银弹
java·运维·云计算
子琦啊1 天前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法
跨境数据猎手1 天前
跨境独立站系统技术拆解(附带源码)
服务器·前端·php
AOwhisky1 天前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes