目的:EC2缩容非系统盘500G到15G
操作故障:新建盘挂载到系统后,在fstab中写入新盘挂载 [非uuid方式],注释原来的非系统盘执行系统重启后,系统不能正常启动。
fstab内容如下:
UUID=8c1540fa-e2b4-407d-bcd1-59848a73e463 / xfs defaults 0 0
#/dev/nvme1n1 /bsn xfs defaults 0 0
/dev/nvme2n1p1 /bsn xfs defaults 0 0
可能的故障原因:uuid重复
解决方案:
原来的ec2机器关机后,分离根卷;新建一个ec2机器,挂载原机器的根卷到非根分区,启动后修改挂载分区中的fatab文件,只留根分区挂载(注释非根分区挂载),修改完后重新挂载回原来主机处理。
操作注意事项:
1、根卷必须关机后才能分离,分离非根卷不需要关机。
2、新建的处理挂载故障机根卷的ec2的实例类型必须和故障ec2实例类型一致
3、故障根卷挂载到其它ec2,其它ec2也必须是关机状态才能挂载上。
4、系统盘再次挂载回去原系统分区名称必须是和原来一样 (/dev/sda1)
5、通过blkid命令,查看分区的uuid
6、分区已经正常,但是手工挂载仍然失败,日志提示uuid重复,
# mount /dev/mapper/newcentos-root /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/mapper/newcentos-root,
missing codepage or helper program, or other error
# dmesg |tail
[ 854.482564] XFS (dm-3): Filesystem has duplicate UUID xxxxxxxx-xxxx--becf-d47f003630d1 - can't mount
通过blkid或者lvdisplay查看uuid会发现“/dev/mapper/centos-root”和“newcentos-root”是一样的,
这个时候有2个解决办法:
a、用mount挂载参数禁用uuid:
mount -o nouuid /dev/mapper/newcentos-root /mnt
b、修改uuid。参考https://www.cnblogs.com/skyshao/p/11663914.html
这样处理起来比较麻烦,所以最好就是一开始添加新卷后系统重启之前修改fatab就查到新卷的uuid,在fstab中写uuid挂载新卷。
以上教训:
1、以上操作的正确步骤:先建好新分区,把需要替换分区的数据考入,用blkid查到新分区的uuid,然后修改fstab(必须用uuid挂载)。
2、缩容磁盘,不需要关机重启(除非需要验证)
3、新卷投入使用后,可以在开机状态下,分离被替换的卷,确定一切没有问题后,删除分离出来的卷。
-----------------------
参考:
https://www.cnblogs.com/skyshao/p/11663914.html
https://blog.csdn.net/hezuijiudexiaobai/article/details/130487228