最近诸事不顺...经一起合租的朋友提醒,才发现online独服已经掉线一天多无法连接了,无奈上offline官网,折腾了半天Dell的远程界面iDRAC,确实是十分难用(。发现Bios已经找不到硬盘了,发工单给offline经检查,果然是硬盘炸掉了,这块硬盘常年被我用于挂各种pt站,大概也是折腾的不轻,但是骂归骂,数据还是要救的。
这个杜甫上,大部分的数据是来自于pt站的存货,这些丢了就丢了大不了重下回来,但还有一部分数据,是来自于我自己写的一些小玩意儿,比如网站的配置,还有网络工具的一些logs,虽说自己也可以重新写一遍,但是有总是好的(其实是因为我现在看我几年前写的东西发现看不懂)。
由于这个杜甫是我与另一位同学共同购置的,所以它基于一个CentOS作为母鸡底,在其之上构筑KVM虚拟机服务,我们两个人一人一半性能,这两天登进去看了看惨不忍睹(x,什么,我几年前是怎么配出这种辣鸡玩意儿的(x。用一个完整的系统作为基础就不说了,怎么这么多破破烂烂的代码,这他妈谁写的文本废物(几年前的我x
然后就是救回数据了,由于我们两个的数据全都是在kvm虚拟机中,所以系统里只有两个数百G的qcow2文件,我不可能花上巨大的时间把整个系统完全备份,而且硬盘损坏我也不知道损坏了多少,即使备份出来了可能也无法使用,经大佬指点,发现Linux本身就可以直接挂载kvm镜像
首先需要激活内核中的NBD模块
modprobe nbd max_part=8
在这里我有两个kvm虚拟机需要备份,所以我先备份第一个
qemu-nbd --connect=/dev/nbd0 archlinux.qcow2
之后就可以使用fdisk查看到这块虚拟硬盘的分区详情了
fdisk /dev/nbd0 -l
之后就是和普通的挂载方法一样,挂载进系统
mount /dev/nbd0p2 /mnt/temp
在我使用的Ubuntu LiveCD中,出现了这时候找不到nbd0p2的错误提示,查找资料以后发现需要加上这样一句
partx -a /dev/nbd0
这样就可以正常挂载在系统中了,使用完之后就可以取消挂载
umount /mnt/temp
qemu-nbd --disconnect /dev/nbd0
rmmod nbd
Be First to Comment