今天重启Linux时,系统自检报LV加载错误。提示做fsck磁盘修复,在网上查了一些资料,都没有解决,想进单用户模式都进不了,最后实在没有办法了,用急救盘进入系统后,将/etc/fstab表中启动加载LV的项删掉了,重启系统后,才正常引导进来。但是问题并没有解决,我的LV上都有很多重要数据,必须要修复才行。经过一番折腾终于找到问题所在,是昨天对LV01做了调整,增加了LV容量,但是没有重建文件系统。所以在fsck检查老是报错,也没办法修复。
解决的办法是在网上找到了,将其调整到原始大小,然后再重建下文件系统,再用fsck -f检查就正常了。大汗!!!我后面总结了下,出错的关键原因是我没有把实施LV扩展与缩小的顺序理清楚,犯了想当然的错误。
这里总结下扩展与缩小LV的实施顺序:
扩展LV
1、卸载LV
命令:umount “挂载目录”
2、扩展LV
命令:lvextend -L +500m /dev/lv00/lv01 或者 lvresize -L 5G /dev/lv00/lv01
lvextend 表示增加500M,lvresize表示增加到5G,是调整后的容量。
3、检查文件系统
命令:fsck -f /dev/vg00/lv01
4、重建文件系统
命令:resize2fs /dev/lv00/lv01
这一步很关键,重建文件系统不用担心LV的数据会丢失,当然,以防万一,也可以先备份下LV里的数据。
5、挂载LV
命令:mount /dev/lv001/lv01 /opt
缩小LV
缩小LV需要事先知道LV中的数据容量大小,缩小容量值不应超过剩余空间容量,而且要知道减少LV容量后的新大小。可以通过lvscan来查看LV容量,通过vgdisplay来查看剩余容量。
1、卸载LV
命令:umount “挂载目录”
2、检查文件系统
命令:fsck -f /dev/lv00/lv01
3、调整LV大小并重建文件系统
命令:resize2fs /dev/vg00/lv01 2G
4、减小LV容量
命令:lvreduce -L -3G /dev/vg00/lv01
5、挂载LV
命令:mount /dev/lv001/lv01 /opt