Leí sobre las diferentes configuraciones de MongoDB para hacer copias de seguridad sin tiempo de inactividad. ¿Qué estrategia es mejor o incluso pueden ser comparadas?MongoDb Copia de seguridad en caliente - copie data/réplica de VS VS con fsyncLock
habilitar el diario y simplemente copiar el directorio
/data/db
- no está claro para mí si esto es suficiente - en la página principal de MongoDB se afirma que hay que "instantánea" y funciona en SAN y LVM como ejemplos .Preguntas:
¿Qué significa instantánea en este contexto será un recuento comando de copia como una instantánea? ¿Es seguro copiar un directorio de datos MongoDB (2.0+) en un servidor Windows con NTFS? ¿Cómo se asegura de que sea seguro hacerlo en su propio sistema de archivos y configuración?
Establezca un conjunto de réplicas con 2 servidores y un árbitro. Luego use
rs.status()
yfsyncLock
/unlock para asegurarse de que los datos se lean solo en el servidor secundario mientras se realiza la copia de seguridad.> db.fsyncLock function() { return db.adminCommand({fsync:1, lock:true}); } > db.fsyncUnlock function() { return db.getSiblingDB("admin").$cmd.sys.unlock.findOne(); }
Preguntas:
Si utiliza bloqueos en un conjunto de réplicas parece que escribe y lee puede ser bloqueado para todo el conjunto de la réplica y this bug no se ha fijado?
¿Qué pasa si el secundario se vota como primario mientras la copia de seguridad está en progreso? ¿Se detendrá el proceso de copia de seguridad o la réplica dejará de responder a las solicitudes de escritura hasta que se desbloquee?
Consideraciones:
Por ahora me gustaría que la solución simple y sencillamente copiar el directorio
data
/db
con los archivos de revistas y esperar con el conjunto de réplicas. MongoDB se ejecuta en un servidor de Windows de 64 bits (RackSpace Cloud).