web-dev-qa-db-fra.com

Utilisation de RSYNC avec Amazon S3

Je suis intéressé à utiliser Amazon S3 pour sauvegarder nos images de serveur ~ 100 Go (créées via les outils de sauvegarde Acronis)

Évidemment, ce téléchargement sur S3 chaque nuit serait coûteux, en termes de bande passante et de coût. J'envisage d'utiliser rsync avec S3 et je suis tombé sur s3rsync. Je me demandais simplement si quelqu'un avait une expérience de l'utilisation de ceci ou d'un autre utilitaire?

40
alex

J'ai récemment rencontré ce fil sur Google et il semble que le paysage ait un peu changé depuis la question. La plupart des solutions suggérées ici ne sont plus maintenues ou sont devenues commerciales.

Après quelques frustrations en travaillant avec Fuse et certaines des autres solutions, j'ai décidé d'écrire mon propre "clone" rsync en ligne de commande pour S3 et Google Storage en utilisant Python.

Vous pouvez consulter le projet sur GitHub: http://github.com/seedifferently/boto_rsync

Un autre projet dont j'ai été récemment informé est la "duplicité". Il semble un peu plus élaboré et peut être trouvé ici: http://duplicity.nongnu.org/

J'espère que cela t'aides.

[~ # ~] mise à jour [~ # ~]

L'équipe Python d'AWS a travaillé dur sur un projet CLI basé sur boto pour leurs services cloud. les fonctionnalités fournies par boto-rsync:

https://github.com/aws/aws-cli

En particulier, la commande sync peut être configurée pour fonctionner presque exactement comme rsync:

http://docs.aws.Amazon.com/cli/latest/reference/s3/sync.html

36
Seth

J'ai également eu de la chance avec S3cmd et S3sync , tous deux gratuits.

10
Terrell

Selon la façon dont vos images Acronis sont créées, je ne suis pas sûr qu'un type de rsync vous permettrait d'économiser de la bande passante. Les images Acronis sont des fichiers uniques, donc rsync ne pourrait pas lire à l'intérieur pour sauvegarder uniquement ce qui a changé. Vous ne savez pas non plus quel type d'images de serveur vous créez, mais puisque vous avez dit 100 Go, je vais supposer qu'il est plein? Une image incrémentielle réduirait considérablement la taille de l'image nocturne, économisant ainsi la bande passante. Vous pouvez également envisager d'enregistrer les images dans un autre emplacement que S3, tel qu'un support de bande, et de les stocker hors site.

7
churnd

Je n'ai jamais essayé S3rsync.

J'utilise la duplicité pour nos sauvegardes hors site. Il prend en charge les sauvegardes incrémentielles sur S3 bien qu'il n'économise pas vraiment la bande passante en raison du protocole de stockage Amazon S3 dans lequel toute modification de fichier vous oblige à télécharger à nouveau le nouveau fichier entier. Quoi qu'il en soit, la duplicité télécharge uniquement les différences de la dernière sauvegarde incrémentielle.

Avec Duplicity, vous n'aurez pas besoin de passer par un autre serveur comme le fait S3sync, mais si vous cryptez vos données, cela devrait valoir la peine d'essayer S3sync.

4
Lessfoe

S3 dispose également d'un service complémentaire appelé AWS Import/Export qui vous permet d'envoyer une clé USB avec votre jeu de données initial de 100 Go et ils le chargeront sur le cloud S3 en utilisant des outils backend dans leurs centres de données. Une fois que votre 100 Go est là-haut, vous pouvez simplement faire des sauvegardes différentielles chaque nuit pour sauvegarder tout ce qui a changé.

Le site est http://aws.Amazon.com/importexport/

Si la majorité de vos données sont assez statiques, ce serait une bonne option, si l'ensemble des 100 Go de données changent quotidiennement, cela ne vous aidera pas beaucoup.

1
monkeymagic

Vous pouvez essayer client minio aka "mc". mc fournit un minimum d'outils pour fonctionner avec le stockage cloud et les systèmes de fichiers compatibles avec Amazon S3.

mc implémente les commandes suivantes

  ls        List files and folders.
  mb        Make a bucket or folder.
  cat       Display contents of a file.
  pipe      Write contents of stdin to one or more targets. When no target is specified, it writes to stdout.
  share     Generate URL for sharing.
  cp        Copy one or more objects to a target.
  mirror    Mirror folders recursively from a single source to many destinations.
  diff      Compute differences between two folders.
  rm        Remove file or bucket [WARNING: Use with care].
  access    Manage bucket access permissions.
  session   Manage saved sessions of cp and mirror operations.
  config    Manage configuration file.
  update    Check for a new software update.
  version   Print version.

Vous pouvez utiliser la commande miroir pour effectuer votre opération. "localdir" étant le répertoire local & S3 [alias pour Amazon S3] et le nom "remoteDir" de votre compartiment sur S3.

$ mc mirror localdir/ S3/remoteDir

Vous pouvez également écrire un cronjob pour le même. De plus, en cas d'indignation du réseau, vous pouvez toujours utiliser "$ mc session" pour redémarrer le téléchargement à partir de ce moment particulier.

PS: Je contribue au projet minio et j'aimerais avoir vos commentaires et votre contribution. J'espère que cela aide.

0
koolhead17

Le nouveau Jungle Disk Server Edition (beta) pourrait vous être utile. Il a une déduplication au niveau du bloc, donc si vos images Acronis ont quelque chose en commun, cela réduira considérablement la quantité dont vous avez besoin de sauvegarder. Les fonctionnalités sont parfaites pour les sauvegardes de serveur. Consultez les notes de version.

Je teste la version bêta depuis deux semaines et, à part quelques petits problèmes avec l'interface graphique qui, je suis sûr, seront résolus en finale, je suis enthousiasmé par le produit.

0
Martijn Heemels