Küçük işletmeler için yüksek sunucu kullanılabilirliği


11

Bir sabah gelmeyecek bir sunucu ile biraz korktuktan sonra, yüksek inişler işletmenin yüksek bir kullanılabilirlik / kurulum üzerinde başarısız olması gerektiğine karar verdi.

Şirketin çalışması için hepsinin çalışması gereken 5 ana sunucumuz (4x Linux, 1x OpenBSD) var. Sunucuların üçü oldukça standarttır (Dosyalar / Web / Veritabanı), dördüncüsü çoğu ağ yönlendirmesini ve web proxy'sini işlerken, beşincisi telefon sistemimizi destekler ve standart dışı donanıma sahiptir.

Patronum, bir sunucu hatası için geri dönüş süresinin 30 dakikadan az olması gerektiğini belirtti.

Bu alandaki deneyimim yok (sadece 'terfi edilen' bir programcıyım), bu yüzden sanırım sorum şu şekilde kayboluyor:

  • Bu, ortalama sunucu-yönetici becerilerine sahip biri tarafından denenmesi gereken bir şey mi? Eğer öyleyse, ne okumalıyım ve kiminle konuşmalıyım?

Teşekkürler.


Yanıtlar:


5

Bütçeye bile dahil olup olmadığını görmek için belirtilen "gereksinimi" yerine getirme maliyetini tanımlamak için sayıları bir araya getirerek düşünüyorum. Gereksinimi yerine getirmek için kullanılacak tüm "normal" yöntemlerden memnun değilseniz (yük devretme kümelemesi, "sıcak geçiş" özelliğine sahip hipervizörler, vb.), Muhtemelen, yardım et.

Fizibilite çalışmasıyla ilişkili bir miktar maliyet olacak, ancak iyi bir çözümün belirtilen gereksinime uymayacağını keşfetmek çok daha az maliyetli olacak (yani, beklentiler yönetim tarafından daha gerçekçi bir şekilde ayarlanmalıdır - veya daha fazla parayı midillendirmek gerekir) gerekliliği hiç karşılamayan ve süreçte bir ton para üfleyen yarım yamalak bir şey yapmaya mal olacaktır.

Patronun bu sayıyı havadan çıkardığı anlaşılıyor. Belki de bazı analizler yaptı ve çeşitli sistemlerin çalışmama süresiyle ilişkili saat başına maliyetin ne olduğunu biliyor, ama bundan şüpheliyim. Gerçekliğe bağlı olmayan gökyüzünde bir turta numarası gibi geliyor. Tüm sistemleriniz bu tür bir kullanılabilirliğe ihtiyaç duyarsa şaşıracağım. İşi incelerken, yalnızca bir işlevsellik alt kümesinin böyle bir çalışma süresine ve hata toleransına sahip olması gerektiğini keşfedebilirsiniz (ve böylece böyle bir çözüm sonuçta daha az maliyetli olacaktır). Telefonların ve iş kolu uygulamasının orada olduğundan eminim, ancak bazı diğer sistemlerde çalışmama süresine karşı toleransınız olabilir.

Bağırsak, sanal makinelerin yedek donanım arasında geçişine dayalı bir yük devretme sistemi oluşturmak için sanallaştırma teknolojilerini kullanmanın bir kazanç bulacağını söylüyor. Bütçenize uygun olup olmayacağı işinize bağlı olacaktır, çünkü bunun etkili bir şekilde çalışması için kesinlikle bir çeşit SAN'a ihtiyacınız olacaktır.

Gerçi "geleneksel" yük devretme kümelemeyi indirim yapmayın. Uygulamalarınız böyle bir yapılandırmaya çok uygunsa, kesinlikle "kazananlar" da vardır.

Patronunuzun yıkıcı başarısızlık senaryolarını (bina yanıkları, sel, kasırga, hırsızlık, vb.) Düşünüp düşünmediğini merak ediyorum. Bu önceden planlanmamışsa, bu bazı genel iş sürekliliği planlaması ve felaket kurtarma beklenmedik durumlarında çalışmak için altın bir fırsat olacaktır.

İçeri girip işinizi inceleyip önerilerde bulunabilecek birinden yardım alın. Pişman olmayacaksınız.


