Bütçede sunucu kaybına karşı korunma


22

Hayırseverlik ve kar amacı gütmeyen müşteriler için web siteleri ve veritabanları sağlayan çok fazla bütçeye sahip küçük bir şirketim.

Birkaç Debian Linux VPS sunucum var ve hizmetin barındırıldığından farklı bir VPS'ye günlük yedeklemelerim olduğundan emin oluyorum.

Son zamanlarda hosting şirketimden biri iki sürücünün aynı anda başarısız olduğunu söyledi ve böylece veriler sonsuza dek kaybedildi. Olaylar olur, özür dilediler, başka ne yapabilirlerdi? Ancak, donanım veya diğer ana bilgisayarla ilgili bir hata durumunda, temel olarak bir VPS'yi yeniden elde etmenin maliyet-etkin yollarını merak etmemi sağladı.

Şu anda yapmak zorundayım

  1. Yeni bir VPS'yi arttırın
  2. Son günün yedeğini (veritabanları, web kökü ve web sitesine özgü yapılandırma dahil) VPS'ye aktarın ve sonuncusu gibi yapılandırın.
  3. DNS'yi güncelleyin ve yayılmasını bekleyin.

Büyük olasılıkla bir gün sürecek ya da öylesine başaracaktı ki, DNS yayılımı büyük bilinmeyen olmasına rağmen, TTL oldukça düşük ayarlanmış olmasına rağmen (saat ya da öylesine).

Bazı ana bilgisayarlar, bir seti yeni bir VPS'ye kopyalamak için kullanılabilecek anlık görüntüler sağlar, ancak yine de IP vardır ve bu, ev sahibi şirketin bir hesabı iptal etmesi / askıya alması durumunda yardımcı olmaz (bu konuda okuyordum. Bazı barındırma sağlayıcılarının davranışları ve beni korkutuyor! Spam / tehlikeli bir şey yapmıyorum ve güvenliği yakından takip ediyorum, ama kelimenin tam anlamıyla bunu yapma gücüne sahip olduklarını ve oldukça riskli olduğumu biliyorum).

Bu, son derece pahalı bir çözüme gitmeden yapabileceğim en iyi saygın ana bilgisayarları seçmekle birlikte mi?


1
2 sürücünün eşzamanlı olarak başarısız olduğu, özellikle vps
symcbean'da

Görünüşe göre biri başarısız olmuş, diğeri ise yenisini inşa ederken.
artfulrobot

drbd.linbit.com sitesine bir göz atın , bu gereksinimlerinizi karşılayabilir ..
The Unix Janitor

2
@symcbean: Sorun şu ki, bir RAID-5 yeniden inşası kalan tüm disklerin tüm verilerini okumayı gerektiriyor. Bu oldukça uzun bir işlem (günler olmasa saat). Ucuz bir RAID-5 sistemi, masaüstü sürücüleri kullanarak 9 + 1 kurulumuna sahip olabilir. Bu 9 diskin tümü bir RAID yeniden yapılandırmasında tasarım sınırlarının ötesinde vurgulanacak. Aslında başarısızlık beklenir.
MSalters

1
Aslında, ayrı havuzlar olarak depolama havuzları ve işlemci + hafıza havuzları var, ancak soru belirli bir sağlayıcıda olanlarla ya da olmayanlarla ilgili değil; belirli bir uygulamadan daha genel.
artfulrobot

Yanıtlar:


28

Benim için, saygın ana bilgisayarları seçmek ve her ikisi de zaten yapmış gibi göründüğünüz düzenli yedekleme yapmak, iş sürekliliği planlaması, yüksek kullanılabilirlikli kurulumlar, SLA'lar ve benzerleri hakkında düşünmeye başlamadan yapabileceğiniz kadar iyi.

İnsanlara% 99 kesintisiz çalışma süresi sağladığını söylüyorum (yani yüksek kullanılabilirlik için fazladan hiçbir şey harcamadan ). Bu, yılda yaklaşık üç buçuk gün çalışmama süresidir. Çalışma süresinin üzerindeki her ekstra 9 , maliyeti üç ila on kat arasında bir yerde artırır.

Eğer insanlar böyle bir parayı ödemeye hazır değillerse, bana göre, herhangi bir önemi daha fazla koruyabileceklerini düşünerek yanlış yönlendirmeleri yanlış olur.


3
Bu harika bir cevap. @Artfulrobot'a çok benzer bir kurulum ve müşteri türüne sahibim (aynı barındırma şirketini bile kullanıyoruz) ve sorusu ve cevabınız müşterilerime sınırlamaları ve riskleri iletmenin benim sorumluluğum olduğunu anlamamı sağladı. çok sade ingilizce, gerçekçi beklentileri var emin olmak için. Birçoğu çok teknik değil, bu yüzden her şeyin bir şekilde sihirli bir şekilde çalışacağını, durmadan ve reklamın sonsuz olacağını düşündükleri gerçek bir ihtimal. Büyük bir başarısızlık sırasında / sonrasında beklentilerini yönetmek istemiyorum, daha önce yapmam gerekiyor!
Simon Blackbourn

Başarısızlıkların tamamen ilişkisiz olduğunu söylemiyorum, ancak teoride 1 + 1 fazlalık size iki kat fazla maliyet vermeli . İki ekstra dokuz için maliyetin 9 ile 100 arasında bir yerde olduğunu söylüyorsunuz. 2x'e karşı ~ 30x büyük bir farktır.
MSalters

2
Bazı hata türlerine karşı doğru olan @MSalters (sunucu hatası). Örneğin sitesi yetmezliği karşı, iki sunucuları farklı sitelerde olmadıkça, hiçbir şey yapmaz ve bu ağ yönetici açısından son derece karmaşık alır. Ayrıca, yalnızca sermaye maliyetlerini göz önünde bulundurursunuz ve artan işletme maliyetlerini göz ardı ediyorsunuz - iki sunucuyu mükemmel bir şekilde senkronize etmek, ne tür bir şey yaptıklarına bağlı olarak önemsiz değildir ve yük dengeleyicilerin yönetici maliyeti vardır. Benim düşünceme göre, LB yükünü paylaşan tek bir sitede gereksiz sunucular, maliyetin 3-4 katı karşılığında size bir dokuz tane daha veriyor.
MadHatter,

Bunu sunmak için iyi ve kolay bir yol. (Ama ... 3 - 10 kez "özgür" hala ücretsiz olduğu için sadece bir yere fiyat ekleyeceğim;). Veya, elbette, hizmetin kendisinin toplam maliyetini mi kastediyorsunuz? )
Olivier Dulac

@OlivierDulac kesinlikle öyle!
MadHatter

8

Küçük bütçeli küçük işletmeler, özellikle kar amacı gütmeyen kuruluşlar, genellikle yüksek kullanılabilirlik sağlayamayacaklardır. Sorun şu ki, neredeyse hiç bütçeniz yoksa, bu gibi durumlarda genellikle olduğu gibi, geri yükleme stratejiniz nedir?

Bunun gibi bazı müşterilerim var ve yaptığım şey şu:

İlk olarak, bazıları için artan bir yedeklemem var ve her altı saatte bir tam veritabanı dökümü. Bir müşteri zaten CrashPlan Pro kullanıyordu, bu yüzden bunu kullandım. Ne yaparsanız yapın, geri yüklenebilir bir yedeğiniz olduğundan emin olmanız gerekir.

Nginx, php-fpm ve MariaDB'yi yükleyen ve onları bir web sitesine veya sitelere ev sahipliği yapmaya hazırlayan yaklaşık bir saat içinde bir araya getirdiğim (daha önce ansible ile çalışmamış) basit bir oyun kitabım var. Bu oyun kitabının çalıştırılması, tipik bir web uygulamasını barındırmaya hazır olan bir sunucuya (veya sunuculara) neden olur ve nginx sanal ana bilgisayarını, uygulama dosyalarını ve veritabanını geri yükleyebilirim.

Bunun sonucu, bir saat veya daha fazla sürebilen manuel yolun aksine, böyle bir web sitesini birkaç dakika içinde yedeklemem olabilir.


Hey bu kulağa çok hoş geliyor. Buna bakacağım. Teşekkürler.
artfulrobot

Yüksek kullanılabilirlik, iyi sağlayıcıların küçük müşterileri için bile kolayca kullanılabilir. Ölçek ekonomisine sahipler.
JamesRyan

@JamesRyan Evet, ama ekonominin ekonomisini ... alamazsınız. Ayda iki isabet alan bir web sitesi için iki Amazon örneği ve elastik bir yük dengeleyici çalıştırmak mantıklı mı?
Michael Hampton

@MichaelHampton, önerdiğim şeyi bile uzaktan değil. VPS'leri yüzlerce müşteriye ev sahipliği yapan bir şirket, bir avuç tek bir fiziksel sunucuya koyup parmaklarını çapraz kullanmak yerine onları gereksiz donanımlara yayabilir.
JamesRyan

4

Uygulamanın karmaşıklığı, uygulama yığına bağlıdır, ancak ideal olarak, veriler gerçek zamanlı (veya gerçek zamana yakın) olabildiğince çoğaltılarak, "sıcak bir bekleme" (farklı bir sağlayıcıda) ayarlamak isteyebilirsiniz.

İşletme durumunu 2 "canlı" sunucuya sahip yapmak, bir "görüntüden kurtarma" dönemi sırasındaki potansiyel gelir kaybını başka bir sunucunun masrafıyla karşılaştırmak kadar kolaydır.


