Sistem Felaketlerine Çözümler -I

26
Ağustos
2010
Sistem Felaketlerine Çözümler -I

SİSTEM FELAKETLERİNE ÇÖZÜMLER -1

 

Tabii ki iyi bir sistem mühendisi olarak önceden öngörü (proactive) çözümleriniz sayesinde arızalı bir sabit diskin sizi bu duruma düşürmesinden kurtulmuş olmalısınız. Peki bu proactive önlemler nelerdir ? Öncelikle sisteminizin yedeklenmesi sizi bu tip durumlardan kurtaracaktır. Fakat bir sistemin yedekten dönmesi dahi bazı durumlarda bize yetmeyecektir. Çünkü yedeklemeyi belirli saatlerde yapacağınızdan dolayı bir sonraki yedeklemeye kadar ki değişiklikleri kaybedebilirsiniz. Üstelik yedekten dönülmesi de zaman alan bir işlemdir. Bu durum belki hiç yoktan iyidir dedirtebilir ama yüzlerce kişinin bir günlük datasının kaybolması çoğu durumda kabul edilemez sonuçlar doğuracaktır. Peki bizi bu durumdan kurtarabilecek öneriler nelerdir ? Hemen söyleyelim; sabit disklerimizin anlık korunmasıdır. Bunu RAID 1 ,RAID 5 gibi  metotlar ile yapmak mümkündür. Bu sistemler sayesinde arızalı bir disk   problem olmaktan çıkacaktır.

Bu işlemler için sunucularda donanımlar  bulunmaktadır. Fakat sizin sunucunuzun donanımsal olarak bunu yapması mümkün değilse üzülmeyin çünkü  Microsoft NT ,2000 ve 2003 serisi işletim sistemleri  bu "fault tolerans" uygulamalarını yazılımsal olarak da  yapabilmektedir. Bunun için tek gereksinimimiz disklerimizin Basic Disk yapısından Dynamic Disk yapısına çevrilmesi olacaktır. Bu işlem neticesinde artık sistemimiz Fault Tolerans sağlamaya hazır olacak. Peki nedir bu Basic Disk ve Dynamic Disk ? .Kısaca bir göz atalım.

 

Basic Disk

Bilindiği üzere PreWindows2000 işletim sistemleri bir disk üzerinde ancak dört adet primary partition oluşturabilirler. Eğer siz dört taneden fazla bölüme ihtiyaç duyarsanız yapmanız gereken Uzatılmış Bölüm (extended partiton) oluşturup içine de Mantıksal Sürücüler (Logical Drive) oluşturmanız gerekecektir.  Bunlarda A,B hariç İngiliz alfabesi harf sayısıyla (C..Z 24) sınırlı olacaktır. Başka bir sınır ise bölümlerimizin oluşturulduklarındaki boyutlarını sonradan değiştirememektir.

Dynamic Disk

Bu yapıda ise artık partition mantığı yerine volume mantığı vardır. Ve artık harfler bitse dahi mount mantığınca boş klasörlerimize dahi sabit diskimizin boş alanlarını mount edebileceğiz. Ve daha önemlisi artık hatalara karşı sistemimiz RAID1 ve RAID5 gibi metotlarla korumamız münkün olacak. Ve daha fazlası artık dolan bölümlerimize ilave yerler eklemek mümkün olacaktır.

Disk Management ile sistemdeki sabitdisklerin üzerine  gelip "Revert to dynamic" işlemini yapmak basic disklerimizi dynamic diske çevirmek için yeterli olacaktır. Üstelik bu işlem bize herhangi bir data kayıbı yaşatmayacaktır (gene desistemde bu tür değişiklikler yapmadan önce yedekleme her zaman için gereklidir).   Tabii ki bu işlemden sonra Windows 98,gibi işletim sistemleri ile dual boot çalışan bir sisteme sahip iseniz artık o işletim sistemleri ile makinenizi açamayacaksınız .

Bu işlem için sabit diskinizde 1 MB lık boşalan bulunması gerekmektedir. Çünkü sistem dynamic sabit disklerinizin konfigurasyon bilgilerini burada tutacaktır. Ve bir dynamic disk başka bilgisayara taşındığında Foreign Disk olarak tanımlanmasının sebebi o diskin konfigurasyon bilgisinin farklı olmasıdır. Siz import işlemi yaparak kendikonfigurasyon bilginizi yeni taktığınız diske de yazmış olursunuz.

Şimdi disk hatalarına  karşı bizleri koruyacak RAID1 ve RAID5 fault tolerans metotlarına  bir göz atalım .

 

RAID1 (Mirroring)

 

Mirror kelime anlamıyla düşünüldüğünde ayna,yansıtmak gibi manalara gelmektedir. Bizim için bir sabitdiskteki bilgilerin aynı anda diğer bir sabit diske yazdırılması anlamına gelir. Ve sabitdisklerden herhangi birinin bozulması durumunda diğerinin devreye sokulması sisteminizde data kaybı olmadan işlerinizin kaldığı yerden devam etmesini sağlayacaktır. Mirror için gereksinimimiz iki adet disktir. Sabit disklerinizin boyutunun aynı olması gerekmemektedir .Mirror yapmak istediğiniz volume kadar alanınızın ikinci diskte olması yeterlidir. Burada dikkat edilmesi gereken önemli bir nokta RAID1 in size toplam alanınızın  %50 sini sunduğu geri kalan %50 nin ise miror için kullandığıdır. Örnekleme gerekirse 2 adet 40 GB sabit diskimizin olduğunu varsayarsak ve biz bu iki diski miror yaparsak toplam alan 80 GB olmasına karşın yalnız 40GB lık bir alanı kullanabileceğiz. Burada hatırlatılması gereken bir diğer husus ise sistemin aynı bilgiyi ikinci sabit diske de yazması yazma hızına yavaşlık getireceğidir. En büyük avantajı ise software RAID5 in aksine boot ve sistem  volumlerini de mirror ile koruyabilmemizdir. RAID1 ilave bir güvenlik için mirordeki diskleri ayrı denetleyicilere takmaktır. Örneğin eğer disklerimiz IDE ise disklerden tekini Primary IDE Controller a diğerini ise Secondary IDE Controller a takılması daha mantıklı olacaktır. Aynı şekilde SCSI diskler için farklı kanallara takılması veya farklı SCSI kartlara takılı olması bize ek bir avantaj sağlayacaktır.

 

http://www.sistemuzmani.com/Articles/Images/1000000069_image001.jpg

 

 

 

 

 

 

 

 

 

 

Microsoft 2000 ve 2003 serisi sunucu tabanlı işletim sistemlerinde RAID1 oluşturmak için  Disk Management aracını kullanacağız. Bu işlem için yapılması gerekenler  aşağıda adım adım belirtilmiştir.

 

1-      Computer Management 'ı aç

2-      Disk Management 'ı tıkla

3-      Boş disk alanın üzerine gelip New volume'u  seç

4-      Karşınıza gelen New Volume Wizard 'ında Next'i tıkla Mirrored seçeğini seçip Next'i tıklayın. Miror yapmak istediğiniz diski ve oluşturmak istediğiniz volumun ,büyüklüğünü belirtin.

5-      Mirrored volumunuz için istediğiniz dosya sistemini belirttikten sonra işlemimizi biterebiliriz.

 

Diğer yol ise miror yapmak istediğiniz volumun üstüne gelip Add mirror  demeniz ve bu işlemden sonra damiror yapmak istediğiniz boş alanı seçmeniz yeterli olacaktır.

 

RAID5 (Striped with Parity)

 

RAID5 kurulumu için en az üç adet sabit diske ihtiyacınız olacaktır. Ve bu üç diskten herhangi biri bozulsa dahi geri kalan iki disk sayesinde datalarınıza  ulaşabilirsiniz. Tabii ki ikinci bir diskin gitmesi durumunda bütün datalarınızı kaybedersiniz. Bu yüzden RAID5 sistemlerde bir disk arızası oluşur oluşmaz arızalı disk hemen yenisi ile değiştirilip yeni diskin Regenerate  yapılması şarttır. Sistem basitçe bir bilgiyi yazarken parity hesaplayıp bu parity bilgisini de yazar .Böylece sağlam disklerdeki bilgi + parity bilgisi ile arızalı diskteki bilgiyi oluşturabilir. Elbette RAID5 in performansı bu parity i hesaplayarak yazması sebebi ile düşse de sağladığı fault tolerans sebebi ile tercih edilmektedir.

