深入解析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
查看现在目录挂载情况,搞定。可以正常升级内核了。