【运维】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. 对于容器异常报警及时处理保证服务可用及稳定。
相关推荐
IT WorryFree18 分钟前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
12345,catch a tiger31 分钟前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
凉、介1 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
辰风沐阳1 小时前
OpenClaw 安装教程(Ubuntu 24.04 Desktop)
linux·ubuntu
M ? A1 小时前
Vue 迁移 React 实战:VuReact 一键自动化转换方案
前端·vue.js·经验分享·react.js·开源·自动化·vureact
嘿嘿嘿x31 小时前
Linux记录过程
linux·开发语言
郭泽斌之心2 小时前
UE 数字人启动
经验分享·fay数字人
程序猿编码3 小时前
一个授予普通进程ROOT权限的Linux内核级后门:原理与实现深度解析
linux·运维·服务器·内核·root权限
小夏子_riotous3 小时前
openstack的使用——9. 密钥管理服务Barbican
linux·运维·服务器·系统架构·centos·云计算·openstack
梦想的旅途23 小时前
自动化运营如何防封?解析 API 协议下的拟人化风控算法
运维·自动化