周五下班打算再努力一会儿,打开台式机就去干别的了,回来一看竟然停在了bios界面不动了,心中一喜难道要换电脑了:)
不过本着研究的精神,还是要确认一下问题,近来没怎么折腾硬件,只是增加了一块M.2 ssd, SATA接口的。你能想象
我主板上两条M.2竟然有一条是SATA的,还要占用sata接口么?
根据简单排除法,拔掉了存储卡,显卡,内存,竟然都没有效果,难道真要换全套了?在拔掉CPU之前,我还测试拔掉了SATA SSD
用来做CACHE的盘(注意不是那个M.2的),还是没有用。
下单前抱着试一下的心态拿掉了新装的那个便宜M.2 ssd, 我去竟然启动了,这下花钱的理由没有了:)
话说这新的主板真是不如早期的,什么报警闪灯都没有,靠我一顿瞎猜,当然我买的也不是高端主板。
既然硬件问题解决了,当然就有软件问题了,我的系统一直是基于lvm的。这块M.2也是完整的加入了vg,分配给了home logic volume
非常自然的,少了一块pv,lvm拒绝启动。这个简单,用启动盘启动,把pv移除就好,至少我是这么想的:)
千万不要用ubuntu作为修复启动盘,因为它的Live CD默认也用lvm,而且vg的名字竟然和我一样,用它启动竟然看不到我的vg
当然也提醒我们要起名字就要不走寻常路:)
vgreduce --remove-missing
这个命令很好的修复了lvm不启动的问题,但是它问了我一句话,我看都没看就yes了,其实它问我说home也用了这个pv,要一起删除么?
这下好了,系统启动了,home没有了,里面我专心工作的工具和我收集的。。。都没了。
这怎么可以呢?会影响我努力工作啊。。。(哈哈)
仔细研究了lvm后,lvm对所有操作都是有备份的,而且可以恢复。我的home lv没有太多数据只有100多G,应该还没有写到那块M.2上
原理上只要回到安装M.2之前的状态应该就能找回来。
vgcfgrestore --restorefile
赞啊,果然回来了,怎么不能mount? filesystem size和硬件不匹配,没关系
resizefs
需要e2fsck先,What’s your problem? 不能e2fsck,因为filesystem size不匹配。这不是死循环了么?
没关系linux有各好处在与filesystem其实和文件没区别,所以dd就派上用场了,首先把home备份成文件
dd if=/dev/guest_vg_0/vol_home of=home.img bs=4M status=progress
当然备份各200G就够,然后对这个文件进行e2fsck, resizefs, mount上文件,哈哈哈,全都回来了,最后
rsync -av
这次的教训就是LVM没有一点硬件保护,或者说在普通配置下没有。比如多个硬盘分成多个vg, 然后互相备份也许可行
但是还是在raid基础上同时做好备份更保险
因此以后的升级计划就是
给数据盘设置raid5,home用raid1,在raid的基础上做lvm。同时也做好备份工作,话说这么多年我的数据也不过3T而已。