Teşekkürler. LAMP yığını kullanıyorum. Sanırım gerçek zaman, MySQL replikasyonuna benzer bir şey olurdu, ancak yönetimi oldukça zor olabilir. Ve yönetmem gereken sunucuları iki katına çıkartıyor. Belki de diğer tüm sunucuların canlı kopyası olan bir düşük özellikli kutunun olması mantıklı olacaktır, bu yüzden sadece DNS yayılımıydı. Sonra onu tekrar yeni bir VPS'ye klonlayabilir ve DNS'i (hmmm) değiştirebilirdim.
artfulrobot

MySQL çoğaltması, ilk veri setini aktarırken harcanan sürenin yanı sıra, kurulumu ve yapılandırılması genellikle oldukça basittir. DNS konusunda çoğu çözümleyici bugünlerde düşük TTL'ye saygı duyuyor ve bir kaydın TTL'sini 60 saniyeye kadar düşürmek genellikle iyi çalışıyor.
Mark R.

Yeni ekstra veritabanları eklemeniz gerektiğinde MySQL çoğaltması daha karmaşıktır ve bir sunucunun birden fazla ana bilgisayar için köle olması (hala bir bekleme sunucusunda birkaç db'yi çoğaltmak) için hala zor olduğuna inanıyorum. Ayrıca, tabii ki sunucular arasındaki erişimi de sağlamalısınız, örneğin sersemletici, yani özel bir lanınız olmadıkça, bunun için ayrı bir barındırma şirketiyle birlikte olmanız gerekmediği sürece, bu bir PKI'dır.
artfulrobot

Anahtarlı her zaman çoğalt-yap-db ve SSH tünelleri vardır.
Mark R.

Standart SSH tüneli çalıştırmak için kullanılır, ancak güvenilir değildi. Stunnel, bir kez onu çalıştırıp çalıştırdıktan sonra mükemmel.
artfulrobot

2

Çalışma zamanının veri bütünlüğü ile aynı olmadığını unutmayın. Sunucu "yeterince yakında" yeniden başlatıldığı sürece% 99,99 kesintisiz çalışma süresine sahip olabilir ve tüm verilerinizi yılda iki kez kaybedebilirsiniz. VPS sağlayıcılarının çoğu, sunucunuzun çalıştığını garanti eder, verilerinizin güvende olmadığını DEĞİLDİR. Verileriniz Sizin Sorununuz :(.

Aradığın şey, yedeklerinizi ayrı bir sunucuda ve (IMHO) aynı sağlayıcıda bile saklayamayacakları bir şey. Bahsettiğiniz veri boyutuna bağlı olarak, taşınabilir bir sabit disk, üçüncü bir çevrimdışı savunma hattı olarak kullanılabilir. Verilerinizi yaptığınız gibi yedekleyin ve ardından düzenli olarak taşınabilir sabit diske veya yerel bir bilgisayara bunu (ya da mümkünse değişiklikleri) kopyalayın. Yedekleme çözümleri için Backblaze gibi oldukça ucuz seçenekler de var, ancak fiyatlar bahsettiğiniz veri miktarına bağlı. Artımlı yedeklemeler yapabiliyorsanız, tam yedeklemelerden çok daha ucuz olacaktır, ancak artımlı yedeklemeler verilerin depolandığı yere bağlı olarak çok zor olabilir (flat files = easy, database = o kadar kolay değil).


Evet, bunu yapıyorum :-) Ve evet, barındırma şirketleri verileri önemsemiyor, daha önce de disk bozulmasıyla uğraştım!
artfulrobot

0

Cevap tamamen size mimarlık ve gereksinimlere bağlıdır. Bir süre önce 3 disk benim sunucumda başarısız oldu, bir Baskın 6 başarısız olduğunda 20'den fazla vms kaldı.

Hakkında yazdım

https://www.linkedin.com/pulse/20140827173324-2064263-how-i-nearly-lost-my-business-to-3-hard-discs

Ancak: Bu kritik olduğu için, önemli olan şeyler için günlük, veritabanları ve e-postalar için 15 dakika yedeklerimiz vardı. Heck, şimdi her 30 saniyede bir başka makineye çoğaltılmış bir sunucu ekledim.

Yığın hakkında hiçbir şey, hiçbir bütçeyle ilgili hiçbir şey söylemezsiniz - bu nedenle en iyi ve tek tavsiye bazı bulut sağlayıcılara gidip yedekleme mekanizmalarını kullanmaya başlamaktır. Ama gerçekte neye ihtiyacınız olduğunu tanımlamaya başlayın.

Ayrıca - bu yedeklemenin bütçesi de fiyatlandırmada olmalıdır. Ödenmesi gerekiyor. Ve hangi altyapıya ihtiyacınız olursa olsun ... buna ihtiyacınız var. O zaman "saçma pahalı" değildir.


TomTom: aoe + openfiler ve birkaç kutu ve çok yüksek kullanılabilirlikli bir mikro-san inşa edebilirsiniz
symcbean
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.