Utilisation de RSYNC avec Amazon S3 [fermé]

39

Je suis intéressé par l'utilisation d'Amazon S3 pour sauvegarder nos images de serveur d'environ 100 Go (créées à l'aide des outils de sauvegarde Acronis).

Évidemment, ce téléchargement sur S3 tous les soirs serait coûteux, en termes de bande passante et de coût. J'envisage d' utiliser rsync avec S3 et suis tombé sur s3rsync. Je me demandais si quelqu'un avait déjà utilisé ce logiciel ou un autre utilitaire?

alex
la source
1
Une chose que j'ai remarquée à propos de s3rsync est que vous êtes actuellement limité à des tailles de seau de 10 Go (consultez la FAQ). Vous pouvez avoir plusieurs compartiments, mais vous devez diviser vos données en morceaux de 10 Go.
Dana

Réponses:

35

Je suis récemment tombé sur ce fil de discussion 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 liées à l'utilisation de FUSE et de certaines autres solutions, j'ai décidé d'écrire mon propre "clone" de ligne de commande rsync pour S3 et Google Storage à l'aide de Python.

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

Un autre projet dont j'ai récemment pris connaissance 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 chez AWS a travaillé dur sur un projet CLI basé sur boto pour ses services de cloud. Parmi les outils inclus, il y a une interface pour S3 qui duplique (et remplace à bien des égards) la plupart des fonctionnalités fournies par boto-rsync:

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

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

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

Seth
la source
grande contribution! merci et je vais donner à votre code un coup de feu bientôt. Avez-vous des lectures indispensables pour apprendre python / django? Cheers
iainlbc
Quels sont les avantages / différences de votre programme par rapport à S3cmd et S3sync?
James McMahon
@JamesMcMahon s3cmd / s3sync sont des CLI plus complètes pour S3 (gérer les compartiments, le contenu de la liste, etc.), tandis que boto-rsync est strictement une tentative d'imitation de rsync.
Seth
Il y a un fusible s3fs: github.com/s3fs-fuse/s3fs-fuse qui fonctionne très bien et peut être combiné avec rsync, mais je ne suis pas certain de son efficacité.
Stanislav
Ce serait génial si vous pouviez expliquer comment "la commande de synchronisation peut être configurée pour fonctionner presque exactement comme rsync".
trusktr
10

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

Terrell
la source
+1 pour S3cmd -.-
fnkr
S3cmd a un problème avec les fichiers volumineux (> 300k fichiers). Il mange environ 1gig pour 100k fichiers de mémoire de travail, il est bon de garder à l'esprit cette limitation ..
Tuxie
7

En fonction de la manière 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 pourra pas les lire pour ne sauvegarder que 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 de la bande passante. Vous pouvez également envisager d'enregistrer les images dans un emplacement différent de S3, tel qu'un support de bande, et de le stocker hors site.

churnd
la source
4
Non, rsync ne fonctionne pas comme ça. Il fonctionne avec n'importe quel type de fichier et ne nécessite aucune connaissance des éléments internes du fichier lors de sa synchronisation. Au lieu de cela, il compare les hachages de morceaux du fichier et transfère uniquement les morceaux qui diffèrent. en.wikipedia.org/wiki/Rsync
Alan Donnelly
2
et aucun des mandrins ne correspondra car toute modification mineure dans les fichiers de l'image entraînera la modification de l'intégralité du fichier en raison de la compression. Même si la compression est désactivée, je ne suis pas sûr que cela fonctionnerait bien parce que les fichiers contenus dans l'image peuvent changer d'ordre et que la correspondance est établie, plutôt que de rechercher le même bloc de la même manière.
JamesRyan
4

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 ne soit pas réellement en train d'économiser de la bande passante en raison du protocole de stockage Amazon S3 dans lequel toute modification de fichier vous oblige à télécharger à nouveau le fichier entier. Quoi qu'il en soit, la duplicité ne charge que les différences par rapport à la dernière sauvegarde incrémentielle.

Avec Duplicity, vous n’aurez plus besoin de passer par un autre serveur, contrairement à S3sync. Néanmoins, si vous cryptez vos données, vous devriez essayer S3sync.

Lessfoe
la source
1

S3 dispose également d'un service complémentaire appelé AWS Import / Export qui vous permet de lui envoyer un lecteur USB contenant votre jeu de données initial de 100 Go. Ils le chargeront sur le cloud S3 à l'aide de certains outils d'arrière-plan de leurs centres de données. Une fois que votre 100Gb est en place, 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 relativement statiques, alors ce serait une bonne option. Si les 100 Go de données changent quotidiennement, cela ne vous aidera pas beaucoup.

monkeymagic
la source
3
Comment supposez-vous qu'ils "chargent" un lecteur flash de 128 Go? Je pense au plus grand hub USB au monde, à un panneau de brassage de connecteurs USB allant du sol au plafond, aux 3/4 de lecteurs flash fournis par le client, le tout à l’arrière d’un seul serveur lame.
Paul
Quelle image !! En réalité, probablement un pauvre gars dans un coin sombre d'un centre de données avec le plus grand concentrateur USB de votre monde connecté à son PC :)
monkeymagic
0

Vous pouvez essayer le client minio aka "mc". mc fournit un minimum d'outils pour utiliser le stockage en nuage et les systèmes de fichiers compatibles 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. "rép_local" é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 la même chose. De même, en cas d’indignation du réseau, vous pouvez quand même utiliser "$ mc session" pour relancer le téléchargement à partir de cette heure.

PS: Je contribue au projet Minio et j'aimerais beaucoup recevoir vos commentaires et votre contribution. J'espère que ça aide.

koolhead17
la source
-1

La nouvelle édition de Jungle Disk Server Edition (version bêta) peut vous être utile. La déduplication au niveau des blocs est réduite. Par conséquent, si vos images Acronis ont quelque chose en commun, cela réduira considérablement le temps nécessaire à la sauvegarde. Les fonctionnalités sont parfaites pour les sauvegardes de serveur. Consultez les notes de publication.

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

Martijn Heemels
la source