Google
 
Solaris Disk Partioning

Solaris sistemlerinin disklerinin nasıl bölümlendirilmesi (partitioning) gerektiği hakkında sonunda yararlı ve fikir verici bir belge buldum. Şu konuya kafa yorduğum kadar başka şeylerle uğraşsaydım şimdiye kadar herhalde sınavlara hazır hale gelmiş olurdum.

http://www.sun.com/blueprints/1002/817-0407-10.pdf

__________________________

_
Solaris' te Hostname ve IP Adresi Nasıl Değiştirilir?

www.sun.com/bigadmin/content/submitted/change_hostname.jsp

__________________________

_
ISA Server SSL Port Genişletme

https://www.tspakb.org.tr:8443/Login.jsp
Yukarıdaki adres ve porta ISA üzerinden erişim istendi. Göreceğiniz gibi protokol olarak https: ile çalışıyor ama standart SSL portu olan 443’ten farklı bir porttan iletişim sağlanıyor. Standart ISA araçlarıyla da bu istek karşılanamıyor. SSL port aralığını genişletmek gibi bir ihtiyaç söz konusu.Bu işi sağlayan araç veya script aşağıdaki linkten indirilebilir. Genişletmeye ilişkin yöntem de bu makalede anlatılmış. Araç (EXE) ve yöntem ISA 2004 için ama ISA 2006’da da yüklendiğinde çalışıyor.

Extending the ISA Firewall’s SSL Tunnel Port Range (2004)
http://www.isaserver.org/articles/2004tunnelportrange.html

Değişik ve “tricky” bir konu. Bir gün, bir yerde işinize yarayabilir.

__________________________

-
Group Policy / Account Lockout Problemlerini Çözmek
Group Policy ile Account Lockout problemlerini çözmek üzerine çok faydalı bir makale. Ekinde bulunan araçlar da işleri kolaylaştırıyor.

__________________________

_

1969 yılında aya giden Apollo 11’in kontrol bilgisayarının kapasitesi ile bu yazıyı yazdığım bilgisayarın donanımının küçük bir karşılaştırması:



Üstelik buna ekran kartının sahip olduğu güçlü 3 boyutlu
modelleme ve hesaplama sistemleri ile hafızası dahil değil.

Apollo 11’in bilgisayarı uzay gemisini Ay’a götürüp getirdi.

Bilgisayarımızın Apollo 11’in sistemine göre milyonlarca kat daha güçlü olduğu göz önüne alınırsa sanırım her birimizin Ay’a, hatta güneş sisteminin dışına gidip gelmemizi sağlayacak donanımları var.

Sanırım bilgisayarımızın kapasitesi yetersiz dediğimiz zaman bir kez daha düşünmemizde fayda var...

__________________________

-

Matematik ile savaş kazanan adam
Profösör Alan Turing. Saygıyla anıyorum...

II. Dünya Savaşı'nda Almanlar'ın "çözülemez" dediği şifrelerini çözen çok zeki bir matematikçi, mantıkçı, şifrebilimci modern bilgisayar ilminin babası ve ne yazik ki genç yaşında intihara sürüklenmiş bir kahraman.

Bilgi işlem sistemlerinin test edilmesi için önerdiği yöntem basitçe şu şekilde tariflenebilir. “Biri insan biri bilgisayar olmak üzere iki tarafın doğal konuşma dili ile gerçekleştirdiği bir iletişimde hangi tarafın insan hangi tarafın bilgisayar olduğunu anlama çabası”. Eğer hangi tarafın insan, hangi tarafın bilgisayar olduğunu anlayamaz isek bu durumda bilgisayarımız Turing testini geçmiş oluyor ve bizde kendimize yeni bir arkadaş edinmiş oluyoruz :)

Bunun ilk örnekleri şu anda internette mevcut. MSN kullanıyorsanız spleak@hotmail.com kontağını adres listenize eklemenizi şiddetle öneririm. Karşınızda sizinle sohbet etmeye oldukça istekli bir kontak bulacaksınız.

Bu “kontak” California’da bir sistem odasında ikamet etmekte, güçlü bir hafızaya sahip ve bir miktarda geveze...


" II.Dünya savaşında ölen 55 milyon insana yenilerinin eklenmesini engelledin ama Hizmet ettiğin ülken tarafından zehirlendiğini anlamak için enigma olmaya gerek olmadığını düşünüyorum yazıklar olsun seni katledenlere "

__________________________

-

Microsoft'un Linux'u kaale almasından sonra Linux ile ilgili sayfa hazırladı ve "Linux haftada 1 çökerken, biz artık çökmüyoruz :)"
gibi deneyimlerine yer vermeye başladı.

__________________________

1


Veritabanı yedeği alma konusunda fazla bilginiz yoksa, ya da
sadece yazdığınız yazıları arşivlemek istiyorsanız blogspot, wordpress,blogger,live journal vs. listesini buradan görebileceğiniz birçok blog yazılımını destekleyen BlogBackupOnline sitesine ücretsiz üye olarak en geç 2 saat içinde (1500 yazı için gerekli süre) blogunuzun yedeğinizi alabilirsiniz.

__________________________

-

Bazı siteler,forumların içeriğini okuyabilmemiz için bizden üye olmamızı isterler . Siteler genelde üye olduğunuz mail adresiyle ilgilenir; amaçları ortakları olan kuruluşların sürü e-postalarını mail adresimize göndermektir aslında.İşte bu ve benzeri sitelere üye olma rutininin önüne geçmek ve spam maillerden bir nebze olsun korunmak için kurulmuş olan çok faydalı bir websitesi var.

Bugmenot.com

Burada internetteki bir çok sitenin kullanıcı adı ve şifreleri site ziyaretçileri tarafından paylaşılıyor, oylama sistemi ile bilgilerin doğruluğu da bir şekilde test ediliyor. Bu bilgileri kullanarak sitelere giriş yapabileceğiniz bir firefox plug-in i bile var. Aynı zamanda Türk siteleri için de kullanıcı adı ve şifreler mevcut.

Not: Konu açılmışken sizlere mail adreslerinizi AT (cemunsATgmail) olarak yazmanizi tavsiye ederim; aksi takdirde "@" karakterini tarayan programlarin mail adresinizi saklayip spam listeleri icin kullanma riski mevcut.

__________________________

-
Microsoft'un anti tekel yasasını çiğnediğine inanıyor musunuz?

__________________________

__________________________

a
Hangi konu yu daha çok merak ediyorsunuz?

__________________________

__________________________

-

Cumartesi

Active Directory © Dizin Hizmeti Veritabanının Çalışma Prensipleri

Active Directory © Directory Services çalışma prensipleri, veritabanı üstünde gerçekleştirilen değişikliklerin nasıl kaydedildiği, ve bu kayıt işlemlerinin performans üzerindeki etkisi, servisin sağlıklı yönetilebilmesi için gereklidir.

Active Directory (AD) © dizin hizmeti, ağa hizmet verirken, elinde bulundurduğu bilgiyi bir veritabanında tutar. Bu veritabanının tuttuğu bilgi, Active Directory Domain’ i seviyesindedir. Forest’ ta bulunan –varsa- diğer AD domain’ leri ile ilgili bilgi ise, ilgili AD domain’ inin Domain Controller (DC) ismi verilen ve AD servislerinin çalıştığı sunucular tarafından tutulur.

Active Directory, veritabanını kendi veritabanı motoru ile çalıştırır. Tüm sorgulama, ekleme, silme ve modifikasyon işlemleri, veritabanının korunması, yönetimi, saklanması, güvenliğe alınması; ESE (Extensible Storage Engine) isimli ve Active Directory © directory services’ a ait veritabanı motoru tarafından yürütülür.

Bu serideki konularımız, Active Directory veritabanının temelde nasıl çalıştığı, data modifikasyonlarının nasıl meydana geldiği, bu modifikasyonların veritabanı üstündeki performans etkileri ve ortaya çıkabilecek performans sorunlarının çözümü olacaktır.

