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

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 挂载磁盘
相关推荐
雪可问春风21 小时前
docker环境部署
运维·docker·容器
lwx91485221 小时前
Linux-Shell算术运算
linux·运维·服务器
翻斗包菜21 小时前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
somi721 小时前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
海的透彻21 小时前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
路溪非溪1 天前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神1 天前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
航Hang*1 天前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
fengfuyao9851 天前
VC++基于服务器的点对点文件传输实例
服务器·开发语言·c++
favour_you___1 天前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll