btrfs文件拯救

留学咨询专家王觉菊老师

按照之前的命令,加载了硬盘

2.x个T的数据,大部分文件都恢复了。

只有大概10个G的数据,而且都是之前迅雷下载的hifi无损音乐文件,都在music文件夹里面,导致恢复到张国荣的无损音乐那个文件夹的时候就恢复不出来了。

直接copy文件夹与文件,其实在windows上要花很多钱的事情,到了linux就是几行命令就搞定了。

关键是你要找到这些命令。

像玩黑裙晖,白群辉,好像也用的btrfs这个文件系统,其实主要是因为这个btrfs比较省内存,像群晖有些官方硬件才2G内存也拿出来卖,要是freenas和xigama NAS的话,用的是ZFS,Oracle发明的,1个T的数据就要1个G的内存,你四个6T的硬盘,就要配24G内存,怎么可能?而且,如果要启用dedup的话,1个T的ZFS就要5个G的内存,显然不是家用系统能够搞起的。所以,btrfs当仁不让咯。

不过,btrfs搞了这么多年,linux内核都升级了几个大版本了,btrfs还是没有进入production状态,生态圈子越玩越小。红帽和centos 2017年宣布把btrfs剔除原生支持,opensuse却坚持用btrfs,但是,opensuse现在的发行本还是用的4.12的kernel,而centos 8和用已经是4.18了。

btrfs的raid 5和raid6不能生产环境用,所以,自己玩经常就玩坏了,我第一次用raid5就崩溃了。这次崩溃的是raid1。

而且,btrfs文件系统坏了,经常是ctree找不到,不是说哪个磁盘出毛病了,而是它的raid在有可能出现死机,断电的情况下,因为毕竟家用的系统,不是性能瓶颈,就是能源不稳,所以,这种情况常常有发生。

我本来以为raid1会好使,没想到也不好使。而且,raid balance的时间实在太久了,中间一不小心断电了的话,你就跪求多福吧。我这次就是balance中间死机(同时在给media server streaming影片),硬重启,然后就呵呵了。

不知道怎么写了那么多。

可能是因为有人说用diskgenius可以恢复和读取btrfs的文件吧。

我直接在centos 7 4.12 的内核上自己用btrfs的命令行降级挂载raid,然后就从里面拷贝了重要的文件。

当然,如果还要修复的话,可以用btrfsck,--repair这些命令,我懒得搞了。太耗时。

既然重要的文件都copy出来了。我就把这两个raid 1的盘都直接重新格式了,然后做single的盘来用了。不做raid。其实现在动辄6T的硬盘,raid修复和换盘,balance的时间随便都是一周,两周,甚至更久,所以,中间出点问题,那就问题更多。

还不如直接用single多备。所以,我现在就是,single。其实,也没有什么很重要的数据,真正重要的也就一个U盘可以存下来了。其他的数据都是可以重构的,也没有必要那么紧张。

能恢复,能copy出来文件,就copy,不能的,就重新从网络上下载。现在200M的宽带,下载最高40M/s,填满一个硬盘很快的。没有必要为了那些不重要的数据费脑筋,反正也就是花点时间,让下载软件去干活。

企业用最好用ceph,成本高。

不知道都扯了些啥,竟然扯这么多。这是我的毛病。喜欢扯东西,扯东,扯西。其实就是btrfs 文件系统的raid 1坏了,无法正常挂载,就降级挂载把里面的文件copy出来了。然后把两个磁盘重新格式不做raid了。

分类