Mükemmel yanıt için teşekkürler. 30 dakika zaman dilimi de yerinde yapılmış eminim.
Matthew

Aslında, "30 dakika" doğrudan 30 dakika içinde aldığı müşteri şikayetlerinin sayısına bağlı olduğundan şüpheleniyorum. Yalnızca TCP / IP uygulamaları için yük devretme sistemleri o kadar da zor değildir. Öte yandan, telefon sistemleri veya VoIP için yük devretme sistemleri, PSTN ile bir tür bağlantıya sahipken, oldukça pahalıdır.
Ernie

2

"Bu yol çok acı çekiyor ve yaralanıyor ..."

Peki, İşletmenizin Süreklilik Planı nedir? Olağanüstü Durum Kurtarma planı?

Bunu tartıştın mı? Yazdınız mı? Test ettiniz mi?

"Daha yüksek" ler ile uygun bir konuşma yapmalı ve farklı servisler için farklı olduğu için yüksek kullanılabilirlik gereksinimlerinin en altına inmelisiniz.

Peki o sabah hissettikleri “acı noktası” neydi?

Öylemiydi?

  • Telefonlar çalışmıyor mu? Oldukça büyük (ve görünür) problem. Ve evet - bunun bir "çözüme" ihtiyacı var ama umarım bu bir destek anlaşması kapsamındadır?
  • Web sitesi başarısız mı? Tamam - Oldukça görünür ancak beklenmedik değil ve BÜYÜK bir web varlığınız yoksa o kadar önemli değil. Bu sunucuyu birkaç saatliğine kapatmak için Tamam'ı tıklatın.
  • Veritabanı sunucusu çalışmıyor mu? Korkunç ... Umarım iyi yedeklemeler alırsınız! Verileri kaybetmeyin, aksi takdirde iş başarısız olur. Ancak, veriler güvenli olduğu sürece, önemli olan ve bir kurtarma planına sahip olması gereken bir sunucudur.
  • Dosya ve yazdırma (ve dahili uygulamalar vb.). Bu, çoğu insan için PITA'dır, çünkü etrafta oturup sabah düzeltmek için hiçbir şey yapmazlar.

Ana sistemleriniz için yüksek kaliteli donanım satın aldığınızı varsayıyorum? İyi, çünkü donanımda ucuza çıkmak yanlış bir ekonomidir çünkü bu sunucular kutudaki her şey "ikili" ile gelir.

Ayrıca bir sunucuyu nasıl yeniden inşa edeceğinizi, fanları, güç kaynaklarını nasıl değiştireceğinizi, bir sunucuyu rafa çekeceğinizi, çift yollu ağları yedek anahtarlara nasıl yapılandıracağınızı bildiğinizi varsayacağım. Bunu neyin işe yarayıp neyin yaramadığını, neyin normal neyin yanlış olduğunu anlamak için yeterince kez yaptınız. Değilse, yardım ve eğitim (veya en azından uygulama ve deneyim) alın.

Belki problemin çoğu KORKU idi. Böyle bir sorunun olabileceği hakkında bir ipucu yoktu (ve sunucuların işleri için ne kadar önemli olduğunu) ve gerçekten ne yaptığınızı bilmiyordunuz (?) Bir güven sorunu mu?

Çok pahalı HA rotasına gitmeden ÖNCE yukarıdakilerin hepsini almanız gerekir. İşletme bu pahalı ekipmanı karşılayabilir mi (ve tanım gereği, çoğu zaman sadece bir başarısızlıkta kullanılacak ve genellikle asla kullanılmayacak!)


Bunu koymanın güzel bir yolu nedir; şirketlerin BT altyapısı organik olarak büyüdü. Olağanüstü Durum Kurtarma planı yoktur (birçok işaret ve bağırma hariç) ve yedeklemelerimiz çok basittir. Sabah sorun ağımızın çoğu için yönlendirme ele sunucu ile bir güç sorunu oldu. Aslında, CRM, e-posta ve telefonlarımız 30-40 dakika boyunca kapandı. Bir çağrı merkezi olarak, bu süre zarfında çok fazla iş yapılmadı.
Matthew

