1. 程式人生 > >Centos6.8系統怎麽解決“/boot”分區滿了

Centos6.8系統怎麽解決“/boot”分區滿了

軟件 gin 查看磁盤空間 bre 4.6 ade don 說了 hit

一天服務器生產環境Centos6.8系統,報警/boot分區快滿了,於是登錄服務器查看磁盤空間:

[root@localhost ~]# 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
[root@localhost ~]# 

我嚓,/boot分區怎麽采用的是默認的分區100M,尼瑪,一看就是新手給安裝的系統,平時/boot分區一般給200M的。
報警了,咱就得立刻處理問題。畢竟是生成環境,而且還是/boot分區快滿了,這個/boot分區操作時一定小格外的小心,應為服務器啟動是從此處加載內核的,如果操作不當,很可能到導致服務器系統奔潰,導致服務器系統重啟時啟動不了,那樣的話真的是想死的心都有了。

接下來是處理的過程:
1.首先查看當前服務器系統采用的內核版本是什麽:

[root@localhost ~]# 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
[root@localhost ~]# 

2.查看當前服務器安裝的內核相關的軟件都有哪些:

[root@localhost ~]# 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.此時查看磁盤空間,立馬見效:


[root@localhost ~]# 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
[root@localhost ~]# 

5.本著懷疑的精神,我還是有點不放心,於是在卸載完舊版本的內核後,reboot重啟系統,看機器到期能起來不:
reboot 機器,過了5分鐘機器成功了起起來了。而且boot分區成功了瘦身了,此時心裏才得以長舒口氣。

6.下面的這個生產例子是:系統采用的是老版本的內核,但是/boot/分區下卻多了個新版本的內核,從而導致/boot分區滿了。
於是咱們就卸載掉不在使用中的新版內核

[root@localhost ~]# 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
[root@localhost ~]# 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

卸載掉不在使用中的內核:

[root@localhost ~]# yum remove kernel-2.6.32-642.15.1.el6.x86_64 kernel-devel-2.6.32-642.15.1.el6.x86_64 

[root@localhost ~]# 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分區瘦身成功:

[root@localhost ~]# 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

root@localhost ~]# 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

[root@localhost ~]# 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”分區滿了