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

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 挂载磁盘
相关推荐
小刘|5 分钟前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
Maynor9961 小时前
我用 Codex 给自己的网站上线了一个智能体客服:从 Dify 到服务器部署,全程实战复盘
运维·服务器
聚名网1 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
java_cj2 小时前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
小小小花儿2 小时前
SSH密钥配置(免密连接远程服务器)
服务器·ssh
深圳恒讯3 小时前
越南服务器BGP多线和单线有什么区别?
运维·服务器
志栋智能3 小时前
超自动化运维如何提升安全合规水平?
运维·安全·自动化
A_humble_scholar4 小时前
Linux(九) 进程管理完全指南:从入门到实战
linux·运维·chrome
江华森4 小时前
Linux 操作命令完全指南
linux·运维
源图客4 小时前
【AI向量数据库】Weaviate介绍与部署
运维·docker·容器