由于服务器的CentOS是别人装的其中/boot挂载在了nvme0n1p2上,大小只有200M,几个内核文件就把磁盘占满了,达到了91%,这样是非常不好的。

在打包安装系统一些基本环境时,就遇到了boot空间不足的问题,以下为解决过程:

1、首先把/boot取消挂载:umount /boot

(遇到问题:/boot占用中,使用fuser -cu /boot查看哪些进程占用了/boot,出现11021c,使用kill -9 11021(这里ignore c,11021才是pid号),然后可以使用umount /boot了)

2、重新对磁盘分区:

之前对磁盘从nvme0n1p1~p5共划分了5个分区,第五个最大,是3.6T的固态硬盘,这里取消第五个,重新划分:

首先fdisk -l,查看一下已经分区的各个盘的存储空间起始点,用来计算分配内存;

然后使用fdisk工具:fdisk /dev/nvme0n1

然后选择m的帮助选项,选择其中的delete a partition,delete5,然后再回去create分区5,这次5分区大小选择1.2G分给/boot够用了,自己估计着计算一下,比如从11201290开始,到***********结束为1.2G的空间,然后create分区6,分区6直接默认剩下的空间即可。

最后w保存即可退出。

3、重新挂载:

挂载前,先用partprobe更新一下使得系统能看到新分的分区,使用lsblk指令可以看到新分区,此时使用df -h指令,还看不到新分区因为还没挂载。

挂载步骤1:mkfs.ext4 /dev/nvme0n1p5  (把新分区格式化一下,6分区同理)

挂载步骤2:q切记,此时一定要在根目录  /  下面新建一个boot_old之类的文件夹,cp -r /boot. /boot_old,把boot文件夹里的东西都备份到这里来,因为新挂载的分区会覆盖掉/boot。

挂载步骤3:mount  /dev/nvme0n1p5 /boot,挂载上之后,cp -r /boot_old/. /boot,把boot文件都复制回来。

4、永久挂载写入到/etc/fstab里:

可以自己用vi /etc/fstab编辑,也可以用ftp编辑,也可以用指令echo "UUID=****** ext4 /boot defaults 0 1" >> /etc/fstab

注意UUID为磁盘的识别符,用

blkid 查看所有分区的UUID,找到第5个分区的填到 /etc/fstab上即可:

UUID=******   ext4    /boot     defaults 0 1

5、更新一下挂载信息:mount -a

然后lsblk和df -h都可以看到/boot挂载在新分区上并且容量扩大为1.2G,当然也可以不挂盘直接使用/boot,但是我觉得这种方式比较好,担心会影响boot下的efi启动文件什么的,现在的grub.cfg都是自动查找,重启服务器后发现可以正常启动,空间也没问题,大功告成。