1
Felaket Kurtarma Planı yedekleme prosedürleri ile sunucuda tutulur ... ayy ... çöken bu ...
Bart Silverstrim

@Matthew - Bir çağrı merkeziniz ve ağınız kapalıysa, tüm iş kolunuzun durduğu açıktır. Bu nedenle, gelecekte bunu hafifletmek için bir dizi plan ve projede üst yönetime katılmanız gerekir. Yönetim sizi fob izin vermeyin ve sadece düzeltmek için tek işinizi bekliyoruz - BÜTÜN İŞ DURDU! Hafif bir uyandırma çağrınız olduğundan, önemli veri veya sunucularınızı (veya müşterilerin umarız) kaybetmediniz. İlk olarak ... UPS üzerindeki sunucularınız var mı?
Guy

1

Evan iyi noktalara çarptı, ama belki de başarısızlıklar karşısında 1 saatin altında iyileşme süresi elde etmek için bazı uygun maliyetli yollardır.

Küçük İşletme muhtemelen küçük donanım anlamına gelir, bu nedenle problemler karşısında önemli ölçüde esneklik katan bazı basit şeyler yapmak çok pahalı olmayabilir. Ana fikir sadece gitmek için ekstra donanım var.

İlk olarak, sanal bir IP düşüncesiyle rahat olun. Bu, kullanıcıların konuşacağı IP adresidir, ancak verdiğiniz herhangi bir sunucuda bulunabilir. Bu, kullandığınız IP adresidir ve uygulamalar konuşmak isteyecektir. Ve sonuçta gittiğiniz herhangi bir çözüm için en yararlı olacaktır. VIP'ye sahip olmak, başarısız olduğunda uygulamaları hiçbir şekilde yeniden yapılandırmanız gerekmediği anlamına gelir. Ayrıca, yedek donanıma sahip olmanın yönetim yükünü de artırdığını ve 1 yerine iki yapılandırma güncellemesi yaptığını unutmayın.

Yönlendirme / web proxy sunucunuzla başlarsak, muhtemelen en kolayı, çünkü kutuda saklanması gereken gerçek bir durum olmayacaktır. Aynı kutunun bir kopyasını alın ve aynı şekilde yapılandırın. Her ikisini de LAN segmentine takılı tutarım ve internetin başka bir arayüzde olduğunu varsayarsak, kablolar bir arıza ise takas ederler. Yönlendirme perspektifinden, tüm lan istemcilerinizi varsayılan rotaları için .1 adresini (VIP) hedefleyecek şekilde ayarladınız ve proxy sunucusu A sunucusuna .2 adresini ve B sunucusuna .3 adresini verecektir. Bu şekilde her ikisi de yapılandırma güncellemeleri için yönetilebilir (her ikisi için de geçerlidir). Yük devretme için yapmanız gereken tek şey .1 IP atamasını .2'den kaldırmak ve .3'e taşımak ve internet bağlantısını diğer arayüze taşımaktır. Çok karmaşık değil, yapılması ve anlaşılması kolay değil, ve ikinci bir kutunun ekstra donanımına mal olur. İnternet tarafında artıklık elde edebiliyorsanız, biraz karmaşıklık ekleyebilir ve VRRP gibi bir şey kullanarak otomatik yük devretme alabilirsiniz.

Özellikler olmadan söylemek zor ama web sunucunuz da o kadar basit olabilir. Aynı yapılandırmaya sahip ikinci bir sunucu ekleyin, ikisi arasında bir vIP oluşturun ve VIP'yi hata karşısında yedeklemeye taşıyın. Genelde oturum durumunun bir yük devretme sırasında kaybolup kaybolmadığını umursamıyorum (yük devretmeye neden olmak kritik bir sorundur). Yani kullanıcılar tekrar giriş yapmak zorunda kalırsa, önemli değil. Yine, vrrp muhtemelen otomatik yük devretme için kullanılabilir.