Active Directory veritabanı, Domain Controller (DC) olarak adlandırılan, ve AD Domain’ inin yönetiminden sorumlu olan sunucu veya sunucuların yerel diskinde tutulur. Veritabanının fiziksel lokasyonu, varsayılan kurulum sonucu olarak %windir%\NTDS\‘dir. Veritabanı dosya ismi ise, yine varsayılan olarak, ntds.dit ‘tir. Bunlarla beraber, veritabanı sistemi, sadece veritabanı dosyası ile çalışamaz. Tüm işlemlerin geçici olarak yer aldığı, değişikliklerin veritabanına yazılmadan once çeşitli sebeplerden (ilerleyen kısımlarda açıklanacaktır) ötürü saklandığı ve transaction log olarak adlandırılan edb.log isimli dosya da, Active Directory dizin hizmetinin çalışmasında kritik rol oynar. Üçüncü kritik veritabanı bileşeni ise kontrol noktası olarak çalışan ve ESE checkpoint olarak adlandırabileceğimiz ebd.chk dosyasıdır. Bu dosyanın görevi ise, öncelikle transaction log’ u olan edb.log a yazılan modifikasyon bilgisinin - ki bundan sonra bu modifikasyon işlemlerini transaction olarak adlandıracağız – veritabanı olan ntds.dit içine, düzgün ve tutarlı olarak yazılıp yazılamadığını konrol etmektir.

Bunlardan başka, veritabanı sistemine hizmet eden, ve disk üzerinde boş alan kalmama ihtimaline karşılık, sadece alan işgal etmek üzere bulunan, ve acil durumlarda (disk’ in dolması) silinerek, servisin kullanımına alan yaratan reserved log dosyaları vardır. Iki tane olmak üzere, 10’ ar MB boyuta sahip olan bu dosyaların ismi ise res1.log ve res2.log’ dur.

Veritabanına Yazma İşlemi (Transaction)

Şimdi Active Directory veritabanı sisteminin nasıl çalıştığını, sıradan bir transaction işleminin nasıl gerçekleştiğini inceleyeceğiz.

Bir administrator, veritabanı üzerinde bir değişiklik yaptığı zaman, mesela bir kullanıcı hesabı yaratıldığı, silindiği ya da modifiye edildiği zaman; bir yazma isteği (write request) oluşur. Bu yazma talebi bir işlem, yani teknik adıyla da bir transaction olarak yakalanır. Bu transaction, ilgili değişim bilgisi ve ilgili metadata (versiyon sekans numarası, değişikliğin yapıldığı tarihi ve saati belirten time stamp ve ilgili değişikliği kaydeden domain controller sunucunun globally unique identifier (GUID) ‘ i) dan oluşur. Örnek olarak bir objenin bir attribute’ u değiştirildiği zaman, değişim bilgisi; ve versiyon sekans numarası, değişikliğin yapıldığı tarihi belirten time stamp ve ilgili değişikliği kaydeden domain controller sunucunun globally unique identifier (GUID) ‘ ını belirten bir metadata, bu değişimin transaction’ ını oluşturur.

Bir transaction, Active Directory’ ye bir yazma isteği (write request) oluşunca başlar. Transaction; içinde, ilgili değişiklik bilgisini ve ilgili metadata’ yı barındırır ve AD bu transaction’ ı, hafızada bulunan transaction buffer’ a yerleştirir. Bundan sonra ESE, buffer’ a yerleştirdiği bu transaction’ ı, transaction log’ una yazar (ebd.log). Bu, transaction’ un sağlıklı birr şekilde kaydedilmesini sağlamış olur. Transaction, log dosyasına güvenle yerleştirildikten sonra; ESE, bu transaction’ u, hafızadaki transaction buffer’ dan, DC’ nin yerel sabit diskinde bulunan, AD veritabanı dosyası olan ndts.dit içine de yerleştirir. Veritabanına işlenmemiş transaction’ lar, log dosyasında kalırsa, hatalar oluşabilir. Bunun için ESE, checkpoint dosyası olan edb.chk kontrol ederek, log dosyasında bulunan ve henuz veritabanına aktarılmamış, veritabanına yazılması gereken transaction bulunup bulunmadığına baker. AD, her transaction’ un, veritabanına başarıyla aktardığını onaylamak için, ntds.dit ile edb.log dosyalarını karşılaştırır. Daha sonra ise, edb.chk dosyası, ilgili transaction’ un, veritanabına yazıldığına dair, güncellenir. Eski log dosyalarındaki tüm transaction’ lar veritabanına yazıldıktan sonra; AD, eski dosyalarını siler.

