Herhangi bir Amazon S3 veri yedekleme yapmak için?


16

S3'te 200 GB ürün resimlerine ev sahipliği yapıyorum (bu benim birincil dosya sunucum).

Bu verileri başka bir yerde yedeklemem gerekiyor mu, yoksa S3 olduğu gibi güvenli mi?

S3 kovasını bir EC2 örneğine monte etmeyi ve ardından gece rsync yedeklemesini yapmayı deniyorum. Sorun şu ki, yaklaşık 3 milyon dosya, bu yüzden farklı rsync ihtiyaçlarını oluşturmak biraz zaman alıyor. Yedeklemenin tamamlanması yaklaşık 3 gün sürer.

Bunu nasıl daha iyi yapacağınız hakkında bir fikriniz var mı? (eğer gerekliyse?)

Yanıtlar:


5

Bu konuda araştırma yapıyordum, yeterince komik.

S3'e yaptığınız yedeklemeler, nihai tutarlılık nedeniyle bölgenize bağlı olarak başarısız olabilir; temel uyarı, bunu yeterince yaparsanız, bir noktada Amazon'un sunucular arasında senkronize edildiği arka planda dosya sistemi büyüsü olarak dosyaları açma veya bulma konusunda hatalarınız olacağıdır, bu nedenle yedekleriniz güvenilir olmayabilir.

Onları başka bir şekilde kaydetmeniz gerekip gerekmediğine gelince, bu risk yönetiminize bağlıdır. Amazon'un verilerinizi tutmasına güveniyor musunuz?

Bir şeylerini kaybetmeleri veya depolama sistemlerinde daha büyük bir başarısızlığa sahip olmaları mümkündür; hiç şüphesiz sözleşmelerinde verilerinizi kaybedecekleri zaman sizin probleminiz olduğunu belirten maddeler vardır . Onların değil. Ayrıca, verileriniz başka bir yerde barındırıldığını görünce, bununla ne yapacaklarını bilemezsiniz; kolluk verilerinizi ister misiniz? Başka birine eriştiğini bile bilmiyor olabilirsiniz.

Güveniyor musun? Veriler işletmenizin anahtarı değilse ve bu riski kabul etmeye istekliyseniz, bunları tesis dışı depolama alanına indirmenize gerek yoktur. Verilerinizin Amazon'daki depolama sunucularında güvenli olacağını riske atmak istemiyorsanız, periyodik olarak kendi depolama alanınıza dökmek için düzenlemeler yapmalısınız.

Başka bir deyişle, risk toleransınıza ve iş gereksinimlerinize bağlı olduğu için buna doğrudan bir cevap olduğunu düşünmüyorum. Birçok insan gelirlerini sadece bulutla depolama konusunda tamamen güvenmezdi, şahsen buna karşı biraz ihtiyatlı hissediyorum ...

Bunu daha iyi yapmak için, tartışmalarda ve araştırmalarda, göz önünde bulundurulması gereken başka bir yaklaşım, verileri depolamak, EC2 örneğine eklemek, verilerinizi buraya kaydetmek için yeterince büyük bir EBS hacmi oluşturmaktır, daha sonra birimi çıkarabilir ve bu verileri S3'e kaydedebilirsiniz. . Bu birim dosyasını S3'e veya içeriğe kaydetme olarak yapılıp yapılmayacağını araştırmanın ortasındayım ... ancak daha sonra depolama maliyetlerinden tasarruf etmek için bittiğinde EBS örneğini silebilirsiniz.

DÜZENLEME Ben yeniden okumada görüyorum, tersi değil (sonuç tutarlılık sorunun hala orada sorunlara neden olup olmadığını bilmiyorum) rağmen S3 FROM EC2 örneğine kaydettiğinizi görüyorum. Verileri bir EC2 yönetim ortamına yedek olarak kaydetmeye mi çalışıyorsunuz? Bence bu akıllıca bir taktik değildir; VM süresi ile birlikte bu tür verilerin uzun süreli depolanmasını hesaba kattığınızda işleri yerel bir sürücüye yedeklemek daha ucuz olabilir. Sürücü maliyetleri ile verileri yerel bir diske yedek olarak kopyalayabilirsiniz.

Amazon'a ve depolarına güvenmeye ilişkin uyarıları hala saklıyorum. Amazon S3'teki her şeyi korumak, ancak daha fazla yedekliliğe sahip olmak istiyorsanız, S3 kovalarınızı bölgeler arasında çoğaltın ve eğer bir bölgeyi etkileyen bir kesintiye sahipse, hepsini dışarı atmamalıdır. Umarım. Yine de her şey mümkündür.

Verilerinize ne kadar değer verdiğinize, ne kadar ödemek istediğinize ve ne kadar tolere etmek istediğinize bağlıdır.


Cevabınız için teşekkürler, ama yanlış anladığınızı düşünüyorum. Birincil depolama alanı olarak S3 kullanıyorum (dosyaları oradan doğrudan cdn olarak barındırıyorum). Benim sorum dosyaları orada güvenli olup olmadığını, ya da onları bir yedek yapmak gerekirse (başka bir S3 bucker veya EC2 örneği olabilir) oldu?
Chrille

