On 23.09.2009 19:57, Ahmet AKBULUT wrote:
[...]
> sistemin fiziksel güvenliğini almayi planliyoruz. bu sistemin aktif
>  yedeğini kurmayi düsünüyoruz.
> perofrmans olarak bir sorunumuz yok. java tabanlı uygulamaya
> kullanıcılar farklı bölgelerde tarayıcıları üzerinden bağlanmakta
> kullanıcılarla aramızda SSL / site to site tarzında bir VPN bağlantımız yok.
> farklı bir semt e farklı bir bölgeye bu sunucudan birtane daha kurup
> master bölgede fiziksel bir sorun yaşadığımızda yedek sunucumuzdan
> kesintisiz
> devam etmeyi planliyoruz.

split-site high availability veya long distance failover diye gecer
genelde (google'da aramak isterseniz).

> aklımdaki plan aynı donanımı yedek olarak düsündüğüm bölgede kurmak
> MYSQL i cluster modda calistirmak (her iki bölgeyi kendi aralarında  VPN
> altına alabilirim )
> aynı sunucu configrasyonunu bu bölgede yapmak. suan bu sunucu üzerinde
> calisan dns serveri bu iki bölgenin dişinda farkli bir dns serverda tutmak
> dns tabanlı yük dengelemesi yapmak?

high availability kolay degil.  Sizin yapmaya calistiginiz farkli
bolgelerde node'lari olan high availablity cluster kurmak daha da zor.
Ayni rack'da/ayni datacenter'da high available cluster kurmaya ilave
olarak iki major sorun daha yasayacaksiniz:

1. high latency.  node'lar arasi mesafe arttiginda kullandiginiz
application nasil davranacak?  timeout? performans su anda kabul
edilebilir olsa bile iki node'a birden yazarken aradaki iletisimden
kaynaklanan zaman kaybi?  data kaybi ile performans arasinda secim
yapmak zorunda kalmadan cozum bulmaniz gerekli.
2. split-brain.  Her iki node'un da digerinin calismadigini dusunup
database'e yazmasi.  Sonuc data corruption.  node'lar ayni datacenter'da
iken de problem esasinda ama nispeten kolay cozum yollari var: stonith,
fencing vs.  Farkli bolgelerde node'lar olunca bu yontemleri
kullanamazsiniz.  Quorum kullanacaksiniz mecburen ama her kosulda
split-brain ile daha sik karsilacaksiniz.

Asagidaki senaryoyu dusunun:

* Iki node'unuz var.  Node A ve Node B.  Node A primary ve Node B'ye
bilgiler replicate ediliyor.
* Internet gidiyor.  Node A calismaya devam ediyor.  Node B update
edilmiyor.
* Elektrik kesiliyor.  Iki tarafta da sunucular yeniden baslatiliyor.
Node B daha once boot ediyor.  Node B servisi sunmaya baslamali mi?
* Node A de calismaya basliyor.  Node B servisi sunmaya baslamisti
diyelim.  Ne yapilmasi gerekiyor?
* Node B'deki yeniden baslatiktan sonra yapilan degisiklikler Node A'ya,
internet gittiginde Node A'da yapilan degiisklikler Node B'ye tasinmali.
 Bunlar nasil yapilacak?

> mysql in vereceği performans hakkında bilgim yok.

mysql'in kendisi degil sorun.

> daha önceden bu şekilde bi uygulama yapan varmı? önerebileceğiniz en
> sağlıklı yapı nedir?
> sistem gerçek zamanlı olmasada günlük otomatik yedek alınıp farklı bir
> bölgedeki ftp sunucusuna yedeklenmekte.
> datanin boyutu 15 mb fakat data üzerinde anlık cok fazla deişiklik
> yapılmakta.

15mb peanuts.  boyutunuz sorun olmaz.

> tavsiyeniz nedir?

open source cozumlere bakin: openais, pacemaker, heartbeat, drdb.  test
ortaminda cok iyi test edin (her turlu failover'i).  Kullandiginiz
yazilimin failover'larda sacmalamadigina emin olun.  Iki bolge arasinda
iletisim mumkun oldugu kadar yedekli ve hizli olsun.  Istediginiz kolay
degil ama mumkun.  Gene de baskalari ile de konusup teklifler alin: hp,
oracle vs.

Kolay gelsin.

-- 
Eray
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap