Amazon EC2快照损坏

其中一个AWS卷的快照已损坏。 我们使用这些快照作为备份,过去他们是一个很好的帮助。 (注意:这不是我们唯一的备份方法!)然而,损坏的快照是无用的。

我想知道如何处理这个,如何检测这个事先等等。

情况

我们有一个AWS Web服务器与一个大的ext3卷(数据)与许多图像在一个文件夹。 我们每日制作所有卷的快照,并且在保存四周的时候,这个卷的成本太高。 我只需要紧急情况下的图像快照,而我想要正常数量的剩余部分。 这是我想要做的:

  1. 从卷DATA创build快照
  2. 从快照创build新的ext4卷图像
  3. 安装卷IMAGES,删除除images文件夹以外的所有文件和文件夹
  4. 将原始文件夹移动到卷DATA的根目录
  5. 将符号链接到DATA上原始位置的IMAGES上的新图像文件夹
  6. Rsync所有其他数据到一个新的更小的ext4卷:网站
  7. 用WEBSITE卷replaceDATA卷,链接到IMAGES卷

第3步没有工作。 我得到了以下错误:

sudo mount / dev / xvdf / images
mount / mount / dev / xvdf / images失败:结构需要清理

谷歌search这个错误,我发现build议做一个xfs_check,但文件系统是ext3,所以我试过e2fsck。 这导致了无尽的错误和修复,似乎没有工作。

sudo xfs_check /dev/xvdf sudo e2fsck -f /dev/xvdf 

我创build了一个新的卷IMAGES,并使用rsync来复制所有内容,因为cp导致崩溃。 我立即创build了一个新卷的快照,并恢复了它,看看它是否行得通。

然后,我开始分割音量,并用两个新音量replace旧音量。 这一切正常,问题解决了。

亚马逊支持

不过,我想知道这里发生了什么,以及如何防止这种情况,所以我联系了亚马逊支持。 他们告诉我快照是坏的,可能是因为快照是在卷被使用时拍摄的。 我们一直这样做,用这些快照做了许多恢复(但不是这个卷),从来没有问题。 该卷已附加,但在快照时未写入。

我决定采取build议,分离音量,做一个快照,看看发生了什么事。 分离后,原始数据卷不能再被附加。 由于我已经replace了这个卷,所以它没有任何影响,所以这不是一个大问题,但显然这不是像adv(ert)ised一样工作。

快照可以附加和挂载,我可以打开打开的文件夹等。当我执行一个e2fsck,我再次得到错误。 回想起来,我忘了在原始数据卷上做这个e2fsck,这太可惜了。 我想这也会报告错误。

亚马逊支持这次低于平均水平,这是一个遗憾。

问题

  1. 如何检测像这样的问题,而不必手动testing每个卷/快照?
  2. 我能暂时设定一个音量来只写吗? 我怎么做?
  3. 我阅读了有关这些问题的badblocks命令(结构需要清理)。 在将快照还原到新的(虚拟)卷时,检查该卷似乎是无用的,因为它位于不同的物理位置。 在这种情况下badblocks有用吗?
  4. Fsck似乎改变了磁盘内容。 testing像这样的有问题的磁盘的安全方法是什么?

快照未损坏。 包含快照的文件系统已损坏。 有一个区别。

如果在文件系统处于数据写入过程中拍摄快照,则快照中的文件系统可能会损坏。 当启动快照时,只有一些全部或者全部没有的块被写入时才会发生这种情况。

以前,如果您的旧快照是在卷被使用时进行的,而且恢复正常,那简直就是运气不佳:在启动快照时文件系统没有被写入。 你的好运气已经耗尽,你已经遇到了这种情况的可能影响。

1.防止问题

处理这个问题最简单的方法就是简单地防止它首先发生。 为了避免这些问题,AWSbuild议:

  • 暂停文件系统(如fsfreeze ),
  • 卸载文件系统(例如umount ),或者
  • 停止EC2实例(例如, aws ec2 stop-instances )。

请参阅: http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html

2.解决问题

由于您发现自己的文件系统已损坏,因此最好采取的行动之一就是在做任何事情之前修复文件系统。

  • 使用Linux工具(如xfs_checke2fsck来修复文件系统上的任何损坏的块。
  • 创build一个新的EBS卷并尝试将文件复制到它。

一旦你的文件系统被修复,然后采取措施来防止这个问题(见第1节)。

补充笔记

  • 活动的EBS卷的文件系统不能通过拍摄快照而损坏。 只有从中间写入的快照中恢复卷时,才会损坏文件系统。
  • 在步骤1中创build快照时,文件系统可能已损坏。如果从旧快照中恢复了卷,则该文件系统可能已损坏。