Thursday, July 29, 2010

Windows 2008 uzerinde Exhange Server 2007 Yedekleme sorunlari analizi
VSS Troubleshooting
Exchange Server 2007’de VSS ile alinan backup problemlerinin cozumu, islemin karmasikligi yuzunden zaman alabiliyor. Ozellikle CCR kullaniliyorsa, karmasiklik daha da artiyor ve problemin asil kaynagini bulmak zor oluyor. Problem; Exchange servislerinden (Information store veya Exchange Replication service), VSS servislerinden veya kullanilan backup yazilimindan kaynaklaniyor olabilir. Asagidaki adimlar kullanilarak problemin kaynagini tespit etmenize yardimci olabilir.
VSS t/shooting’de ilk adim. VSS Writer’larin durumlarinin kontrolu olmali. Asgidaki komutla (command prompt) bunu gorebilirsiniz.
Vssadmin list witers.
Cikti asagidaki gibi olacaktir. Exchange server 2007 yedegi aliyorsaniz, ciktida ‘Microsoft Exchange Writer’ ve ‘System Writer’in listelendigine ve stable olduklarindan emin olun.



Backup isleminde kullanilacak writer’in state’inin “Stable” oldugundan emin olun. Eger Failed veya backup almadiginiz halde “Waiting for completion” gibi bir state’de ise backup oncesi ‘Stable’ hale getirmeniz gerekli. Bunu VSS ve Ms Exchange Replication (MsExchangeRepl) servislerini yeniden baslatarak yapabilirsiniz.

Net stop VSS
Net Stop MsExchangeRepl
Net Start VSS
Net Start MsExchangeRepl

Bu islemden sonra Vssadmin list writers komutu ile ilgili Writer’in stable oldugunu kontrol ediniz.

Diger bir adimda backup isleminde gorev olan servisler icin eventlog seviyesini arttirmak. Bunun icin asagidaki servislerin event log seviyesini Expert yapiniz.
• MSExchange Repl\Service
• MSExchange Repl\Exchange VSS Writer
• MSExchangeIS\9002 System\Exchange Writer
• MSExchangeIS\9002 System\Backup Restore

Asagidaki komutla bu islemi yapabilirsiniz.
• Set-EventLogLevel "MSExchange Repl\Exchange VSS Writer" -Level Expert
• Set-EventLogLevel "MSExchange Repl\Service" -Level Expert
• Set-EventLogLevel "MSExchangeIS\9002 System\Exchange Writer" -Level Expert
• Set-EventLogLevel "MSExchangeIS\9002 System\Backup Restore" -Level Expert

Bu islemden sonra Application log’a dusecek olasi hatalar sizi cozume ulastirabilir. Sorunun backup yazilimindan kaynaklanip kaynaklanmadigini ise BETEST aracini kullanarak bulabilirsiniz.

BETEST Windows VSS SDK’si ile gelen bir uygulama. Bu arac Vss requestor olarak calisip, VSS uzerinden exchange yedegi almamizi sagliyor.
Windows 2008 icin Windows SDK’i asagidaki linkten indirebilirsiniz.
http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en

Tum SDK’i Exchange server’in kurulu oldugu makineye kurmaniza gerek yok. Herhangi bir x64 makineye SDK’i kurup (sadece developer tools’u kurmaniz yeterli) sadece ilgili VSSTools klasorunu exchange uzerine kopyalamaniz yeterli. 64bit icin VSS tools klasoru default kurulumda asagidaki yolda oluyor.

C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\x64\vsstools
VSSTools klasorunu exchange makineye tasidiktan sonra yedeginiz alacagimiz store’lar icin bir liste olusturmamiz gerekiyor. Listeyi xml veya text tabanli olusturabilirsiniz. Xml icin ornek vsstools icinde mevcut, burada text tabanli liste icin ornek verecegim. Text tabanli bilesen listesinde format asagidaki gibi olmali.