RAID 5'te kaybettiğimiz sabit disk alanı RAID1 den düşüktür.

Yukarıda anlatılan RAID1 ve RAID5 haricinde başka RAID çeşitleri de mevcuttur. Örnek olarak RAID 10 gibi .

Şimdi bir disk arızasının bizi yıkmasına engel olduk gibi gözüküyor. Fakat hayat her zaman kolay olmayabilir. Ya iki diskimizin gittiğini varsayarsak. Ki bu durumda ne RAID1 ne RAID5 bizi kurtaramıyor. Bu durumda çözümümüz ne olacak ? .Evet şimdi en güncel yedeğimizin tekrar yüklenmesinin zamanı geldi. Bunun için yapılması. Gerekenleri adım adım yazacak olursak . Evvela arızalı disklerin yenileri ile değiştirilmeleri gerekmekte ve tabii ki volumlerimizi yeniden oluşturmak gerekmektedir. Daha sonra yedeğimizin geri yüklenmesine sıra gelecektir. Burada sistem ve boot volumunun de gitmiş olması yukarıdaki adımları değiştirecektir.

Bu detaylara girmeden önce yedekleme nasıl yapılacak konusunu inceleyelim. Microsoft'un bizim kullanımımıza sunduğu Ntbackup aracı sayesinde yedekleme işlemini rahatlıkla yapabiliriz. Elbette yedekleme işlemi ile alakalı bir kaç detayı anlamış olmak kaydı ile. Yedekleme işleminin yapılabilmesi için bir teyp ünitesi kullanılabileceği gibi bir sabit diski de kullanmak mümkündür. Ntbackup aracının sağladığı sihirbaz ile yedeklemek istediğimiz datanın yerini ve yedekleme yapacağımız yeri göstererek bir backup işlemini yapmak son derece kolay olacaktır. Burada önemli olan yedeklemenin nasıl yapılacağıdır. Incremental, differential,daily,copy gibi seçeneklerimiz mevcut. Bunları inceleyelim.

 Incremental

Bu yedekleme metodunda sistem yedeklemesini yaptığı dosyalara arşivlendiklerine dair bir işaret bırakır(arşiv bitini temizler). Bu mekanizma dosyanın herhagi bir değişiklikte arşiv bitinin OS tarafından değiştirilmesine dayanır. Yani siz Incremental backup yapıp arşiv bitini kaldırırken  o dosyada yapılacak herhagi bir değişiklik arşiv bitinin  tekrar koyulmasına sebep olacaktır. Böylece sistem hangi syalarda değişiklik yapıldığını takip edebilecektir. Dolayısıyla bu yedeklemeden sonra yapılacak ikinci bir yedeklemede sadece değişen dosyalar yedeklenecek bu sayede yedekleme süresi düşecektir. Tabii ki bu yedekten geri dönmek istenildiğinde sırası ile bütün yedeklerin yüklenmesi gerekecek ve bu geri yükleme süresi dezavantaja dönüşecektir. Diğer bir dezavantaj ise bütün yedeklerin koruma gerekliliğidir.

Differential

Bu yedekleme metodunda incremental metodunu aksine yedeklenmiş dosyalara yedeklendiklerine ilişkin birişaret bırakılmaz (arşiv bitini temizlemez). Sonuç olarak ta bir sonraki differential yedekleme bir öncekini de differential yöntemi ile yaptıysanız onuda kapsayacak şekilde olacaktır.

Hep differentail yöntemi ile yedekleme yapmanız gittikçe artan yedekleme sürelerine sebep olacaktır Bu ise yedekleme zamanını uzatacak ama geri dönüş zamanında da size sadece bir yedeği muhafaza etme ve bir yedekten dönme kolaylığını sağlayacaktır.

Daily

Sadece gün içerisinde değişen dataların yedeklenmesinde kullanabileceğimiz bir yöntemdir. Bu yöntem yedeklendiğine dair bir işarete bırakmaz (arşiv bitini temizlemez).

Copy

Direk olarak kopyalama yapar .Ve yedeklenme yapıldığına dair bir işaret bırakmaz (arşiv bitini temizlemez)

Normal (Full)

Bu yedekleme yöntemi ile seçilen bütün dosyalar arşiv bitinin olup olmamasına bakılmaksızın yedeklenmesini sağlar.Sisteminizin bütünün bu yöntem ile belirli aralıklar ile yedeklenmesi çok makul olacaktır. Bu yöntem de yedekleme yaptıktan sonra yedeklediği dosyalardaki arşiv bitini temizler.

 

Tabii ki yedekleme almak için bazı  stratejilerinde belirlenmesi gerekir. Örnek olarak haftanın 5 günü faaliyet gösteren bir bir firmanın yedeklemelerinden sorumlu olduğumuzu varsayarsak yedekleme stratejimiz  şu şekilde olabilir. Haftanın 5 günü için 5 kaset kullanabiliriz. Her kasetin üzerine de ait olduğu günün ismi ve yedeklemenin yapıldığı tarihin girebileceğiniz bir etiketin olması önerilir. 5 gün için kullandığınız 5 kasetten 3 döngü yapabiliriz. Bu sayede birinci hafta kullandığınız kasete bir daha  yedekleme almamız 2 hafta sonra olacaktır.Bu da her zaman için elimizde 3 haftalık yedek bulunmasını sağlayacaktır. Hem istediğimiz an 3 hafta önceki bir bilgiye dönmek bir avantaj olacaktır hem de kasetlerin birindeki bir bozulma bizi çok etkilemeyecektir. Bunlara ilave olarak hafta sonları ve aybaşlarında alacağımız haftalık ve aylık yedeklemelerbilgi güvenliğimizi sağlayacaktır.

Yedekleme konusunda ntbackup aracını kullanarak Domain Controller görevindeki makinelerimizin yedeğini de alabiliriz. DC lerde tutulan Active Directory bilgisi Ntbackup aracında System State denilen bir seçeneğin seçilmesi ile yedeklenebilmektedir. ActiveDirectory bilgisinin yanı sıra boot dosyaları,sistem dosyaları,registry ve yüklü ise CA,IIS meta directory bilgilerini içermektedir.

 http://www.sistemuzmani.com/Articles/Images/1000000069_image005.jpg

Sonuç olarak sistemimizin yedeklemelerini kendimize uygun bir strateji ile yedeklediğimizi varsayarsak bir problem durumunda bu yedeklerin kullanılmasını inceleyelim. Yedeklerin geri yüklenmesine Restore işlemi denir. Bir file server görevi gören makinenin üzerindeki kayıp olan dataların geri yüklenmesi ile bir DC (DomainController) görevindeki makinenin geri yüklenmesi farklı olacaktır. Restore işlemi de backup işlemi gibi ntbackup aracı ile yapılır. Ve isterseniz sihirbazı kullanarak isterseniz kendiniz el ile ayarları düzenleyerek geri yükleme işlemini yapabilirsiniz. Bir Domain Controllerin yedekten geri yüklenmesi açılışta F8 tuşuna basıldığında gelen menüden Directory Restore Mode un seçimiyle başlar. Bu modun açılışı tamamlandıktan sonra Ntbackup aracını çalıştırıp daha evvel yedeklediğimiz "System State" bilgisinin yerini gösteririz. Eğer menude herhangi bir yedek gözükmüyor ise catalog file seçilir . Ve orada yedek dosyasının bulunduğu yer gösterilir. Ve restore işlemini başlatabiliriz. Bundan sonra iki seçeneğimiz var. Restartedip sistemin açılışından sonra varsa ortamdaki diğer DC lerin yedekten döndüğümüz DC yi replika etmelerini bekleriz. Replikasyondan sonra DC ler arasında bilgiler eşitlenir. Fakat bazı durumlarda bu istenmez . Örneğin varsayalım siz yanlışlık ile bir kullanıcıyı sildiğiniz. Ve siz bu silme işleminden önce yedek aldığınızı varsayalım. Yukarıda bahsettiğimiz şekilde yediğinizi geri yükledikten sonra silinen kullanıcıya kavuşursunuz taki restart edip diğer DC ler replikasyonu başlatana kadar. Replikasyondan sonra yedekten geri döndürdüğünüz kullanıcı tekrar silinecektir .Çünkü silinme bilgisi daha yeni bir bilgidir. Ve elbette bir database de en son yapılan işlem geçerlidir. Peki ne yapmalıyız da yedekten kurtardığımız bilginin replikasyondan sonra silinmemesini sağlayalım. Yapmamız gereken diğer DC lere bizim DC mizin içerdiği bilgilerin versiyon bilgisinin kendilerinde bulunandan daha yeni olduğuna inandırmak. Buna Authorirative Restore deniyor. Peki nasıl yapıyoruz ?

 

