我们的AWS卷之一的快照已损坏。我们使用这些快照作为备份,在过去,它们是一个很大的帮助。(注:这不是我们唯一的备份方法!)但是,损坏的快照是无用的。
我想知道如何处理这件事,如何事先发现这件事等等。
我们有一个,它有一个大的ext3卷(数据),在一个文件夹中有很多图像。我们每天都会把所有的书都拍下来,因为我们把它们保存了四个星期,这张照片太贵了。在紧急情况下,我只需要一张图片的快照,剩下的部分我想要的是正常的数量。这就是我想要做的:
第三步不起作用。我得到了以下错误:
sudo挂载/dev/xvdf /images 挂载: /images上的/dev/xvdf挂载失败:结构需要清理
为了查找这个错误,我找到了执行xfs_check的建议,但是文件系统是ext3,所以我尝试了e2fsck。这导致了无穷无尽的错误和修复,似乎不起作用。
sudo xfs_check /dev/xvdf
sudo e2fsck -f /dev/xvdf我创建了一个新的卷、图像,并使用rsync复制了所有内容,因为cp导致了崩溃。我立即创建了一个新卷的快照,并恢复了这个快照,以查看它是否正常,它做到了。
然后我开始分卷,用两个新卷代替原来的卷。这一切都成功了,问题就解决了。
我仍然想知道这里发生了什么,以及如何在未来防止这种情况,所以我联系了亚马逊的支持部门。他们告诉我,快照是损坏的,可能是因为快照是在使用卷时拍摄的。我们一直这样做,用这些快照做了很多恢复(但不是这个卷),从来没有问题。此卷已附加,但在快照时没有写入。
我决定接受这个建议,拆开音量,拍一张快照,看看发生了什么。分离后,原始数据卷不能再附加。由于我已经更换了这卷,它没有任何后果,所以这不是一个大问题,但很明显,这不像adv(Ert)所公布的。
快照可以附加和挂载,我可以打开文件夹等。当我执行一个e2fsck时,我会再次得到错误。回顾过去,我忘记对原始数据卷执行这个e2fsck,这是一个遗憾。我想这也会报告错误。
这次亚马逊的支持低于平均水平,这是很遗憾的。
badblocks命令来解决类似的问题(结构需要清理)。当我将快照还原到新的(虚拟)卷时,检查该卷似乎毫无用处,因为它位于不同的物理位置。在这种情况下,坏块有用吗?发布于 2016-04-12 15:22:48
快照未损坏。快照包含的文件系统已损坏。是有区别的。
如果在文件系统编写数据的过程中获取快照,则快照中的文件系统可能会损坏。当启动快照时,只编写了一些全部或无的块,就会发生这种情况。
以前,如果您的旧快照是在使用卷时拍摄的,并且恢复正常,这完全是运气不佳:在启动快照时文件系统没有被写入。你的好运现在已经用完了,你也遇到了这种情况的可能后果。
处理这个问题的最简单的方法就是从一开始就防止它发生。为了避免这些问题,AWS建议:
fsfreeze),umount),或aws ec2 stop-instances)。请参阅:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
由于您发现自己的文件系统已损坏,所以最好的操作方法是在执行其他操作之前修复文件系统。
xfs_check或e2fsck )修复文件系统上的任何损坏块。一旦您的文件系统修复,然后采取措施,以防止问题(见第1节)。
https://serverfault.com/questions/769783
复制相似问题