【运维】Centos硬盘满导致开机时处于加载状态无法开机解决办法

Centos硬盘存储过满导致无法加载

一、准备

1.现象

Centos虚拟机界面卡顿,随后进行了重启操作,发现重新启动界面一直卡在加载转圈状态,无法正常进入系统操作。

2.根因分析

Centos上开了多个服务,且界面卡顿,可能是内存不足,加大内存后发现开机仍然无法进入系统,可能由于硬盘数据过多导致加载过慢或无法加载情况。

3.制定救援方案

问题1:无法进入系统

无法进入系统一般解决方法为进入救援模式,但当前状态需要我们进入系统修改硬盘的容量操作故我们不需要进入救援状态而是需要开机时启动命令行及加载一些基础功能,故此处选择启动加载bash

  • 1.在开机引导界面点击键盘e键进入grub引导菜单,并在第二行选项后面加入如下配置(用于启动加载bash命令行):
bash 复制代码
init=/bin/bash
  • 2.点击按钮Ctrl + X等待系统加载完成进入命令行。
确定分析结论
bash 复制代码
df -h # 查看分区状态
lsblk # 查看磁盘占用状态,此时可以看到 cs-root 占用已经到达100%,验证猜想准确

问题2:磁盘数据过多

此时有两种解决方案:

  • 磁盘扩容。
  • 分析具体占用大文件并进行合理删除。

此处选择第二种分析并清理大文件。
注意:由于我们直接进入了bash所以此时磁盘为只读状态无法进行写入操作,故无论上述那种方案均需要执行重新挂载硬盘为读写状态才能进行操作。

bash 复制代码
sudo su # 进入管理员模式
mount remount,rw / # 重新挂载为读写状态
du -h /* # 从根目录逐级排查大文件

# 此处我的系统超过cs-root限制原因在于docker中的日志文件 xxxx.json.log 约有44G导致占用过多,对于此文件进行如下合理清理
echo '' > xxx.json.log
lsblk # 再次查看各分区情况,磁盘数据量正常。
exec /sbin/init # 重启系统

4.后处理

对策:

  1. 经过以上分析发现导致磁盘占用过多原因是docker中某个容器日志过多,需要对线上所有容器服务进行分析查看容器具体异常原因并做出整改方案。
  2. 对于容器日志过多问题,可以在启动和配置文件中限制日志大小,防止超出硬盘上限。
  3. 对于容器异常报警及时处理保证服务可用及稳定。
相关推荐
GeW16 分钟前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
万联WANFLOW27 分钟前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
2501_943205051 小时前
【366期】Campfire:跨启动器的我的世界联机工具箱
经验分享
十碗饭吃不饱1 小时前
SSH 密钥认证详解:原理、实操、参数、排错与加固
运维·ssh
echoarts1 小时前
服务器连不上?FileZilla 改被动模式就好了
运维·服务器·其他
无言听风雨丶2 小时前
Redis 运维实战与排错
运维·数据库·redis
QXWZ_IA2 小时前
变电站数字孪生巡检的能力分层、数据接入与空间计算边界
运维·服务器·空间计算
QVeris Friends2 小时前
QVeris MCP 连接到 ChatGPT:让 AI 调用专业数据
经验分享
miaobinfei3 小时前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
女神下凡3 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范