Yüksek Kullanılabilirlik Kılavuzu
Murat Yıldırımoğlu, Windows 2000 Magazine dergisinden çeviri
Günümüzde sistem yöneticileri Windows 2000’i 99.9
oranında çalışır durumda tutmak gibi zor bir görevle başbaşalar. Bu zor görevi
gerçekleştirebilmek için Microsoft, Win2K Datacenter Server’ı müşteriye sunmak
ve desteklemek konusunda, on kadar büyük OEM
firmasıyla işbirliği yaptı. Bu işbirliğinin sonucu olarak Windows Datacenter Programı
doğdu. Bu program müşterilere, Microsoft’un kapsamlı bir
şekilde test ettiği bir dizi sertifikalı yapı sağlıyor. Windows Datacenter Programındaki OEM’lerden birisi olan
Hewlett-Packard (HP), Datacenter’ın üstlendiği görevler ve Datacenter’ın
çıkarabileceği sorunlar konusunda yoğun bir şekilde çalışıyor. HP
mühendisleri ve danışmanları bu çalışmalardan edindikleri bilgileri
toparladılar ve dünya çapındaki Datacenter müşterileri ve müşteri adayları ile
paylaşacakları çok değerli bir makale hazırladılar. Bu
makalenin ışığında Datacenter’ın sizin için anlamlı olup olmadığını ve yüksek
kullanılabilirlik için gereken altypıyı nasıl hazırlayabileceğinizi
anlayabileceksiniz.
Windows Datacenter Programı hakkında daha fazla
bilgi için Greg Todd’un 2000 Aralığında yayınlanan “Win2K Datacenter Server”
adlı makalesine ve Microsoft’un “The Datacenter Program and Windows 2000
Datacenter Server Product” (Datacenter Programı ve Windows 2000 Datacenter
Server) adlı makalesine bakabilirsiniz (http://support.microsoft.com/support/kb/articles/q265/1/73.asp). Microsoft’un http://www.microsoft.com/windows2000/datacenter
adresindeki Datacenter Web sayfasına da bakabilirsiniz.
Yüksek Kullanılabilirlik 101
Ortamınız yüksek kullanılabilirlik oranına sahip
olması gereken bir çözüme gerek duyuyor mu? Hangi
yüksek kullanılabilirlik teknolojilerinin ortamınıza uygun olduğunu belirlemek
için öncelikle yüksek kullanılabilirlik konusundaki gereksinimlerinizi
anlamalısınız. Ancak bundan sonra gereksinimlerinizi
karşılayan bir altyapıyı tasarlamaya başlayabilirsiniz.
Arızayı kendi kendine onarma (fault resilience) ve
arızaya karşı dayanaklı olma (fault tolerance) arasındaki farkı da
anlamalısınız. Arızayı kendi kendine onaran
sistemler, kümelerden (cluster) oluşan sistemlerdir ve arıza durumunda diğer
sisteme geçiş ile (failover) yüksek kullanılabilirlik oranı sağlarlar.
Microsoft Cluster hizmeti, Datacenter ve Win2K Advanced Server işletim
sistemlerini arızayı kendi kendine onaran sistemler durumuna getiren bir kümeleme çözümüdür. Kümeyi oluşturan bilgisayarlar (node) bağımsız sistem görüntüsüne
(image) sahiptirler. Arıza durumunda diğer sisteme
geçiş birkaç saniye ile birkaç dakika arasında bir süre alabilir. (Sistemin görüntüsü, belli bir sistemin zaman içindeki belli bir
noktadaki durumunu bütünüyle tanımlar. Sistem
görüntüsü bellek, CPU yazmaçları, disk ve tampon bellek kısımları ve mesaj
kuyrukları gibi bilgileri içerir. Bilgisayarlar sürekli çalıştığı için
sistemin görüntüsü de çok hızlı olarak değişir.)
Arızayı kendi kendine onaran sistemler uygulama
verilerini kurtarmak için denetim (checkpoint) dosyaları kullanırlar. Denetim dosyası bir günlük dosyasıdır; aynen veritabanlarının
kullandığı işlem günlük dosyalarına benzer. Denetim dosyası, bir
uygulamanın, elektrik kesintisi ya da donanım arızasından sonra
bilgilerini kurtarabilmesini ve çalışmaya devam edebilmesini sağlar. Bir arızadan sonra uygulama ilk olarak disk üzerinde saklanmakta
olan denetim dosyasına bakar ve buradaki bilgilere göre yarım kalmış işlemleri
ya geriye döndürür (rolback) ya da ilerletir (roll forward). Arızayı kendi kendine onaran sistemler
durumlarını yalnızca en yeni denetim noktasına kadar
kurtarabilirler. Denetim dosyasına kaydedilmemiş bilgiler
(örneğin, henüz bellekten diske aktarılamamış veriler) kaybolacaktır.
Kaynakları çok daha sıkı bir şekilde birbirine
bağlanmış arıza karşı dayanıklı sistemler ise tek bir sistem görüntüsünü
koruyarak uygulamaların hep kullanılabilir olmasını sağlarlar. Arızaya karşı dayanıklı sistemler üzerinde çalışan uygulamalar
denetim dosyalarına gerek duymazlar. Onlar yalnızca
alttaki arızaya karşı dayanıklı yapıya güvenirler. Şirketlerin
kendilerine özel bir yapıda geliştirdiği donanım ve yazılım ikilisi, arızaya
karşı dayanıklı sistemlerin özelliğidir.
Bu yüzden arızaya karşı dayanıklı sistemler genelde
arızayı kendi kendine onaran sistemlere göre çok daha pahalıdırlar. Bu
sistemlerde, bir bileşen arızalandığında sistemde yedek olarak beklemekte olan
bileşenler devreye sokulur, böylece sistem görüntüsü kesintisiz şekilde
çalışmaya devam eder. Yüksek kullanılabilirlik oranına
sahip sistemlerin çoğunda, arızaya karşı dayanıklı sistemler kadar
pahalı olmayan, arızayı kendi kendine onaran sistemler kullanılır. Ama arızaya karşı dayanıklı
sistemler genelde yüzde 99.999 oranında planlı kullanılabilirlik oranı
sağlayabilirler.
Yüksek kullanılabilirlik oranı açısından arızaya
karşı dayanıklı sistemler ile arızayı kendi kendine onaran sistemler arasında
en önemli fark arızadan sonra kendine gelme süresidir. Arızaya karşı dayanıklı sistemler için bu süre hemen hemen sıfıra
yakındır. Arızayı kendi kendine onaran sistemler ise gerekli geçiş
işlemlerini yapabilmek amacıyla birkaç saniye ile birkaç dakikaya kadar uzanan toparlanma sürelerine sahiptirler.
Rakamların Diliyle
Kullanılabilirlik, sistemin kullanılabildiği
sürenin, sistemin kullanılabilir olması gerektiği süreye oranıdır. Bu konuda geleneksel olarak
yüzde ifadeleri kullanılır. Ütopik ideal sistemde
kullanılabilirlik oranı yüzde 100 olur. Kuşkusuz
gerçek sistemlerde daha düşük yüzdeler elde edilir.
Kullanılabilirlik oranı için aşağıdaki basit hesaplama kullanılabilir:
A = MTBF/(MTBF+MTTR)
Burada A kullanılabilirliği, MTBF arızalar arasında
geçen ortalama süreyi, MTTR ise onarım için gereken ortalama süreyi gösterir. “Üç dokuz” ifadesi yüzde
99.9’luk bir kullanılabilirlik oranına, “dört dokuz” ifadesi yüzde 99.99
oranından bir kullanılabilirlik oranına karşılık gelir. İfadeler bu şekilde gider. Eğer MTTR
değeri için 20 dakikayı alırsanız (Microsoft, bir Windows NT ya da Win2K
sistemini onarma için gereken sürenin ortalama 20 dakika olduğunu söylüyor) ve
kullanılabilirlik için .999 değerini alırsanız MTBF’nin yaklaşık 14 gün
olduğunu bulabilirsiniz. (Pek de rastlantı olmayacak
şekilde, 14 günlük süre, Microsoft’un Datacenter donanımları ve çekirdek kipindeki sürücüleri test için
kullandığı süredir.) Yüksek kullanılabilirlik tasarımının birincil amacı
MTBF değerini arttırıp, MTTR değerini azaltarak A
değerini büyütmektir.
Tablo 1’de dokuzlar cinsinden yüksek
kullanılabilirlik oranlarının açıklaması görünmektedir. Tabloda yer alan çalışamaz durumda olma süreleri planlı olmayan
çalışamama süreleridir. (Yüksek kullanılabilirliğin moda olduğu günümüzde
çevrim içi yedekleme, sistemin bakımı ile donanım yükseltmelerinin kolayca
yapılabilmesi ve arıza
durumunda geri dönülebilmesi planlanan çalışmama zamanını sıfıra
yaklaştırmaktadır.) Sizin gereksiniminiz üç dokuz mu yoksa daha fazla dokuz
mudur? Eklediğiniz her sıfır için maliyet 10 kata kadar
artabilir. İşinizi dikkatlice inceleyin. Sistemin
çalışmadığı süredeki kaybınız ne kadar olacaktır? Yüksek kullanılabilirlik çözümlerini haklı çıkarabilmeniz için
kullanılamaz duruma gelen bir sistemin size maliyetini hesaplamanız gerekir.
Tablo 2’de çeşitli sektörlerde saat başına kayıp değerlerini
görebilirsiniz. Bu değerler size bir fikir verebilir.
Tablo 3’de ise sistemlerin kullanılamaz duruma gelme
nedenlerini görebilirsiniz.
Her Zaman Çalışabilmeyi Sağlama İçin Yapılması Gerekenler
Yüksek kullanılabilirlik satın alabileceğiniz bir
ürün değildir. Bu bir amaçtır. Yüksek kullanılabilirlik teknolojilerin dikkatli bir şekilde
harmanlanması, destek hizmetleri ve insani işlemlerin bir sonucudur. En basit şeklinde yüksek kullanılabilirlik arızalar arasında geçen
sürenin uzatılması ve çıkabilecek arızaların en kısa zamanda giderilmesi
demektir. Yüksek kullanılabilirliği sağlamak için aşağıdakilerin
yapılması yararlı olacaktır:
·
Her bileşen için birden fazla birim bulundurun ve
arıza durumunda otomatik
geçişi sağlayın. Bu sayede tek bir noktadaki arızanın tüm sistemi
çökertmesini önleyebilirsiniz. Bunun yanısıra her bir bileşen en yüksek
derecede güvenilir de olmalıdır. Bazen hiç beklemediğiniz noktalardaki arızalar
bütün sisteminizi kullanılamaz hale getirebilir. Örneğin, bugünlerde
yaşadığımız microsoft.com, msn.com, expedia.co.uk ve msnbc.com’a uzun bir süreyle erişememe
durumunun, Microsoft’un DNS ağındaki sınır yönlendiricilerinden birindeki
yapılandırma değişikliğinden kaynaklandığı yolunda söylentiler var.
·
Yeni donanım ve yazılımları ayrıntılı bir şekilde
test edin. Gerçek yaşamda kullanılan sistemlerle, test ve yazılım geliştirme
ortamlarını birbirlerinden ayırın. Yapacağınız değişiklikleri tümüyle
belgelendirin.
·
Güvenilir bileşenleri kullanmak yaşamsal düzeyde
önemlidir. Bir kümeleme yaparak bir sistemdeki hatanın diğer sistemi
etkilememesini sağladığınız durumlarda bile her bileşeniniz güvenilir
olmalıdır. Boot bölümü için disk duplexing yöntemini uygulayın. Bu şekilde tek
bir disk ya da tek bir disk denetcisi arızalandığı zaman bile çalışmaya devam
edebileceksiniz. Birden fazla, çalışma anında değiştirilebilir güç kaynakları, çalışma anında
değiştirilebilir SCSI diskleri, hata düzelten
bellek ve birden fazla soğutucu pervane kullanın.
·
İnsan hataları olasılığını azaltın. İnsanların
sisteme öngörülmemiş şekilde müdahalede bulunmalarını engelleyin. Sıradan
işleri otomatikleştirmek için betikler kullanın. Sistemin çalışmasını izlemek,
çıkabilecek sorunları önceden görmek, hata durumlarına karşı otomatik olarak
önlem alınmasını sağlamak için sistem yönetim yazılımları kullanının.
Datacenter mı Yoksa Win2K AS mi?
İşletim sisteminin kararlılığı bakımından NT 4.0’a
göre Win2K olağanüstü gelişmiştir. Burada
sorulacak soru Datacenter’a mı yoksa Win2K AS’e mi gereksiniminiz olduğu
yolundadır. Tablo
4’de iki işletim sistemi arasındaki farklılıkları görüyorsunuz.
Win2K AS çok sayıda, mükemmel denebilecek,
yenilikler sunuyor. Bunların arasında 2 düğümden oluşan Cluster hizmeti
kümeleri, 32 düğüme çıkabilen Network Laod Balancing (NLB) kümeleri, 16 düğüme
çıkabilen Component Load Balancing (CLB)
kümeleri ve Microsoft Internet Information Services (IIS) 5.0 içinde bir hata
durumunda güvenilir şekilde yeniden başlatma özelliği bulunuyor. Eğer Win2K
AS’in bu özelliklerini disiplinli bir yedekleme, kurtarma ve değişiklik
yönetimi ile birleştirebilirseniz iki ya da üç dokuzlu bir
kullanılabilirlik değerine kavuşabilirsiniz.
Win2K AS yerine Datacenter’ı şu durumlarda yeğleyebilirsiniz:
·
8GB’dan daha büyük bellek gereksinimi. Büyük
miktarlardaki bellekleri kullanabilecek (Address Windowing Extensions
mekanizması yoluyla) büyük veritabanları ve uygulamalar Datacenter’ı kullanmaya
adaydırlar.
·
3 düğümlü ya da 4 düğümlü kümelemenin sağladığı
fazladan kullanılabilirliği gerektiren stateful (durum bilgisini saklayan)
uygulamalar.
·
Winsock Direct (WSD) mekanizmasının kullanılmasını
gerektiren ağ performansı gereksinimi. WSD’yi kullanan
bazı firmalar ağda Gigabit hızlarına ulaştıklarını söylüyorlar. (Bu iddialar biraz
tartışmalı, çünkü Microsoft Giganet kartlarını Datacenter’ın Donanım Uyumluluk
Listesinden çıkarttı.)
·
GUI temelli bir proses denetim aracı gereksinimi.
Proses denetimi aracı sayesinde ağ yöneticileri, bir
grup prosesin kullanabileceği bellek miktarını, işlemci sayısını ve kullanım
zamanını kısıtlayabiliyorlar. Datacenter’da böyle bir araç var, Win2K AS’de
yok.
·
Joint Support Queue’nun (Birleşik Destek Kuyruğu)
teknik destek kaynaklarına erişme olanağı. Bu olanak yalnızca Datacenter
programında bulunmaktadır. Bu program içinde değişiklik yönetimi işlevleri de
içerilmektedir. Bu işlevler yük testi, çekirdek kipinde çalışan sürücülerin
imzalanması ve sertifikalanması, donanım değişikliklerinin sertifikalanması ve
uygulama yazılımlarının sertifikalanmasını içermektedir.
ARA METİNLER:
Ölçeklenme (Scaling Up) ve Sayı Arttırma (Scaling Out) Terimleri
Bazı işler çalışan sayısını arttırdıkça daha iyi
yapılır. Sayı arttırma terimi bu durumu anlatır. Bazı işlerse bir çalışanın daha hızlı çalışması sonucunda daha iyi
yapılır. Bu durumu göstermek içinse ölçeklenme terimi
kullanılır. Örneğin, bir duvarın boyanması ile bir
resmin boyanması işlerini düşünelim. Duvar boyama işinde 1 işçi yerine 30 işçi
kullanırsanız boyama işlemi daha çabuk biter. Ama ressam sayısını
arttırmak bir resmin daha çabuk bitmesini sağlamaz.
Bilgisayar dünyasında ölçeklenme ile bir
bilgisayarın kaynaklarını arttırarak (örneğin, işlemci sayısını arttırmak,
belleği arttırmak vb.) işlem kapasitesini arttırma anlaşılır. Sayı arttırma yönteminde ise işlem gücü, yük paylaşımı yapan bir
küme sistemine bilgisayar ekleyerek arttırılır. Durum
bilgisini saklayan (Stateful) uygulamalar resim yapma örneğine benzer. Durum bilgisini saklayan uygulamalarda işlem gücü ölçekleme ile
arttırılır. Durum bilgisini saklamayan (stateless)
uygulamalar ise duvar boyama işine benzer. Bu türlü
uygulamaların kapasitesi Network Load Balancing (NLB) ya da Component Load
Balancing (CLB) sistemlerine bilgisayar ekleyerek arttırılır.
Durum bilgisini saklamayan uygulamalara güzel bir
örnek statik HTML sayfaları içeren bir Web sitesidir. Burada her bir sayfa isteği, başka isteklerden oldukça bağımsızdır.
Durum bilgisini saklayan uygulamalara örnek olaraksa bir
veritabanı yönetim sistemini verebiliriz.
Tablo 1: Yüksek Kullanılabilirlik Kavramındaki Dokuzlar
Dokuzlar cinsinden Çalışmama
Yıl başına Hafta başına
Çalışma zamanı süresi çalışmama süresi çalışmama
% süresi
Bir (98%) 2 7.3 gün 3 hours, 22 dakika
İki (99%) 1 3.65 gün 1 hour, 41 dakika
Üç (99.9%) 0.1 8 hours, 45 dakika 10 dakika, 5 sn
Dört (99.99%) 0.01 52.5 dakika 1 dakika
Beş (99.999%) 0.001 5.25 dakika 6 saniye
Tablo 2: Çalışamaz Durumda Olmanın Örnek Maliyetleri
İş Saat
Başına Çalışamaz Durumda Olma Maliyeti
Hisse Seneti Acentası $6,500,000
Kredi Kartlı Satış $2,600,000
Evden TV ile Alışveriş $199,500
Katalogdan satış $90,000
Havayolu rezervasyonu $89,500
Telefondan bilet satışı $69,900
(Kaynak: Contingency Planning Research)
Tablo 3: Çalışamaz Duruma Gelme Nedenleri
Neden Çalışamaz
Durumda Olma Nedenlerine Göre Oranı
Planlı durdurma 30
İnsanlar 15
Donanım 10
Ortam 5
Yazılım
Sunucu yazılımı 30
İstemci yazılımı 5
Ağ yazılımı 5
Toplam 100
Tablo 4: Win2K AS ile Datacenter’ın Karşılaştırılması
Özellik Win2K
AS Datacenter
SMP işlemci sayısı 8 32
RAM desteği 8GB 64GB
NLB 32
düğümlü 32 düğümlü
CLB 16
düğümlü 16 düğümlü
Kümeleme hizmeti 2
düğümlü 4 düğümlü
İş nesnesi Evet (Job Object API) Evet ((Job Object API ve Proses Denetim Aracı)
WSD Hayır Evet