深入解析Centos /boot过小无法更新内核问题


    Centos7默认安装时,/boot目录设置只有150M左右,这样编译几个版本的内核/boot空间就不够用了。报错大致如下:
    Disk Requirements: At least 3MB more space needed on the /boot filesystem.
    这里用的方法是:添加一块硬盘(由于是VM,所以比较方便),添加到VG卷组中,然后新建一个创建一个逻辑卷,将/boot mount到新建的逻辑卷,这样的话,/boot就可以要多大有多大了,具体操作如下:
    1、添加一个硬盘
    2、新建逻辑卷
    ①、新建LVM分区 并 添加到现有VG卷组中
      fdisk -l # 查看到添加的新硬盘
      
      用新硬盘创建物理卷,pvcreate 磁盘分区或整个磁盘    
      
      vgdisplay #查看现有VG卷组的情况,记下卷组名字cl; 应该注意到Free PE现在是0的状态
      
      添加新的物理卷到卷组,vgextend 卷组名 新加入的物理卷
      
      这时再一次查看VG情况,将看到Free PE已经有了20G。这时就可以用了
      
      新建逻辑卷,lvcreate -L 逻辑卷大小(K、M、G)-n 逻辑卷名称 所属的卷组名;并格式化为xfs文件系统
      
      可以看到逻辑卷已经创建成功
    3、将/boot目录挂载到新的逻辑卷下,并将/boot目录下所有内容拷贝过去
    查看现有目录挂载情况,df -hT
    
    ①、umout /boot
    ②、mkdir /boot_old
    ③、mount /dev/sda1 /boot_old
    ④、mount /dev/mapper/cl-for--boot /boot
    ⑤、cp -rp /boot_old/* /boot
    ⑥、更改/etc/fstab
      
    查看现在目录挂载情况,搞定。可以正常升级内核了。