Amazon ec2 如何在运行RabbitMQ实例的情况下正确快照EBS卷?

Amazon ec2 如何在运行RabbitMQ实例的情况下正确快照EBS卷?,amazon-ec2,rabbitmq,mnesia,Amazon Ec2,Rabbitmq,Mnesia,我在EC2实例上使用RabbitMQ,并且在EBS卷上有Mnesia表,因此当我对其进行快照并尝试启动另一个具有相同数据的实例时,该表似乎正被另一个RabbitMQ实例使用 解决此问题的唯一方法是关闭RabbitMQ以进行刷新/快照,然后在完成后重新启动它吗 有没有办法清理文件,使其看起来不被锁定或强制解锁 这不是我将面临的常见问题,只是好奇是否有更好的解决方案 为了澄清,我看到的错误是:timeout\u waiting\u for\u tables您首先要关心的是文件系统。不确定您是否在使用

我在EC2实例上使用RabbitMQ,并且在EBS卷上有Mnesia表,因此当我对其进行快照并尝试启动另一个具有相同数据的实例时,该表似乎正被另一个RabbitMQ实例使用

解决此问题的唯一方法是关闭RabbitMQ以进行刷新/快照,然后在完成后重新启动它吗

有没有办法清理文件,使其看起来不被锁定或强制解锁

这不是我将面临的常见问题,只是好奇是否有更好的解决方案


为了澄清,我看到的错误是:
timeout\u waiting\u for\u tables

您首先要关心的是文件系统。不确定您是否在使用LVM、ext3、xfs或其他什么,但如果您在使用LVM,您可能希望签出;具体地说,设置挂起/恢复

您将得到以下结果:

dmsetup suspend <dev> 
ec2-create-snapshot <vol> 
dmsetup resume <dev> 
dmsetup挂起
ec2创建快照
DMS设置恢复
一旦文件系统同步/挂起,就需要担心rabbitmq了。Rabbitmq开发人员Matthias Radestock在一个:

但是对于持久的消息,我不太确定。天气怎么样 rabbit_persister.LOG是否已管理?我能拿一份备份吗 无论何时,或者我可以只取一个rabbit_persister.LOG.previous吗

我会备份这两个文件应该是 可以恢复 来自备份的rabbit_persister.LOG 即使备份被接收了 追加的中间-我没有 不过已经测试过了。上一个日志 在备份需要时需要 在原木滚动时放置

我将在哪里查找它的滚动频率

决定何时滚动的逻辑 日志相当复杂

我可以触发一个手动滚动吗

rabbit_uu持久化程序:在中强制创建快照() Erlang shell实现了这一点


签出。

中的强制快照目标,我正在使用XFS,并且快照已经在该卷上工作,只是当我同时快照RabbitMQ的文件时,当我尝试从快照的新副本启动RabbitMQ时,它失败了。我将不得不查找错误,但这可能会成功!谢谢