Centos6.8系统怎么解决“/boot”分区满了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos6.8系统怎么解决“/boot”分区满了相关的知识,希望对你有一定的参考价值。

一天服务器生产环境Centos6.8系统,报警/boot分区快满了,于是登录服务器查看磁盘空间:

[[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        79G  9.9G   65G  14% /
tmpfs           4.0G     0  4.0G   0% /dev/shm
/dev/sda1        93M   76M   13M  86% /boot
/dev/sda6       125G   20G   99G  17% /data
/dev/sda3       7.8G   18M  7.4G   1% /tmp
tmpfs           8.1G  494M  7.6G   7% /data/ramdisk
[[email protected] ~]# 

我嚓,/boot分区怎么采用的是默认的分区100M,尼玛,一看就是新手给安装的系统,平时/boot分区一般给200M的。
报警了,咱就得立刻处理问题。毕竟是生成环境,而且还是/boot分区快满了,这个/boot分区操作时一定小格外的小心,应为服务器启动是从此处加载内核的,如果操作不当,很可能到导致服务器系统奔溃,导致服务器系统重启时启动不了,那样的话真的是想死的心都有了。

接下来是处理的过程:
1.首先查看当前服务器系统采用的内核版本是什么:

[[email protected] ~]# uname -a
Linux localhost.localdomain 2.6.32-642.15.1.el6.x86_64 #1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# 

2.查看当前服务器安装的内核相关的软件都有哪些:

[[email protected] ~]# rpm -qa|grep kernel
abrt-addon-kerneloops-2.0.8-40.el6.centos.x86_64
kernel-2.6.32-642.15.1.el6.x86_64
kernel-2.6.32-573.el6.x86_64
libreport-plugin-kerneloops-2.0.9-32.el6.centos.x86_64
kernel-abi-whitelists-2.6.32-642.15.1.el6.noarch
dracut-kernel-004-409.el6_8.2.noarch
kernel-firmware-2.6.32-642.15.1.el6.noarch
kernel-doc-2.6.32-642.15.1.el6.noarch
kernel-devel-2.6.32-696.16.1.el6.x86_64
kernel-devel-2.6.32-573.el6.x86_64
kernel-headers-2.6.32-642.15.1.el6.x86_64

我去,发现里面有2个版本的内核(之前一定是新手升级过内核,线上一般要求:配置环境发布系统之后,最后不要做升级与删除内核的操作)
而且是当前使用的高版本的内核kernel-2.6.32-642.15.1.el6.x86_64,于是决定卸载掉不在使用低版本的内核。(当然线上的环境是不建议这么干的,更不建议随意删除即使不在使用的旧版本内核)

友情提示:

第一:安装系统时,空间一定要合理分配好;
第二:一般安装好系统后,可以upgrade或update升级,但是一旦生成环境开始发布了,就最好不要在upgrade或update升级了,除非是迫不得已,或者是自己想屎。
第三:选择稳定内核版本
第四:升级后也不要随意删除旧版本内核,
第五:操作前一定要做好相关数据的备份。

说了这么多不建议删除旧版本的内核,但是为啥我还是要删除旧版本内核呢?因为我已经把生产上的这台报警的机器剔除了,所以才敢这么胆大妄为的干。当时我这么操作也是还是比较小心的,因为我可不想把机器正挂了,跑机房重新安装系统。

3.删除不是当前在使用的旧版本的内核和依赖:


 yum remove    kernel-2.6.32-573.el6.x86_64    kernel-devel-2.6.32-573.el6.x86_64 

4.此时查看磁盘空间,立马见效:


[[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        79G  9.7G   65G  13% /
tmpfs           4.0G     0  4.0G   0% /dev/shm
/dev/sda1        93M   38M   51M  44% /boot
/dev/sda6       125G   20G   99G  17% /data
/dev/sda3       7.8G   18M  7.4G   1% /tmp
tmpfs           8.1G  488M  7.6G   6% /data/ramdisk
[[email protected] ~]# 

5.本着怀疑的精神,我还是有点不放心,于是在卸载完旧版本的内核后,reboot重启系统,看机器到期能起来不:
reboot 机器,过了5分钟机器成功了起起来了。而且boot分区成功了瘦身了,此时心里才得以长舒口气。

6.下面的这个生产例子是:系统采用的是老版本的内核,但是/boot/分区下却多了个新版本的内核,从而导致/boot分区满了。
于是咱们就卸载掉不在使用中的新版内核

[[email protected] ~]# uname -a
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# rpm -qa|grep kernel
kernel-devel-2.6.32-696.16.1.el6.x86_64
kernel-2.6.32-642.15.1.el6.x86_64
kernel-firmware-2.6.32-642.15.1.el6.noarch
kernel-headers-2.6.32-642.15.1.el6.x86_64
kernel-devel-2.6.32-573.el6.x86_64
kernel-devel-2.6.32-642.15.1.el6.x86_64
libreport-plugin-kerneloops-2.0.9-32.el6.centos.x86_64
abrt-addon-kerneloops-2.0.8-40.el6.centos.x86_64
dracut-kernel-004-409.el6_8.2.noarch
kernel-2.6.32-573.el6.x86_64

卸载掉不在使用中的内核:

[[email protected] ~]# yum remove kernel-2.6.32-642.15.1.el6.x86_64 kernel-devel-2.6.32-642.15.1.el6.x86_64 

[[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        79G  4.6G   71G   7% /
tmpfs           4.0G     0  4.0G   0% /dev/shm
/dev/sda1        93M   40M   49M  46% /boot
/dev/sda6       125G   19G  100G  16% /data
/dev/sda3       7.8G   18M  7.4G   1% /tmp
tmpfs           8.1G  515M  7.6G   7% /data/ramdisk

reboot重启服务器后登录服务器确认/boot分区瘦身成功:

[[email protected] ~]# uname -a
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        79G  4.6G   71G   7% /
tmpfs           4.0G     0  4.0G   0% /dev/shm
/dev/sda1        93M   40M   49M  46% /boot
/dev/sda6       125G   19G  100G  16% /data
/dev/sda3       7.8G   18M  7.4G   1% /tmp
tmpfs           8.1G  515M  7.6G   7% /data/ramdisk

[[email protected] ~]# rpm -qa|grep kernel
kernel-devel-2.6.32-696.16.1.el6.x86_64
kernel-firmware-2.6.32-642.15.1.el6.noarch
kernel-headers-2.6.32-642.15.1.el6.x86_64
kernel-devel-2.6.32-573.el6.x86_64
libreport-plugin-kerneloops-2.0.9-32.el6.centos.x86_64
abrt-addon-kerneloops-2.0.8-40.el6.centos.x86_64
dracut-kernel-004-409.el6_8.2.noarch
kernel-2.6.32-573.el6.x86_64

以上是关于Centos6.8系统怎么解决“/boot”分区满了的主要内容,如果未能解决你的问题,请参考以下文章

Linux操作系统怎么解决“/boot”分区满了

Ubuntu boot分区满了,解决办法

纯手工修复fstab文件以及boot目录(Centos6.8)

linux根目录满了,请问怎么办?

小白把CentOS6.8安装在移动硬盘中

ubuntu16.04 /boot 分区满了更新内核时导致apt出现错误