【运维】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. 对于容器异常报警及时处理保证服务可用及稳定。
相关推荐
欧先生^_^1 小时前
Linux内核可配置的参数
linux·服务器·数据库
海尔辛2 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
王RuaRua3 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
曼岛_3 小时前
[架构之美]linux常见故障问题解决方案(十九)
linux·运维·架构
tan180°3 小时前
Linux进程信号处理(26)
linux·c++·vscode·后端·信号处理
大神的风范3 小时前
从0开始学linux韦东山教程第三章问题小结(4)
linux·服务器
sz66cm3 小时前
Linux基础 -- SSH 流式烧录与压缩传输笔记
linux·笔记·ssh
YOYO--小天4 小时前
RS485和RS232 通信配置
linux·嵌入式硬件
大蚂蚁2号4 小时前
windows文件共享另一台电脑资源管理器网络文件夹无法找到机器
运维·服务器·网络
Lw老王要学习4 小时前
Linux数据库篇、第一章_02_MySQL的使用增删改查
linux·运维·数据库·mysql·云计算·it