Quiero reflejar mis cubos de Amazon S3. Quiero hacer esto porque 1) No quiero que todos mis datos solo existan con un proveedor; y 2) en caso de error de software o violación de la seguridad, quiero hacer una copia de seguridad de los datos.
Puedo duplicar en un disco local con la función de sincronización s3cmd, pero eso no escala para depósitos muy grandes y no es útil para restauraciones rápidas de copias de seguridad. Prefiero que mis datos se reflejen en un competidor como Rackspace Cloud Files.
¿Alguien tiene algunas sugerencias sobre una forma simple y robusta para facilitar este tipo de duplicación de forma automatizada en una caja de Linux?
Respuestas:
Puede usar la utilidad " s3cmd " con la opción "sincronización", aunque me topé con su pregunta porque estoy tratando de averiguar si este mecanismo de sincronización está arruinando mis copias de seguridad de duplicidad.
fuente
Estaba teniendo el mismo problema, así que preparé un pequeño programa específicamente diseñado para reflejar un cubo S3 en otro; Lo llamo s3s3mirror.
Primero probé el enfoque de "sincronización s3cmd", pero tenía un cubo con cientos de miles de objetos, y la "sincronización s3cmd" simplemente se quedó allí, sin hacer nada más que consumir más y más memoria hasta que mi sistema se apagó. Diseñé s3s3mirror para comenzar de inmediato, usar 100 hilos concurrentes (configurables) y hacer un uso modesto de la CPU y la memoria. Si lo digo yo mismo, es bastante rápido.
He puesto esto a disposición en github bajo una licencia de Apache. Si decides darle un giro, avísame qué piensas y si hay algo que pueda mejorarse.
Aquí está el enlace: https://github.com/cobbzilla/s3s3mirror
¡Gracias!
fuente
Amazon ahora tiene una herramienta compatible para hacer esto, aws cli .
Puede reflejarse en cualquier dirección entre local y remoto, o entre dos ubicaciones s3.
Desafortunadamente, no tiene soporte directo para ubicaciones que no sean S3 como el espacio en rack, pero pensé que esta sería una respuesta útil para algunos que encuentren esta pregunta. Como yo, antes de encontrarlo.
En particular,
fuente
Echa un vistazo a Jungle Disk Server . Funciona con Amazon S3 y Rackspace Cloud Files. Puede montar S3 y CF en diferentes ubicaciones en su sistema de archivos y luego usar rsync entre los dos.
fuente
Puede intentar montar los cubos con fusible usando s3fs . Una vez hecho esto, puede rsync desde el punto de montaje a su disco local.
fuente
Puede configurar el servidor Minio , el código abierto y la API compatible con S3. Puede configurarlo en EC2 o en cualquier proveedor de la nube como su servidor alternativo y usar el comando de clientes Minio
mc mirror
tomar el espejo de S3 periódicamente. Puede automatizar lo mismo escribiendo un script cron simple.Espero eso ayude. Descargo de responsabilidad: trabajo para Minio
fuente
Para la sincronización en línea de los depósitos, puede usar la replicación entre regiones. De esta forma, todas las actualizaciones del depósito original se sincronizarán automáticamente con el depósito S3 en otra región: https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html
Tenga en cuenta que requiere versiones habilitadas para el depósito, por lo que si realiza actualizaciones / eliminaciones de objetos en los depósitos mucho, querrá habilitar la política de ciclo de vida para eliminar objetos antiguos.
fuente