DB'nize geçmek, bu çok daha karmaşık. Çoğu DB'de, özgün DB'yi ikincil sunucuya yedeklediğiniz ve daha sonra tüm işlem günlüklerini veya DB değişikliklerini ikincil sunucuya kopyaladığınız bir tür birincil / ikincil model bulunur. Yine, bunu gerçekten DB'ye erişen uygulamalar / kullanıcılar için VIP'lerle birleştirebilirsiniz. Ancak, yük devretme daha karmaşıktır. Birincilin arızasına bağlı olarak, işlem günlüklerini kopyalamak ve artık kaldırmak için sürücüleri çalıştırıp açmanız gerekebilir. Sonra ikincil aktif madde getirin. Bazı kayıp verileri tolere edebiliyorsanız, ikincil aktif maddeyi hemen getirebilirsiniz. Yük devretme işleminden sonra, sunucu B artık birincilsiniz ve sunucu A'yı geri yüklemek ve yeni yedeklemeye dönüştürmek için çalışacaksınız, böylece sunucu b sonunda sorun olduğunda başarısız olmaya hazır hale gelir.

Dosya sunucuları her zaman en zor kısımdır, çünkü DB'lerin aksine, dosya sisteminin yerleşik bir özelliğini elde etmek çok daha zordur. Bununla birlikte, ikinci bir sunucuya sahip olmak ve dosya sistemini değişiklikler için tarayan bir komut dosyası yazmak ve yeni dosyaları ikincil olduğunuza kopyalamak suretiyle bir miktar esneklik elde edilebilir. Temelde bunu yapmak için inanıyorum bir cron rsync çalıştırabilirsiniz. Yine, kullanıcılara verdiğiniz, bir yük devretme yaparsanız devam ettiğiniz bir VIP kullanırsınız. Senaryonuzda, dosyaları aktarmadan önce sistemin VIP sahibi olup olmadığını kontrol etmenizi şiddetle tavsiye ederim. Gerçekten gerçekten rsync'in yanlış yönde yürütülmesini ve kullanıcıların yaptığınız değişikliklerin üzerine yazmasını istemiyorsunuz. Bu bir başarısızlık durumunda bazı dosyaları kaybedebilir,

Telefon sisteminiz hakkında ne yapabileceğiniz hakkında hiçbir fikrim yok ... gerçekten satıcıya ve kurulumuna bağlıdır. Satıcı, esneklik için bazı hazır çözümlere sahip olabilir.

Son uyarı sözcükleri. Kullanacağınız tüm kurulumları iyice test ettiğinizden emin olun. Bu kritik bilgileri kaybetmeden nasıl başarısız olacağınızı bildiğinizden emin olun. İhtiyacınız olduğunda çalışacağından emin olmak için test testini test edin. Yapılandırma değişikliklerinin, yazılım güncellemelerinin vb. Hem birincil hem de yedeklemelere düzgün bir şekilde uygulandığı süreçlere sahip olduğunuzdan emin olun. İyi haber şu ki, bir sunucuyu yükseltmek için aşağı çekmek istediğinizde, kontrollü failover'lar yapabilirsiniz. Bu aktif-aktif bir kurulum değildir, bu nedenle ikincil ihtiyacınız olduğunda çalışıp çalışmayacağınız hakkında hiçbir fikriniz yoktur.

Telekomda çalışıyorum ve ekipmanımız çoğu durumda coğrafi grafik fazlalığı da dahil olmak üzere çok fazla yedekli. 1 numaralı başarısızlık noktamız, artıklık değişikliklerden sonra test edilmez ve artıklık modelinin nasıl çalıştığını bilmeyen değişiklikler yapan kullanıcılardır. Ancak, tüm ekipmanlarımızın otomatik yük devretmeyi birkaç saniyeden fazla desteklememesi için ihtiyaç duyduğu ek bir sorun var. Yalnızca 30 - 60 dakika içinde çalışmaya başlamanız gerekiyorsa yük devretmelerinize manuel müdahaleyi tolere edebilirsiniz. Sadece hazırlıklı olmalısın. İyi şanslar.


DNS kullanabiliyorken neden "sanal IP" kullanıyorsunuz? bunun için. belirli bir hizmet farklı bir IP'ye sahip farklı bir sunucuya taşınırsa, DNS'deki A kaydını eşleşecek şekilde güncelleştirirsiniz. son kullanıcıların IP adreslerini bilmesi veya hatırlaması gerekmez.
cas

