Yazan: Murat Yıldırımoğlu (muraty1205@yahoo.com)
Not: Bu yazıda
anlatılanlar yalnızca Exchange Server 5.5 için geçerlidir.
Exchange Server piyasaya 1996 yılında çıktı ama
büyük bir gelişme kaydederek kısa zamanda dünyanın
bir numaralı elektronik posta sunucu programı oldu. Türkiye’de de aynı şekilde
pazar payını hızla genişletti ve bir numaraya
yerleşti.
Bir eğitimci olarak Exchange Server en zevk aldığım konulardan birisi.
Eğitimlerim
sırasında Exchange Server’ın
verilerinin yedeklenmesi konusunda büyük sorunlar yaşadığını gördüm: Veriler ya düzgün yedeklenmiyor
ya da düzenli
yedek alınıyor ama bir hata
durumunda yedekler geri yüklenemiyor.
Oysa çok basit işlemler ile Exchange Server’ın verilerini yedekleyebilir ve bir hata
ya da felaket
durumunda yedeklerimizi geri yükleyebiliriz. Bu basit işlemleri bu yazıda bulacaksınız.
Exchange Server’ın verileri üç dosyada saklanır:
1)
DIR.EDB:
Bu dosya Exchange Server’da
tanımlanan posta kutularının, dağıtım listelerinin, özel alıcıların, ortak klasörlerin, konnektörlerin vb. nesnelerin kimlik bilgilerinin saklandığı yerdir.
2)
PRIV.EDB:
Bu dosya kimlik bilgileri DIR.EDB bulunan nesnelere (ortak klasörler hariç) gelen giden postaların
saklandığı yerdir.
3)
PUB.EDB:
Bu dosya kimlik bilgileri DIR.EDB bulunan ortak klasörlere gelen
giden postaların saklandığı yerdir.
Yukarda saydığımız
dosyalardan DIR.EDB dosyası
\exchsrvr\dsadata klasöründe,
diğer iki dosya ise \exchsrvr\mdbdata
klasöründe bulunurlar.
Exchange
Server veri bütünlüğüne büyük önem verdiği
için yukardaki dosyaların yanısıra çok sayıda log dosyası da bulunur.
Log dosyaları veritabanı
üzerinde yapılan işlemleri gösterir.
Exchange Server’ın offline yedeklenmesi yukarda saydığımız üç
dosyanın kopyalanmasından oluşur. Log dosyalarını
yedeklemeye gerek yok.
Offline yedekleme dediğimize
dikkat edin. Bu sözcük ile yedeklemeden
önce Exchange Server’ı durdurmamız gerektiğini anlatıyoruz.
Exchange Server’ı durdurup
bu üç dosyayı
güvenli bir yere kopyaladıktan sonra Exchange Server servislerini
tekrar başlatarak Exchange Server’ı online duruma getirebiliriz.
Dosyaları
kopyalayacağımız güvenli yer manyetik bant
kartuşu olabileceği gibi ağ üzerinde bulunan başka bir bilgisayarın
uygun büyüklükteki bir diski de olabilir.
Bu ikinci seçenek
yedeklemenin daha hızlı gerçekleşmesini de sağlar.
Yedeklemeyi
düzenli bir şekilde yapabilmek için bir toplu
iş dosyası (batch file) yaratabiliriz. Toplu iş dosyamızda yer
alan komutlarla
önce Exchange Server hizmetlerini
durduracağız, sonra dosyaları kopyalacağız, en son olarak da Exchange Server hizmetlerini tekrar çalıştıracağız.
Bu toplu iş dosyasında
Exchange Server’ın hizmetlerini
durdurmak için Net Stop komutunu, başlatmak için de Net Start komutunu kullanabiliriz. Örnek olarak yedekle.bat adındaki bir dosya
ile Exchange Server verilerini
K: sürücüsündeki Yedek klasörüne kopyalayalım.
Yedekle.bat
REM Hizmetler durduruluyor
Net Stop
“Microsoft Exchange Internet Mail Service”
Net Stop
“Microsoft Exchange Event Service”
Net Stop
“Microsoft Exchange Message Transfer Agent”
Net Stop
“Microsoft Exchange Information Store”
Net Stop
“Microsoft Exchange Directory”
Net Stop
“Microsoft Exchange System Attendant”
REM Dosyalar kopyalanıyor
Copy
c:\exchsrvr\dsadata\dir.edb k:\yedek
Copy
c:\exchsrvr\mdbdata\priv.edb k:\yedek
Copy
c:\exchsrvr\mdbdata\pub.edb k:\yedek
REM Hizmetler yeniden başlatılıyor
Net Start
“Microsoft Exchange System Attendant”
Net Start
“Microsoft Exchange Directory”
Net Start
“Microsoft Exchange Information Store”
Net Start
“Microsoft Exchange Message Transfer Agent”
Net Start
“Microsoft Exchange Event Service”
Net Start
“Microsoft Exchange Internet Mail Service”
NT’nin AT komutunu
kullanarak yedekleme işlemini belirli zamanlarda otomatik olarak yaptırabiliriz. AT komutunun çalışması için Control Panel’den Services’dan Scheduler ya da Task Scheduler hizmetinin çalışır durumda olması gerektiğini unutmayalım.
Yedekleme
saati olarak sabah saatlerini seçersek Exchange Server’ın durdurulması kullanıcıları çok etkilemeyecektir. Örnek olarak MAILSERVER adındaki bir Exchange Server bilgisayarında
hergün saat üçte, yukarda oluşturduğumuz
yedekle.bat’ın çalıştırılmasını
sağlayalım:
AT
03:00 \\MAILSERVER yedekle.bat
Yukardaki işlemlerle Exchange Server’ın
offline olarak yedeklemesini
sağladık. Peki, geri yüklemeyi
nasıl yapacağız? Hatta durumu biraz daha
abartalım; Exchange Server yüklü
makina yok oldu. Ne yapmam gerekiyor?
Yedeklerimiz sağlam bir şekilde duruyorsa kaygılanmaya
gerek yok. Geri dönüş de kolay
bir şekilde sağlanabilir.
Yeni bir makinaya NT’yi kurar aşağıdaki
gibi de Exchange Server verilerini
yedekten geri yükleriz.
Geri dönüş için dikkat
etmemiz gereken şeyler var:
1)
Yeni kurulacak makinanın adı eskisiyle
aynı olmalı.
2)
Yeni makinanın IP adresi eskisiyle aynı olmalı ya
da DNS sunucularda posta sunucusu olarak yeni makinanın
IP adresi girilmeli.
3) Etki alanı (domain) yapısı korunmalı. Burası önemli. Eski etki alanını muhakkak korumalısınız. Yeni bir etki
alanı kurup buna eski etki
alanının adını vermek çözüm değil.
Çünkü adı aynı bile olsa
yeni etki alanı farklı bir
SID (Security ID)’e sahip olacaktır.
Bu da geri yüklemeyi olanaksız hale getirir.
Yukardaki
kısıtlara dikkat ederek bir makinaya
NT kurduktan sonra şu işlemleri yapacağız:
1)
Exchange
Server’ı kuracağız. Kurarken Exchange organizasyon adı, site adı ve kullanılan hizmet
hesabı (service account) eski
kurulumla aynı olmalı
2)
Bir önceki kurulumda Internet Mail
Service yüklenmişse, haber grubu beslemesi (newsfeed) tanımlanmışsa bu aşamada yeni kuruluma
da bunları yüklüyeceğiz. Internet Mail Service bir
konnektördür ve ona ilişkin bilgi
Exchange Server’ın dizininde
(directory) sakladır.
3)
Exchange
Server durdurulacak (artık nasıl yapıldığını biliyoruz, değil mi?).
4)
Yedek klasöründe sakladığımız üç adet veritabanı dosyasını (DIR.EDB, PRIV.EDB ve
PUB.EDB) yerlerine kopyalayacağız.
5)
\exchsrvr\dsadata\ altındaki log uzantılı dosyalar silinecek. Bu dosyalar şu andaki DIR.EDB dosyasına ilişkin dosyalar. Halbuki biz eski bir DIR.EDB yüklüdeik. Dolayısıyla da veritabanı dosyası ile log dosyaları uyuşmayacak. Silmemizin nedeni bu. “Peki, log dosyasız nasıl çalışacağız?” diye sorarsanız yanıtı basit: Bu dosyaların olmadığı anlaşılınca yeni log dosyaları yaratılıyor. Sorun yok.
6)
Control
Panel’deki Services uygulaması
içinden önce “Microsoft
Exchange System Attendant” hizmeti sonra da “Microsoft Exchange
Directory” hizmeti başlatılacak.
7)
Komut satırına inilecek, exchsrvr\bin klasörüne geçilecek. Orada şu komut
verilecek:
ISINTEG –PATCH
ISINTEG komutunun
açıklamasına bakarsanız bir offline restore işleminden sonra bu komutun
verilmesi gerektiğini görürsünüz. Biz de bunu
yaptık.
8)
Şimdi sırasıyla diğer Exchange Server hizmetlerini
çalıştırıp Exchange Server’ı
faaliyete geçirebiliriz.
Yukarda açıkladığım
yöntem çalışan ve işgören bir
yöntem. Basit olduğunu da düşünüyorum
ama açıklamalardan anlayabileceğiniz
gibi bir sürü şeyi belli
bir sırayla yapmanız gerekiyor. Bu yöntemin bir de bariz dezavantajı var: Yedekleme yaparken Exchange Server’ın durdurulması. Her ne kadar bu
işlemi gece yarısına atarak etkilerini minimuma indirmeye çalışıyorsak da yoğun e-posta
alışverişi yapan yerler için gerçek
bir dezavantaj bu. Peki, ne
yapacağız? Bu türlü
durumlarda daha profesyonel çözümlere gideceğiz.