【运维】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. 对于容器异常报警及时处理保证服务可用及稳定。
相关推荐
snow@li8 分钟前
服务器运维:Alibaba Cloud Linux 4 LTS 64位 根目录全景深度解析文章
linux·运维·服务器
实战派K8S&DB10 分钟前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi
tianxuanjg22 分钟前
工业/协作机器人连接法兰采购指南|高精度安装定位零件怎么选
经验分享·机器人·无人机·制造·材质
苏生Susheng30 分钟前
【软件实施】Linux企业运维常用命令手册
java·linux·运维·服务器·springboot·springcloud·软件实施
额额额对了32 分钟前
Linux 进程间通信(IPC)核心机制:消息队列、共享内存与信号量详解
linux·网络·网络协议
zx_741484811 小时前
【Linux入门】Linux 安装:VMware Workstation Pro 安装 CentOS 7 保姆级图文教程
linux·centos
数智启示录1 小时前
PostgreSQL 计划缓存实战(第 10 篇):预编译 SQL 前五次都快,第六次为什么可能变慢
经验分享·sql·缓存·postgresql·面试
名字还没想好☜1 小时前
Docker buildx 多架构镜像实战:一次构建 amd64+arm64,告别 exec format error
运维·docker·eureka·架构·kubernetes
智购科技无人售货机厂家2 小时前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
小雪崩2 小时前
嵌入式学习 day39:TCP并发服务器模型
linux·服务器·c语言·网络·学习·tcp/ip