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 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 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