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

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 挂载磁盘
相关推荐
renhongxia115 小时前
多模态融合驱动下的具身学习机制研究
运维·学习·机器人·自动化·知识图谱
程序员小董15 小时前
从 RocksDB 定时器出发:手写一个通用的 Linux 高精度定时器
linux·服务器
大傻^16 小时前
Spring AI 2.0 MCP 协议实战:Model Context Protocol SDK 与多服务器编排
服务器·人工智能·spring
追风林16 小时前
idea支持本地 的 服务器 远程debug
java·服务器·intellij-idea
vpk11217 小时前
【无标题】
运维·elasticsearch·docker
yuuki23323317 小时前
【Linux】开发工具链全解析:从 apt 到 gdb
linux·运维·服务器
蓝队云计算17 小时前
蓝队云揭秘:如何利用云服务器高效养殖龙虾OpenClaw?
运维·服务器·人工智能·云服务器·openclaw
ZTLJQ17 小时前
驾驭高并发:Python协程与 async/await 完全解析
服务器·数据库·python
浪游东戴河18 小时前
网线简介及分类
运维·服务器·网络
不知名。。。。。。。。18 小时前
仿muduo库实现高并发---请求HttpRequest模块 响应HttpResponse模块
服务器·c++