Bir düzenlemeye eklendi.
Bart Silverstrim

Hmm, evet belki yerel bir yedekleme daha güvenli olurdu. S3 ve EC2'nin aynı donanımı paylaşıp paylaşmadığını biliyor musunuz - başarısız olursa, hem S3 hem de EC2 yedeklemem kaybolacak mı? EC2'ye yedekleme yapmamın iki nedeni: (1) EC2 ve S3 arasında transfer ücreti yoktur. Her hafta yaklaşık 200 GB'ı yerel olarak kopyalamak oldukça pahalıya mal olacak. (2) S3'te bir felaket durumunda, EC2 örneğimi görüntüleri yedeklemeden paylaşmak için oldukça hızlı bir şekilde dönüştürebilirim. Ama yerel bir yedeklemenin de birçok avantajı olduğunu düşünüyorum ...
Chrille

Dürüst olmak gerekirse Amazon'un donanımının arka planda nasıl kurulduğunu bilmiyorum; bilsem bile, gelecekte değiştirmeyeceklerine dair bir garanti yoktur.
Bart Silverstrim

4

Bunu yapmak için s3cmd kullandım s3cmd sync. Operasyonda biraz rsync benzeri ve S3 ve seçtiğiniz başka bir linux sistemi arasındaki tüm dizinleri itebilir ve çekebilir.

s3cmd syncÇalışan bir EC2 yönetim ortamına, hatta kendi geliştirici iş istasyonunuza (veya bir depolama sunucusuna) erişememenizin hiçbir nedenini göremiyorum .

Bir VPC örneği ayarlamak isteyebilirsiniz ve daha sonra VPC'nize küçük bir düğümü yedekleme sunucusu rolü atayabilir ve hem Amazon'un ağında hem de yerel alt ağınızın içinde bir IP verebilirsiniz.


Kendi finansları ile karar vermesi gereken endişem, bunun yerine bir EC2 örneğinin ve EBS alanının bakımının maliyeti, bunun yerine birkaç yüz dolarlık bir yerel harici sabit sürücüye kaydedilmesiyle karşılaştırıldığında. Para transfer ücretlerine izin veriyorsa, yerel bir sürücüye indiririm ve bunu düzenli aralıklarla senkronize tutarım (bu da verilen çözümün bir parçasıydı.)
Bart Silverstrim

Amazon'un EC2'si, özellikle kurumsal düzeyde veya basit şeylerden başka bir şey yapmak istiyorsanız, terimin herhangi bir ölçüsüne göre ucuz değildir. Eğer bundan hoşlanmıyorsanız, belki sizin için değildir.
Tom O'Connor

@BartSilverstrim: AWS içindeki transfer ücretsiz değil mi? Öyleyse, EC2'ye yerel olarak kopyalamam daha ucuz olabilir. Zaten 24/7 çalışan bir EC2 örneği var, bu yüzden maliyet olacak sadece EBS alanı.
Chrille

2

Tavsiyem verilerinizin Amazon'un değil sizin sorumluluğunuzdur. Verileri kaybetmek o kadar da önemli değilse, kendi yedeklemenizi yapmayın. Öyleyse, benim yaptığım gibi (en azından) ucuz bir JBOD'a (ve düzenli olarak doğrulayın) kendi yedeklemenizi alın.

Amazon'un verileriniz için kaybettikleri gün ne kadar sorumluluk üstlenmek istediğini öğreneceksiniz.


0

Ödeyebiliyorsanız (bunu yaptığım gibi) tüm verilerim sunucumda saklanıyor, ancak Amazon s3'ten çekiliyor. Eğer Amazon herhangi bir sebeple aşağı inerse (dokunmatik ahşap) tüm verilerimi anında sunucumdan alabilirim. Sunucumdan yerel sürücüme aylık yedeklemeler yapıyorum. Sitem sitede 2 TB'ın üzerinde olduğu için.


Tavsiyenizin ne olduğunu biraz belirsiz buluyorum. Sunucunuz nedir ve nerede bulunur?
kasperd

0

Bu eski bir iş parçacığı olmasına rağmen, Googling S3 yedeklemesinde ortaya çıkan ilk şey, bu yüzden ona ekleyeceğimi düşündüm ...

Bu konuda biraz araştırma yaparak, Rclone https://rclone.org/ keşfettim - bulut dosya depolama hizmetleri arasında kopyalamak için tasarlanmış rsync-ish yazılımı ve çoğunu destekler. Hiçbir ilişki yok ve henüz kullanmadım, bu yüzden iyi mi kötü mü olduğunu söyleyemem, ama birine yardım edebileceğini düşündüm.

Bana öyle geliyor ki, bulutta barındırılan dosyaların (S3, Google Depolama Alanı, Rackspace Bulut Dosyaları, vb.) Yedeklerini 'site dışı' yapan bir barındırılan hizmet için fırsat var.

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.