RSYNC'yi Amazon S3 ile kullanma [kapalı]


39

~ 100GB sunucu imajlarımızı yedeklemek için Amazon S3 kullanmakla ilgileniyorum (Acronis yedekleme araçlarıyla hazırlandı)

Açıkçası, her gece S3'e yükleme, bant genişliği ve maliyet açısından pahalı olacaktı. S3 ile rsync kullanmayı düşünüyorum ve s3rsync ile karşılaştı. Sadece bunu kullanan herhangi bir tecrübesi veya başka bir yardımcı program olup olmadığını merak ediyordum.


1
S3rsync ile ilgili fark ettiğim şeylerden biri, şu anda 10 GB kova boyutuyla sınırlı olduğunuzu (SSS'ye bakın). Birden fazla kovaya sahip olabilirsiniz, ancak verilerinizi 10GB'lık parçalara bölmek zorundasınız.
Dana

Yanıtlar:


35

Kısa süre önce Google'da bu konuya rastladım ve sanırım soru sorulmasından bu yana manzara biraz değişti. Burada önerilen çözümlerin çoğu artık korunmuyor veya ticari hale geldi.

FUSE ve diğer çözümlerle ilgili bazı sıkıntılardan sonra, Python kullanarak S3 ve Google Storage için kendi komut satırı rsync "klon" u yazmaya karar verdim.

Projeyi GitHub'da kontrol edebilirsiniz: http://github.com/seedifferently/boto_rsync

Son zamanlarda farkında olduğum bir diğer proje ise “ikiyüzlülük”. Biraz daha ayrıntılı görünüyor ve burada bulunabilir: http://duplicity.nongnu.org/

Bu yardımcı olur umarım.

GÜNCELLEME

AWS’deki Python ekibi, bulut hizmetleri için boto tabanlı bir CLI projesi için çok çalışıyor. Dahil edilen araçlar arasında, S3 için boto-rsync tarafından sağlanan işlevselliğin çoğunu çoğaltan (ve birçok yönden yerine geçen) bir arayüz bulunur:

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

Özellikle, synckomut neredeyse aynen rsync gibi çalışacak şekilde yapılandırılabilir:

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


büyük katkı! teşekkürler ve yakında kodunuzu bir atış vereceğim. Python / django öğrenmek için mutlaka okunması gereken şeyler var mı? Şerefe
iainlbc

Programınızın S3cmd ve S3sync ile karşılaştırıldığında ne gibi avantajlar / farklılıklar var?
James McMahon

@JamesMcMahon s3cmd / s3sync, S3 için daha tam özellikli CLI'lerdir (kovaları, liste içeriklerini vb. Yönet).
Seth

Bir s3fs sigortası var: github.com/s3fs-fuse/s3fs-fuse oldukça iyi çalışıyor ve rsync ile birleştirilebiliyor ancak ne kadar verimli olduğundan emin değilim.
Stanislav

"Sync komutunun neredeyse tam olarak rsync gibi çalışacak şekilde yapılandırılabildiğini" açıklarsanız harika olurdu.
trusktr

10

Ayrıca her ikisi de ücretsiz olan S3cmd ve S3sync ile iyi şanslar yaşadım .


S3cmd -.- için +1
fnkr

S3cmd iyi olduğunu sınırlama .. akılda tutmak böylece çalışma belleği 100k dosya başına 1gig hakkında yiyor .. büyük filenumbers (> 300k dosya) ile ilgili bir sorun vardır
Tuxie

7

Acronis resimlerinizin nasıl oluşturulduğuna bağlı olarak, herhangi bir rsync'in bant genişliğinden tasarruf edeceğinden emin değilim. Acronis görüntüleri tek dosya (lar) dır, bu nedenle rsync yalnızca değiştirilenleri yedeklemek için onların içinde okuyamazdı. Ayrıca ne tür sunucu görüntüleri oluşturduğunuzdan da emin değilsiniz, ancak 100 GB demenizden beri tam olarak üstleneceğim? Artımlı bir görüntü, gece görüntüsünün boyutunu büyük ölçüde azaltacaktır, böylece bant genişliği korunacaktır. Görüntüleri, bant ortamı gibi S3'ten başka bir konuma kaydetmeyi de düşünebilir ve bu siteyi saklayabilirsiniz.


4
Hayır, rsync böyle çalışmıyor. Herhangi bir dosya türüyle çalışır ve eşitleme dosyasının içindekiler hakkında herhangi bir bilgiye ihtiyaç duymaz. Bunun yerine dosyanın parçalarının karma değerlerini karşılaştırır ve yalnızca farklı olan parçaları aktarır. en.wikipedia.org/wiki/Rsync
Alan Donnelly

2
ve aynaların hiçbiri eşleşmeyecektir, çünkü resimdeki dosyalarda küçük bir değişiklik olması tüm dosyanın sıkıştırma nedeniyle değişmesine neden olacaktır. Sıkıştırma kapalıyken bile, rsync'in iyi olacağından emin değilim çünkü görüntünün içindeki dosyalar sırayı değiştirebilir ve yalnızca aynı öğütmeyi bulmak yerine yuvarlanma esasına göre eşleşir.
JamesRyan

4

S3rsync'i hiç denemedim.

Site dışı yedeklemelerimizde çiftlik kullanıyorum. S3'teki artımlı yedeklemeleri desteklemektedir, ancak herhangi bir dosya modifikasyonunun sizi tüm yeni dosyayı yeniden yüklemeye zorladığı Amazon S3 depolama protokolü nedeniyle bant genişliğini korumamıştır. Yine de, kopyalık yalnızca son artan yedeklemeden farklılıklar yükler.

Duplicity ile S3sync'in yaptığı gibi başka bir sunucudan geçmeniz gerekmeyecek, yine de verilerinizi şifrelerseniz S3sync'i denemeye değer.


1

S3 ayrıca, ilk 100 Gb verilerinizi ayarlayarak bir USB sürücüsü göndermenize olanak tanıyan AWS Alma / Verme adlı bir ek hizmete sahiptir ve veri merkezlerinde bazı arka uç araçlarını kullanarak S3 bulutuna yükleyecektir. 100 GB'ınız yükseldiğinde, değişen her şeyi yedeklemek için her gece yalnızca farklı yedeklemeler yapabilirsiniz.

Site http://aws.amazon.com/importexport/ adresindedir.

Verilerinizin çoğunluğu oldukça statikse, o zaman bu iyi bir seçenek olacaktır, tüm 100 Gb'lik veri günlük olarak değişiyorsa, bu size çok yardımcı olmayacaktır.


3
128 Gb flash sürücüyü "yüklediklerini" nasıl düşünüyorsunuz? Dünyanın en büyük usb hub'ını, USB konektörlerinin tabandan tavana yama panelini, 3/4 müşteri tarafından sağlanan flash sürücülerle tek bir blade sunucunun arkasına girdiğini hayal ediyorum.
Paul,

Ne bir görüntü! Gerçekte, muhtemelen dünyanızın bilgisayarına bağlı olan en büyük usb hub'ına sahip bir veri merkezinin karanlık bir köşesindeki bazı fakir adamlar :)
monkeymagic

0

Minio müşteri aka "mc" yi deneyebilirsiniz . mc, Amazon S3 uyumlu bulut depolama ve dosya sistemleriyle çalışmak için minimal araçlar sağlar.

mc aşağıdaki komutları uygular

  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.

İşleminizi yapmak için mirror komutunu kullanabilirsiniz. "localdir" yerel dizin ve S3 [Amazon S3 için takma ad] ve S3'teki kepçenizin "remoteDir" adıdır.

$ mc mirror localdir/ S3/remoteDir

Aynı zamanda bir cronjob da yazabilirsiniz. Ayrıca ağın aşması durumunda, yüklemeyi belirli bir zamandan itibaren başlatmak için "$ mc session" komutunu kullanabilirsiniz.

Not: Minio projesine katkıda bulunuyorum ve geri bildiriminizi ve katkılarınızı almak isterim. Umarım yardımcı olur.


-1

Yeni Jungle Disk Server Edition (beta) sizin için yararlı olabilir. Blok düzeyinde çoğaltması var, bu nedenle Acronis görüntülerinizin ortak bir özelliği varsa, bu yedeklemeniz gereken miktarı büyük ölçüde azaltır. Bu özellikler sunucu yedeklemeleri için mükemmeldir. Sürüm notlarına göz atın.

Beta sürümünü iki haftadır test ediyorum ve GUI ile ilgili bazı küçük sorunların yanı sıra, finalde çözüleceğinden emin olduğum için üründen heyecan duyuyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.