【运维】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. 对于容器异常报警及时处理保证服务可用及稳定。
相关推荐
为什么要内卷,摆烂不香吗16 分钟前
kubernetes(4) 微服务
linux·运维·微服务·容器·kubernetes
conkl6 小时前
Linux 零基础万字入门指南(进阶详解版)
linux·运维·服务器·ssh·文件管理·shell·linux基础
一水鉴天9 小时前
认知系统的架构: 认知残余三角形、认知主体意识 和认知演进金字塔(腾讯元宝)
运维·服务器
三体世界9 小时前
Mysql基本使用语句(一)
linux·开发语言·数据库·c++·sql·mysql·主键
TT-Kun9 小时前
Linux 上手 UDP Socket 程序编写(含完整具体demo)
linux·计算机网络·udp
一川风絮千片雪9 小时前
【环境配置】Linux/Ubuntu24.04 无图形界面安装显卡驱动
linux·运维·服务器
Danileaf_Guo10 小时前
Ubuntu 18.04快速配置WireGuard互联
linux·运维·服务器·ubuntu
柳鲲鹏10 小时前
Ubuntu下载、安装、编译指定版本python
运维·服务器·ubuntu
快乐就是哈哈哈10 小时前
从零部署 MySQL 数据库:Linux 安装与防火墙策略全解析
linux·mysql
画中有画10 小时前
使用AI编程自动实现自动化操作
运维·自动化·ai编程·rpa·自动化脚本·冰狐智能辅助