2011-02-23 8 views

Respuesta

1

Utilizamos (al menos dos) instancias de Linux con los datos almacenados en la plataforma EBS y conjuntos de réplicas (http://www.mongodb.org/display/DOCS/Replica+Sets).

+1

¿Con qué frecuencia instantánea para EBS? ! – ComputationalSocialScience

+6

replicación = copia de seguridad – Qualcuno

3

Quién mejor que 10gen (desarrolladores de MongoDB) para responderte.

se puede ver en el sitio de follogin, la documentación oficial sobre las copias de seguridad MongoDB en instancias de EC2. http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

Ellos sugieren un instantáneas de EBS. Esta solución permite iniciar la instancia en unos pocos segundos con una "foto" de su base de datos.

+0

Ellos tienen un tutorial especial para copia de seguridad en EC2, a pesar de que no proporcionan secuencias de comandos automáticas/lambda para hacer allí: [EC2 copias de seguridad] (https://docs.mongodb.com/ecosystem/tutorial/backup -and-restore-mongodb-on-amazon-ec2 /) –

6

vieja pregunta, pero creo que puedo contribuir con más detalles y la información sobre un caso real de éxito.

En un entorno de producción tengo 3 Mongodb con replicaset ejecutándose en 3 instancias T2.micro, 1 instancia es la primaria, 1 instancia es la secundaria y 1 instancia se retrasa (cada 4 horas está sincronizada) con EBS persistente (es no eliminado después de reiniciar la instancia). Cada 4,5 horas, comienzo un proceso Lambda que crea una instantánea de EBS de la instancia retrasada y la envía a un depósito S3. Esto está funcionando bastante bien.

Algunos enlaces que pueden ayudar:

+0

¿Utiliza un solo volumen EBS en cada una de las máquinas? Puede haber problemas con las instantáneas si hay varios volúmenes EBS (RAID) que componen la carpeta/data :. Puede suceder que la instantánea tenga lugar durante la sincronización. Realmente no entiendo cómo tu material "demorado" viene a ayudar aquí. Los [MongoDB Docs en EC2] (https://docs.mongodb.com/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/) también sugieren bloquear el DB, y esto no parece estar cubierto en tus enlaces. –

+0

Demorado es mucho más por conveniencia (en mi caso). De todos modos, debe ejecutar rs.fsyncLock() antes de la instantánea de EBS, como ha dicho. En mi entorno, ejecuto rs.fsyncLock() de forma remota desde una lambda antes de la instantánea de EBS. Estoy pensando en escribir una publicación mediana explicando lo que hice para resolver cosas como esa, por ejemplo, creé un Node.js que recibe comandos HTTP y se ejecuta en mi Mongodb para que pueda ejecutar desde mi lambda para ejecutar, por ejemplo, el rs.fsyncLock(). – danilodeveloper

+0

... Tengo un volumen EBS adjunto para cada EC2 – danilodeveloper

Cuestiones relacionadas