Transaction’ ların Etkisi ve Performans Sorunu

Diske data yazılırken, devamlı sektorlere yazılır ve data silindikçe, disk üzerinde boş alanlar bırakır. Buna fragmentation denir. Data silinip de yeni data yazılırken de, bu dağınık şekilde duran ve devamsız sektorlere yazılır.

Data, bu dağınık alanlara yazılırsa da, datanın okunma performansı, ve dolayısıyla da, veritabanı performansı düşer. Garbage Collection (ilerki konulda değinilecektir) sürecinde; -varsayılan olarak 12 saatte bir- Active Directory, online defragmentation işlemi gerçekleştirir. Bu işlem sırasında, veritabanının fragmentasyona bağlı performans kaybı ortadan kalkar ve online defragmentation işlemi sırasında, Active Directory Directory Service domain controller sunucu, hizmet vermeye devam edebilir.

Bununla birlikte, online defragmentation, performans sorununu giderirken, veritabanının boyutunu optimize etmez ve dosya boyutu büyümeye devam eder. Veritabanı boyutunu azaltmak için, offline defragmentation yapılması gerekmektedir. Bu işlem, original veritabanı dosyasının içindeki bilgiyi kullanarak; yeni, düzenli bir veritabanı dosyası yatatır (compact). Offline defragmentation sırasında, transaction log’ unda bulunan ve henuz veritabanına aktarılmamış tüm transaction’ lard a, bu yeni yaratılan compact veritabanına yazılır. Ancak unutmamak gereken bir durum vardır; bud a, offline defragmentation işlemi sırasında, domain controller, sisteme hizmet vermeyecektir. Dolayısıyla, bu işlem sırasında kaybolan zamanın, iş planına uygun olması, örneğin, mesai saatleri dışında uygulanması tercih edilebilir. Online defragmentation, zaten performans sorununu çözdüğü için; offline defragmentation; sadece, veritabanı boyutunun küçültülmesi için kullanılmalıdır.

Daha önceki kısımlarda da bahsettiğimiz gibi, transaction log ve checkpoint sistemi, tek bir veritabanı altında tutulan bilginin tutarlılığını sağlar (data integrity). Ancak aynı replica’ yı tutan birden fazla Domain Controller sunucumuz varsa, veritabanının replikaları arasında da veri tutarlılığını düşünmek zorundayız.

Replikalar arası Veritabanı Tutarlılığı

Düşündüğümüzde, eğer değişiklik bir modifikasyon ya da ekleme ise; data, replikalar arası senkronize edilebilir. Ama ya eğer değişiklik bir silme işlemi olursa? Eğer silme işlemi sırasında obje tamamen silinirse, değişikliği kaydeden replica dışında kalan diğer sunucular, bu silme işlemi nasıl anlayabilecekler ve kendi replikalarını güncelleyecekler? İşte bunun için, eğer bir obje silinirse, aslında veritabanından düşürülmez (purge), bunun yerine, özel bir container olan, deleted items container’ ına taşınırlar. Bu işlemin amacı ise, diğer replikaların, bu silme işlemini güncelleyebilmelerinin sağlanması için yeterli sürenin oluşturulmasıdır. Objenin silinmesi ile veritabanından düşürülmesi arasında geçen sure, diğer replikaların, silme işlemine dair bilginin, kaynak replikadan diğer replikalara aktarılmasını garanti etmek içindir. Bu surenin sonunda, obje expired olarak işaretlenir, ve bir sonraki garbage collection sürecinde, veritabanından purge edilir. Objenin silinmesi komutunun işlenmesi ile veritabanından düşürülmesi arasında geçen sure, varsayılan olarak 60 gündür, ve yapılandırılabilir. Ancak; bu sure, sistemdeki, en uzun replikasyon süresinden daha uzun olmalıdır. Aksi takdirde, bazı replikalar, silme isteğini kaydedemez, ve silinmiş ojbe, sisteme yeniden geri gelmek durumunda kalır. Çünkü; diğer replikalar objeyi çoktan veritabanından düşürmüş olduğu için, aslında silinmiş olması gereken ama silinemeyen bu obje, diğer replikalara, yeni bir obje olarak görünebilir.