Kurulu Sistemi Yenileme 2

by

Önceki bir yazımda LDAP kullanmaya başlamamı anlatmıştım. Şimdi ise çalışan bir openLDAP sunucusunu yenilemeden bahsedeceğim. openLDAP açık kaynak kodlu bir yazılım ve geliştirme süreci devam ediyor. Zaman zaman sunucuları daha yeni bir versiyona geçiriyorum. Sunucuları dememin nedeni bir tane asıl sunucunun yanında verileri ondan kopyalarak hizmet veren replika sunucuların da olması.

Öncelikle yeni versiyonu farklı bir sanal sunucu üzerine kuruyorum. Yedeklediğim verileri kullanarak bu sunucuyu çalışır hale getiriyorum. Bu arada yeni versiyonda nelerin değiştiğine bakıp gerekirse konfigürasyonda değişiklikler yapıyorum. Benzer şekilde replika sunucuları da kurup çalışır hale getiriyorum. Sunucular çalışır hale geldikten sonra LDAP kullanan sistemleri test etmeye sıra geliyor. Bu işlem için canlı sunucuları kullanamayacağımdan ayrı test sunucuları kurmam gerekebiliyor. Yaklaşık iki ay önce yaptığım yenileme işleminde en çok SSL kütüphaneleri ile ilgili sorun çıktı. Eski sunucuların kullandığı openssl versiyonları çok eski kaldıysa, yeni LDAP sunucu ile diğer eski sunucular ortak bir kriptolama algoritması bulamayabiliyor. Bunun sonucunda bağlantı gerçekleşmiyor. Kriptolu haberleşmeyi iptal etmek istemediğim için ya diğer sunucuları da yenilemek zorunda kalıyorum veya mecbur kalırsam LDAP kullanımını iptal ediyorum.

openLDAP’in yeni versiyonunu devreye alacağım zaman taşıma işlemini sistemin en az kullanıldığı bir zamanda yapıyorum. LDAP’i en çok e-posta sunucuları kullanıyor. Bu sunucuların en az kullanıldığı zaman sabah saat 5, 6 civarı oluyor. Hafta sonu kullanım daha da düşüyor. Bu yüzden en çok Cumartesi sabah 5 civarında işlemi yapıyorum. Kesinti süresini ve etkilenecek kullanıcı sayısını minimuma indirmeye çalışıyorum. Eski sunucudaki verileri yedekleyip yeni sunucuya kopyalıyorum. Replika sunucuları ayaklandırırken dikkatli olmak gerekiyor. Çünkü replika sunucu çalışmaya başlayınca verileri asıl sunucudan çekmeye başlıyor. Bu sırada gelen sorgu olursa ona da cevap veriyor. Henüz kopyalanmayan bir veri sorgulanırsa “böyle bir veri yok” cevabı gidiyor. Bu istenmeyen sonuçlar üretebilir. Örneğin dışarıdan e-posta alan bir sunucu replika’dan “böyle bir e-posta adresi yok” cevabı alırsa gelen e-postayı reddeder. Bu da gerçekte var olan kullanıcının e-postayı kaybetmesine yol açar.

Test aşamasında LDAP kullanan diğer sunuculardan test edemediklerim de oluyor. Genelde önem seviyesi düşük olan bu sunuculardan sorun çıkartan olabiliyor. Bazen LDAP kullanımını iptal etmek zorunda kalabiliyorum.

Yeni sunucuya geçmek bazı konularda rahatlık sağlıyor. Örneğin yeni işlemcilerdeki çekirdek sayıları daha fazla olduğu için openLDAP’e daha fazla sayıda thread ayırabiliyorum. Bu avantaj oluyor ve eskiden olan bazı bekletmeler ortadan kalkıyor.