belirli bir hizmet için A veya CNAME kayıtları oluşturabilmeniz için bir IP adresinin birden fazla isme sahip olabileceği gerçeğinden yararlanmak da iyi bir fikirdir - örneğin "ntp", "dosya", "www", "ftp "," mx "vb. böylece hizmetleri makineler arasında taşıyabilir (veya daha sonra daha fazla makine ekleyebilirsiniz) ve o hizmetin DNS girişini güncelleyebilirsiniz.
cas

DNS kullanılabilecek bir seçenektir. Taşıyıcı alanda, kritik olan herhangi bir şey için gerçekten kullanmıyoruz, genellikle ek karmaşıklığa değmez. Yük devretmeyi kontrol etmek için en önemlisi hala VIP'leri kullanardım, ancak kullandığınız herhangi bir VIP'ye DNS adres noktanız olabilir. Kolay adlar güzel, ancak son zamanlarda güvenlik açıkları ... ve toplam 5 sunucuyla neden buna ihtiyacınız var? DNS ile devam ederseniz, önbellek süresinin ayarlandığından emin olun.
Kevin Nisbet

1

Herkesin puanları harika, bu yüzden sadece birkaç yorum.

Özellikle her şey için 30 dakika garanti etmek imkansızdır. Bunun bir hedef olduğunu söyleyebilirsiniz, ancak bunun bir garanti olabilmesinin bir yolu yoktur, çünkü her zaman X faktörü vardır. 2 ISS hattınız olabilir ve bir kamyon binaya çarparak her ikisini de çıkarır, çünkü binanın karşı uçlarından yönlendirilmesinin önemli bir örnek olduğunu düşünmüyordunuz.

Maliyetleme için bir başlangıç ​​olarak her şeyi ikiye katlayın. 5 sunucunuz var, bu yüzden iki katına çıkmalısınız. Hepsi donanımda olmak zorunda değil, sanallaştırabilirsiniz, ama ne demek istediğimi anlıyorsunuz. Bunun da ötesinde, her şey maliyete de katkıda bulunan HA farkında olmalıdır, yönlendiricinizi yenisiyle değiştirmeniz gerekeceğini ve oh bunlardan 2 tanesine ihtiyacınız olduğunu öğrenebilirsiniz. Güç beslemelerini ikiye katlamayı ve jeneratörü almayı unutmayın, çünkü güç şirketinin 30 dakika içinde yedekleneceğini garanti edemezsiniz.

Bu örnekler, az ya da çok sıcak bir bekleme düzeni olduğunu düşünüyor, bu da patronunuzun düşündüğünden şüphelendiğim şey.

Küçük işletmeler için daha iyi bulduğum şey, her şeyi kurtarmak ve sınıflandırmak için bir plan tasarlamak.

Hangi hizmetlerin olduğunu öğrenin

kritik (iş durur)

önemli (iş yavaşlar)

rutin (iş bir süre onsuz yapabilir).

Örneğin, çağrı merkezi telefonlarınız kritiktir, bu yüzden biri ikinci bir sunucu ve ikinci bir ISS satın almaya değer ve ortalama elektrik kesintiniz yaklaşık 15 dakikadır, bu yüzden 60 dakika sürecek bir UPS alacağız ( iş istasyonlarını da unutun). Şimdi ERP'nin sadece önemli olduğunu söyleyelim, yani bir süre onsuz çalışabilirsiniz. Belki çağrı merkezi kullanıcılarınız bunu kullanır, ancak kapalıysa, kalem ve kağıda veya not defterine dönebilir ve daha sonra ERP'yi güncelleyebilirler. Aşağıdaysa bunu yapmak için prosedür daha ucuz olabilir, o zaman onu kritik bir hizmet haline getirmeye çalışın. Ve rutin olanlar yazıcı gibi bir şey olabilir, tamam bu bir acı ama hepsi düşerse birkaç gün sürebiliriz.

Bu ayrıca, eğer s ** t gerçekten bir gün fanı vurursa, eşyaları düzeltmek için sipariş verir :)


1