1- Domain Controller ı Directory Restore Mode ta açıyoruz

2- Ntbackup uygulaması ile sisteme SystemState bilgisini restore ediyoruz

3- Restart etmeden Command Prompt ta Ntdsutil yazıyoruz.

4- Gelen ekrana Authorirative Restore yazıyoruz

5- Artık istersek bütün database in versiyonunu yükseltebiliriz istersek te sadece bir objenin versiyonunu yükseltebiliriz . Bunu da Restore database veya Restore object %S komutlarını kullanarak yapabiliriz. (%S =Objenin Distinguish Name'i)

6- Quit

7- Restart

 

Bir File server'da paylaştığınız dataların geri dönmesi daha kolay olacaktır. Makinenizi restart etmenize bile gerek kalmadan yedeğinizi restore edip kullanabilirsiniz. Ntbackup uygulamasını kullanarak yedeğinizden datanızı ister orijinal yerine isterseniz alternatif bir yere restore etmeniz mümkün olacaktır. Ve Schedule özelliği ile istediğimiz günlerde istediğimiz bilgilerin yedeklenmesini sağlamak ta mümkün. Bunun için Ntbackup uygulamasının schedule tabına tıklayıp job eklemek istediğiniz günü tıklamak veya add job butonunu tıklayarak sihirbazı takip etmek yeterli olacaktır.

http://www.sistemuzmani.com/Articles/Images/1000000069_image007.jpg

 Evet burada hatırlatılması gereken bir nokta da Yedeklerimizin 60 günden eski olmamasıdır . Active Directory de bir object silindikten sonra hemen yok olmaz Tombstone süresince bekletilir sonra garbage olarak kabul edilir. Tombstone zamanı denen bu zamanı aşan yedeklerimizi kullanamayız. Bir de ASR (Automated System Restore) denilen bir özellik var ki bu seçenek sayesinde sistemimizin sıfırdan kurulup restore edilmesi çok kolaylaştırılmıştır. ASR yi kullanmak için de ntbackup aracını kullanacağız. ASR sisteminiz kuruluşu ile ilgili datalar, disk bilgileriniz dynamic veya basic ,sistem servisleri ve bileşenleri, system state'in yedeklenmesidir.. Tabii ki datalarınızın yedeğini ayrıyetten almanız gerekmektedir. ASR oluşturulduktan sonra sizden bir disket isteyecektir. Bu diskette de sisteminizin kurulurken disk yapısı ile ilgili bilgileri kapsayan sif uzantılı dosyalar bulunur. Açılmayan bir server' ın tekrar kurulması gerektiğinde kuruluşu başlattığınızda size F2 tuşuna basarsanız ASR'nin başlayacağı uyarısı verilir ve disketinizi kullanarak yapacağınız bu kuruluşun ardından sisteminizin önceki haline kavuşursunuz.

 

 

 

Evet şu ana kadar bir felaket durumunda neler yapabiliriz veya bir felaketten önce neler yapabilirize değinmeye çalıştık. Fakat bir çok farklı çözüm ve bir çok farklı senaryodan birkaçına değindik. Yüzlerce makalelik bu derin alanda bir çok konuyu sizlerle incelemek üzere ..

 

MAKALEYE YORUM YAZ

İsminiz
E-posta adresiniz
Yorumunuz
Doğrulama kodu ?

Copyright © 2006 - 2013  DESTEKYERI.COM

Embedded by  ® SANALOG Tüm Hakları Saklıdır . Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması  5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur. Makalelerin "alıntı" olduğunu belirterek yayınlayabilir ve kaynağı belirtmeniz önemlidir !!!