linux内存分配缺陷,linux – 10TB ext3 RAID 6的fsck的主要问题(内存分配失败等)

我最近在

linux md软件RAID 6设置中添加了第7个2TB驱动器.在md完成从6到7个驱动器(从8到10TB)重新整形阵列后,我仍然可以毫无问题地安装文件系统.为了准备resize2fs,我随后卸载了分区并运行了fsck -Cfyv,并受到了数百万随机错误的无休止的欢迎.这是一个简短的摘录:

Pass 1: Checking inodes, blocks, and sizes

Inode 4193823 is too big. Truncate? yes

Block #1 (748971705) causes symlink to be too big. CLEARED.

Block #2 (1076864997) causes symlink to be too big. CLEARED.

Block #3 (172764063) causes symlink to be too big. CLEARED.

...

Inode 4271831 has a extra size (39949) which is invalid Fix? yes

Inode 4271831 is in use, but has dtime set. Fix? yes

Inode 4271831 has imagic flag set. Clear? yes

Inode 4271831 has a extra size (8723) which is invalid Fix? yes

Inode 4271831 has EXTENTS_FL flag set on filesystem without extents support. Clear? yes

...

Inode 4427371 has compression flag set on filesystem without compression support. Clear? yes

Inode 4427371 has a bad extended attribute block 1242363527. Clear? yes

Inode 4427371 has INDEX_FL flag set but is not a directory. Clear HTree index? yes

Inode 4427371, i_size is 7582975773853056983, should be 0. Fix? yes

...

Inode 4556567, i_blocks is 5120, should be 5184. Fix? yes

Inode 4566900, i_blocks is 5160, should be 5200. Fix? yes

...

Inode 5628285 has illegal block(s). Clear? yes

Illegal block #0 (4216391480) in inode 5628285. CLEARED.

Illegal block #1 (2738385218) in inode 5628285. CLEARED.

Illegal block #2 (2576491528) in inode 5628285. CLEARED.

...

Illegal indirect block (2281966716) in inode 5628285. CLEARED.

Illegal double indirect block (2578476333) in inode 5628285. CLEARED.

Illegal block #477119515 (3531691799) in inode 5628285. CLEARED.

压缩?最大化?我从来没有在这台机器附近的任何地方使用ext4!

现在,问题是fsck一直死于以下错误消息:

Error storing directory block information (inode=5628285, block=0, num=316775570): Memory allocation failed

起初我能够简单地重新运行fsck并且它会在不同的inode中死亡,但现在它已经在5628285上结算了,我无法超越它.

我花了最后几天试图寻找修复程序并找到以下3个“解决方案”:

>使用64位Linux. / proc / cpuinfo包含lm作为处理器标志之一,getconf LONG_BIT返回64并且uname -a有这个说:

Linux< servername> 3.2.0-4-amd64#1 SMP Debian 3.2.46-1 x86_64 GNU / Linux.应该都好,不是吗?

>将[scratch_files] / directory = / var / cache / e2fsck添加到/etc/e2fsck.conf.这样做,每当我重新运行fsck时,它会在/ var / cache / e2fsck目录中添加另一个500K * -dirinfo- *和一个8M * -icount- *文件.所以这似乎也有其预期的效果.

>为机器添加更多内存或交换空间. 12GB的RAM和32GB的交换分区就足够了,不是吗?

不用说:没有任何帮助,否则我不会写在这里.

当然,现在驱动器标记为坏,我无法再安装它.那么,截至目前,由于磁盘检查,我丢失了8TB的数据?!?!?

这给我留下了3个问题:

>我有什么办法可以修复这个驱动器(记住,在我运行fsck之前一切都很好!),而不是花一个月时间学习ext3磁盘格式,然后尝试用十六进制编辑器手动修复它?

>怎么可能,像ext3这样流行的文件系统的fsck作为任务关键的东西仍然有这样的问题?特别是因为ext3已经有十多年了.

>有没有ext3的替代品,没有这些基本的可靠性问题?也许是jfs?

(我现在在64位Debian Wheezy 7.1上使用e2fsck 1.42.5,但在32位Debian Squeeze上与早期版本有相同的问题)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值