Mümkün mü? Elbette. Uygun mu? Muhtemelen bir "küçük işletme" için değil, özellikle size çalışmanız için rasgele sayılar veren bir patronunuz varsa ve bir programcıdan oluşan bir BT departmanından yüksek kullanılabilirlik talep ediyorsa (başka yerlerde birçok kez gördü ve asla Stres seviyeleriniz için güzel, eğer durumunuz onlarınki gibiyse).

Yük devretme mümkündür, ancak genellikle sunucular arasında veri paylaşmak için yedek donanım, SAN'lar vb. Gerektirir, başka bir deyişle, ilgilenmek için özel bir yönetici işe almayacaklarsa iyi şanslar finanse edilir.

Bahsettiğiniz çağrı sistemi donanımınız özel bir donanımdır ve çağrı merkezi olmanız gerekir. Gereksiz hale getirme seçenekleri hakkında satıcıyla konuşmalısınız. Bununla baş etmek ilk etapta desteği geçersiz kılabilir.

VMWare tipi çözümlere (veya Hyper-V veya XenServer'a yatırım yaparak büyük olasılıkla biraz fazlalık kazanabileceğiniz diğer sistemler, ancak önce VMware ve XenServer'a bakardım). Daha sonra bir SAN, hızlı ağ anahtarlarına sahip birkaç sığır sunucuya bakabilir ve bir arıza varsa sanallaştırılmış sunucuları donanım sunucuları arasında taşımak ve sunucular arasındaki yükün bir kısmını ihtiyaç olarak dengelemek için LiveMotion'ı kullanabilirsiniz.

Bu sistemlerde Linux çalıştırdığınızı söylemiştiniz. Birden fazla sunucu almak için parayla, bunun yerine DRBD'yi bir kalp atışı programı ve STONITH ile sunucular arasında veri çoğaltmak ve kullanılabilir olmadığında ele almak için bakabilirsiniz; her bir sunucuyu tam anlamıyla çoğalttığınız bir sistem kurmaya ve aynı zamanda sunucu odasındaki güç tüketiminizi ve ısı yayılımınızı iki katına çıkarırsınız (bir sunucu odanız varsa). Bu donanım maliyeti ve akıl sağlığınız için yapılabilir. Ayrıca, test etmeniz gerekir, yapılandırırken kesinti süreniz olur ve yine de zaman zaman işe yarama olasılığı vardır, çünkü hala ilgilenilmesi gereken sorunların çözülmesi olasılığı vardır (bölünmüş örneğin beyin).

Son olarak, birkaç sistemin boş arduvaz sistemleri olarak hareket etmesini ve bir sunucu ölürse verileri "boş" sistemlerden birine geri yüklemenizi sağlayan gerçekten iyi bir yedekleme planına sahip olma planıdır. Bir sunucu öldüğünde / olduğunda donanımın yerinde olması size bazı seçenekler sunar; ancak verileri geri yüklerken bir miktar kesinti süresine sahip olursunuz ve uygulamalarınızı yeni sunucuya nasıl düzgün şekilde yükleyeceğinize ilişkin talimatlara ihtiyacınız vardır. Ne kadar hızlı çalıştığınıza ve verilerin ne kadar büyük olduğuna bağlı olarak, birkaç saatten bir veya iki güne kadar kesinti süreniz olabilir. Sen do evet, yerde bir kurtarma planı ile sunucularınız için bir çalışma, bilinen iyi yedekleme, var?

Denemelisin? İlk tepkim şu önerilerden herhangi birine başınızı kaşıyorsanız veya midenizde bu şeyleri düşünmeye çalışırken bir çukur hissediyorsanız, o zaman yapmamalısınız. İçeri girip konuyu incelemek ve maliyetleri hesaplamak ve uygulamak için bir danışmanlık şirketine ihtiyacınız olacak ya da şirketiniz için bunu yapmak için özel bir sistem yöneticisi tutmanız gerekir.

Size bunu yapmanızı söylüyorlar ve "sadece" terfi edilmiş "bir programcı olduğunuzu ve 30 dakikalık maksimum başarısızlık süresi ile artıklık vermenizi söyleyen bir PHB'niz olduğunu söylüyorsunuz. bir dere kadar.

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.