"": "" {"target" # "new target", ...}, ..."" : '",...";

Ornegin;
"{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\SMEXVMB03\25a14af4-35b8-49c3-b63b-348e49d80733";

WriterID : Ilgili Writer ID. Ornegin Exchange icin ‘Microsoft Exchange Writer’. Bunun ID’sini ‘vssadmin list writers’ ciktisindan alabilirsiniz.




: Ornekteki formatta yazilir. En sondaki GUID ilgili storage grubun guid’i. Bunu da asagidaki komutla alabilirsiniz

Get-StorageGroup xxx |fl name,guid




Eger yedegi pasif node uzerinden veya LCR’in pasif kopyasini almak istiyorsaniz, logical paht’e ‘Replica’ eklemeniz gerekiyor. CCR ve LCR’in pasif kopyasi icin format asagidaki gibi olacak.

"{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\Replica\SMEXVMB03\25a14af4-35b8-49c3-b63b-348e49d80733";
Birden fazla storage grup’u ayni anda almak isterseniz ‘componnet logical path’ler arasina bosluk girerek yazabilirsiniz. En sonu “;” ile bitirmeniz gerekiyor.

Asagidaki gibi.
"{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\SMEXVMB03\25a14af4-35b8-49c3-b63b-348e49d80733" "Microsoft Exchange Server\Microsoft Information Store\SMEXVMB03\3fc7815f-cd3a-4bac-b63b-348e49d435d39”;

Bu formatta hazirladiginiz text’i component.txt olarak kaydedin ve asagidaki komutla yedegi baslatin.

BETEST.exe /B /E /T FULL /S output.XML /C components.txt /D c:\betest > output.txt

/B: backup only
/T: backup türü, full, copy, incremantal vs.
/S: geri donuste isinize yaracak output ciktisi.
/D yedegin konulacagi directory.

Yedegi baslattiktan sonra event viewer application log uzerinden islemleri takip edebilirsiniz. Eger full backup aliyorsaniz, basarili bir backup sonrasinda aktif kopya uzerinde loglar basarili bir sekilde silinecektir. Asagidaki event’i aktif kopyada görüyor olmaniz gerekiyor.

ESE BACKUP event 916
Information Store (7632) Deleting log files E:\SMEXVMB03\LOG02\LOG\E010006AEB6.log to E:\SMEXVMB03\LOG02\LOG\E010006B090.log.

Exchange Server 2007 Service Pack 3 kurulduktan sonra CCR’da pasif node uzerinden yedek alindiginda loglarin silinemesi ile ilgili bilinen bir sorun var. Bu durum da aktif kopya uzerinde yukaridaki event yerine, asagidaki event dusuyor ve loglar silinmiyor. Bu yazinin tarihi itibariyle bu sorun henuz fix edilmemisti, eger bu semptomlari aliyorsaniz Microsoft destek hattindan ilgili fixi alabilirsiniz. Veya hotfix yazilana kadar yedegi aktif node uzerinden almaniz gerekebilir.

Log Name: Application
Source: ESE
Date: 7/27/2010 9:00:46 AM
Event ID: 214
Task Category: Logging/Recovery
Level: Error
Keywords: Classic
User: N/A
Computer: activeNode.contoso.com
Description:
MSExchangeIS (2004) First Storage Group: The backup has stopped with error -521.


VSS’de karsilacagini diger bir bilinen sorun ise Writer listesinde ‘System Writer’ in listelenmemesi. Bu durumda da Exchange yedegi alinmasinda problem cikmakta. Bu genelde asagidaki klasorlerin yetkilerinden kaynaklanmaktadir. System ve Administrators’in bu klasorler ve icindeki item’lar uzerinde yetkili olduklarindan emin olun.

• %Windir%\Winsxs\FileMap
• %windir%\winsxs\Temp\PendingRenames

Bundan sonraki tshooting adimlari ilgili coponentin trace’i alinarak yapilabilir.Fakat bu trace’in analizi icin Microsoft Destek merkezinden yardim almaniz gerekmektedir.

ExTrace kullanilarak ilgili tag’lerin trace’ini alabilirsiniz.

Asagidaki registry degisikligi ilse VSSTracing’i acabilirsiniz.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Debug\Tracing]
"TraceFile"="C:\\VSSTrace.log"
"TraceToFile"=dword:00000001
"TraceToDebugger"=dword:00000001
"TraceForceFlush"=dword:00000000
"TraceFileLineInfo"=dword:00000001
"TraceEnterExit"=dword:00000001
"TraceLevel"=dword:ffffffff

VSS ile ilgili asagidaki fixler mevcut. Bunlari kontrol etmenizde fayda var.
http://support.microsoft.com/default.aspx?scid=kb;EN-US;975928
http://support.microsoft.com/default.aspx?scid=kb;EN-US;983425

Alintilar:
http://msdn.microsoft.com/en-us/library/bb530721(VS.85).aspx
http://msexchangeteam.com/archive/2008/08/25/449684.aspx