Exchange 2010 baaside varukoopiad ja taastamine: Osa 2/2

Lisatud 18. veebr | Lisanud Toomas Ruus

Eelmises osas sai vaadeldud, kuidas varukoopiat teha kasutades Windows Server Backup programmi. Selles osas vaatame edasi, kuidas antud varukoopiat kasutada baaside, postkastide või üksikute kirjade taastamiseks (single item restore). Teisisõnu taastame ainult baasi ennast, mitte tervet serverit (mida saab mitut moodi teha ja on ka lihtsam).

Ennem varukoopia tegemist oli Peter Houston postkastis kiri subjektiga “Before backup”, mille me nüüd “kogemata” ära kustutame ja mida oleks vaja nüüd taastada:

image

Esimese sammuna valime Windows Server Backup programmist taastamise (Recover…), mille peale avaneb aken:

Recover

Valida tuleb, kus kohas asub varukoopia, kas lokaalsel masinal või kuskil võrgukettal. Kuivõrd meie praegune varukoopia sai tehtud samale masinale, siis esimene valik on õige.

Date

Nüüd tuleb valida, mis kuupäeva (ja vajadusel ka kellaaja) seisuga taastada vaja on, viimast seisu pakutakse vaikimisi.

FilesVolumes

Valime, kas taastada teatud faile ja katalooge, või terveid voluume. Meil on ainult ühte baasi vaja taastada, siis valik on “Files and folders”.

Select

Selles aknas tuleb valida, mis failid või kataloogid taastame. Kui samas varukoopia nimekirjas on eraldi kataloogidena nii baasid kui transaktsioonid, siis taastada tuleb üks kataloog korraga, GUI kaudu ei saa taastada neid mõlemaid. Sellisel juhul tuleb taastada näiteks kõigepealt baasid, siis sama protseduur uuesti transaktsioonidega. Meil on nii baasid kui transaktsioonid samas kataloogis, seega selekteerime vasakult puust kataloogi 1.

image

See on nüüd oluline koht, kus eksida ei tasuks. Esimese valiku (Original location) tehes, taastatakse kogu vastav baas, kus hetkel töö jookseb ja tehakse läbi kõik taastamisega vajalikud protseduurid. Seda valikut läheb vaja siis, kui terve baas on puudu või vigane. Teine valik (Another location), on vajalik, et teha single item restore asju (ehk teine asukoht ja kasutame seda recover database baasina). Kuivõrd meie stsenaariumis ongi vaja taastada ainult ühte kirja, siis teine valik ja taastame failid E ketta RecoverDB1 kataloogi.

image

Viimane aken enne failide taastamise algust, tundub kõik õige olevat ja võibki vajutada Recover nuppu Meeldetuletuseks veelkord, et juhul kui baas ja transaktsioonid olid erinevates kataloogides, siis tuleb sama asi veelkord läbi teha ka transaktsioonidega. Kui kõik sai taastatud, siis peaks E:RecoverDB1 kataloogis olema selline pilt:

RecoveredFiles

Järgnevalt pange käima Exchange Management Shell ja minge samasse kataloogi, kuhu me failid taastasime, antud juhul siis E:RecoverDB1 kataloogi. Kõigepealt peame laskma käima nö soft recovery, et olemasolevad transaktsioonid baasile läbi mängiksid. Seda saab teha siis käsuga:

eseutil /r e01 /d E:RecoverDB11.edb /l E:RecoverDB1

Võti /r on soft recovery tegemiseks, E01 on baasi prefiks. Seda leiab kõige lihtsamalt, kui võtate 3 esimest sümbolit transaktsioonifailist või kui võtate checkpoint faili (.chk lõpuga) nime ilma laiendita, antud juhul on see siis E01. Võti /d ja katalooginimi koos baasiga, on baasi nimi ja asukoht, võit /l ja katalooginimi on transaktsioonide asukoht.

eseutil-r

Üldiselt peaks eseutil /r jooksma läbi ilma vigadeta kuni lõpuni. Kui aga ei juhtu, siis tuleb täiendavalt vaeva näha, et viia baas korrektsesse seisu, vastasel korral  pole seda võimalik külge võtta. Kogemuse põhjal tundub, et selline probleem tekkib, kui baas ja transaktisoonid on erinevatel ketastel, nagu ka käesolevas näites on. Ka siin on asi pooleli jäänud umbes 95% juures.

Juhul kui niimoodi juhtub, siis tuleb kasutada kangemat lähenemist, sama eseutil käsk, aga võtmega /p:

eseutil /p E:RecoverDB11.edb

Antud juhul üritatakse taastada baasi tabelite struktuur, nii et see oleks kasutuskõlbulik. Põhimõtteliselt võib siin tekkida ka infokadu, aga seda eelkõige siis, kui baas on juba ennem katkine olnud. Taastamise korral on enamasti põhjuseks see, et mingi transaktsiooni logi jupp on veel puudu ja selle käsuga sisuliselt ignoreeritakse viimaseid transaktsiooni logisid.

eseutil-p

Käsk lõppes õnnelikult, nüüd tuleks kontrollida, kas baas on korrektses puhtas seisus (terviklikus seisus). Seda võiks teha ka siis, kui recovery /r võti viga ei andnud. Selleks kasutame jällegi eseutil käsku võtme /mh, mis kuvab baasi päise:

eseutil /mh E:RecoverDB11.edb

eseutil-mh

Meid huvitab baasi päisest hetkel ainult üks rida, tõmbasin sellele ka punase joone alla. Me otsime Status välja ja selle väärtust, mis peaks olema Clean Shutdown. Kui staatus on Clean Shutdown, siis on baas korrektses seisus ja võime edasi minna. Nüüd tuleks tekitada taastatud baasi failidele Exchange taastamisbaas. Seda saab teha ainult Powershellist ja käsk näeb välja selline:

New-MailboxDatabase -Name RecoverDB1 -Server ex01 –Recovery -EdbFilePath E:RecoverDB11.edb -LogFolderPath E:RecoverDB1

RecoverDB

Kindlasti ei tohiks ära unustada võtit -Recovery, vaid nii tehakse see taastamisbaasiks. Võti –Name väärtus ei pea olema kataloogi nimega sarnane, vaid vabalt valitav, nii et oleks arusaadav.

Nüüd on meil ka Exchnge mõistes baas olemas ja võime selle külge mountida kas graafilisest EMC või EMS-st Powershell käsuga mount-Database RecoverDB1

Taastamine ise tuleb samuti teha Exchange Management Shellist kasutades Powershell käsku Restore-Mailbox. Sellel käsul on mitmeid võimalusi, taastada ühe inimese postkast teise inimese postkasti, taastada terve postkast ja liita kokku taastatud ja olemasolev postkast (merge), taastada kogu postkast eraldi kataloogi (ettevaatust postkasti quota seadetega, neid võib olla vaja suurendada!), taastada võtmesõnade järgi, taastada kirjade algus- ja/või lõppkuupäeva järgi jne. Igal juhul tasub uurida siin Restore-Mailbox süntaksit, et taastamine oleks võimalikult kiire ja efektiivne. Meie konkreetsel juhul taastan lihtsalt, tehes olemasolevale ja taastatava sisule merge käsuga:

Restore-Mailbox Holly -RecoveryDatabase RecoverDB1

Kui see käsk lõpetab, siis ongi meie kadunud kiri jälle tagasi:

After

Peale õnnestunud taastamist, tuleks ära koristada ka suure tööga saadud vaheproduktid. Kõike seda saab teha ka graafiliseses keskkonnas. EMS-i kasutades kõigepealt Remove-MailboxDatabase RecoverDB1, ning seejärel kustutada ära E kettal olev RecoverDB kataloog.

Eraldi artiklisse panen veel selle, kuidas tuleks teha, kui vaja taastada arhiivist või vaja taastada postkasti, millel kasutaja AD-st kustutatud. Sellisel juhul on algus samamoodi, nagu eelnevalt kirjas, ainult lõpp natuke teistmoodi. Artikli nimeks:

  • Exchange 2010 arhiivide taastamine

Artikli originaali leiad siit

Continue reading

Exchange 2010 baaside varukoopiad ja taastamine: Osa 1/2

Lisatud 2. veebr | Lisanud Toomas Ruus

Järgmises kaheosalises artiklis on vaatluse all, kuidas Exchange 2010-ga teha varukoopiaid ja kuidas taastada baasid,  mingit konkreetset kirja või teatud kriteeriumile vastavaid kirjasid. Esimeses osas siis backup ja teises taastamine. Loogiline

Kõigepealt tuleb meelde tuletada, et Exchange 2010 ei ole enam võimalik teha streaming backup, mida sai kõigi varasemate Exchange versioonidega teha. Selle asemel toetab Exchange 2010 ainult VSS-põhist (snapshot põhist) backupi lahendust (tegelikult on sama probleem ka Exchange 2007 SP2-ga, kui see on installeeritud Windows 2008 peale). Kellel raha rohkem, võib kasutada backup/restore lahenduse jaoks Microsofti System Center Data Protection Manager tarkvara (DPM) või mõnda kolmanda parteri toodet. Neil on tavaliselt võimalused oluliselt suuremad ja ka kasutusmugavus väga hea. Teine odavam valik on kasutada Windows 2008 ja R2-ga kaasatulevat Windows Server Backup-i (see asendab siis varasemates Windows versioonides kasutusel olnud NTBackup versiooni). Exchange Server 2010 installeerimisel lisatakse juurde plug-in, mis võimaldab Windows Server Backup abil teha varukoopiaid Exchange serverist ja kärpida ära ka üleliigsed /kasutatud transaktsioonide logid. Erinevalt DPM-st ei saa teha varukoopiat passiivsest baasist (juhul kui kasutusel on DAG). Selleks, et see backup läbi viia, tuleb teha serveril, kus me Exchange backupi teeme, aktiveerida kõik baasid (näiteks käsuga Move-ActiveMailboxDatabase käsuga). Teine võimalus on, et keelate registri muutusega Microsoft Exchange Replication service VSS writer võimaluse. Kes soovib seda teed minna, siis võib vaadata Technet artikli lõpust lõiku Using Windows Server Backup on Database Availability Group Members, kus seda protsessi kirjeldatud.

Windows Server Backup kasutamise jaoks tuleb Windows Serveril see omadus (feature) kõigepealt installeerida. Seda võib teha Server Manager abil või Powershellist. Igal juhul tuleks mitte installeerida Windows Server Backup command-line tools omadust, mis ei ole ühilduv Exchange Server 2010-ga. Kõige lihtsam on seda teha administratiivsetes õigustes avatud Powershellis:

Import-Module Servermanager

Add-WindowsFeature Backup

Vaatame läbi, kuidas taastada üksikut või üksikuid kasutaja kirju (kuivõrd tavalise kogu baasi taastamine on märksa lihtsam). Järgmisel pildil on näha Holly postkast, kus on Peteri saadetud kiri subjektiga “Before backup”:

image

Kuivõrd teen varukoopia eraldi serveri küljes olevale kettale, siis vaatan Disk Manager-st kettad üle:

image

Antud serveril on nii Exchange baasid kui transaktsioonid kettal D. Backup on plaanis teha kettale F. Nüüd tuleks käivitada Windows Server Backupi alt Scheduled backup (võib ka ühekordse backupi, aga seal valikuid vähem). Antud hetkel pole kogu serveri varundamine oluline, siis valime Custom:

image

Selleks, et toimiks transaktsioonide ära lõikamine (tühjendamine), siis tuleb valida kogu volume, mitte ainult kataloog, kus stored või transaktsioonid asuvad:

Selection

Nüüd on näha kõik voluumid ja kataloogid, millest varukoopiat teeme:

image

Advanced Settings alt tuleb valida VSS full Backup (jällegi oluline valik, et logide tühjendamine toimiks):

image

Järgnevalt tuleb valida, millal tehakse varukoopia:

image

Edasi jälle mõtlemiskoht – kuhu varukoopia tehakse (target). Valikud on lokaalse ainult selleks määratud kettale (dedicated disk), lokaalsele kettale või kuhugile võrgukettale. Kui valida esimene valik selleks määratud ketas, siis formaaditakse ja seatakse see ketas ainult Windows Server Backupi jaoks loetavaks. Meil oligi plaanis kasutada eraldi ainult selleks määratud ketast, mis oli tähe F all.

image

image

image

Viimane hoiatus ennem kui ketas kaob:

image

Ja ongi tehtud (ei tasu mu demobaasi suurusest heidutada lasta):

image

Disk Manageris uuesti kettaid vaadates on näha, et endine F ketas disk 3 on nüüd ümber organiseeritud:

image

Windows Server Backupi üks ebamugav asi on, et ei saa scheduldada harvemini kui kord päevas ja seada erinevaid varundamise töid (näiteks teisest kohast või teise asukohta). Sellisel korral tuleb kasutada Windowsi Task Manager abi, kus lisate ise wbadmin koos vajalike parameetritega. See protseduur on kenasti piltidega ära seletatud Paul Cunningham artiklis How to Schedule Windows Server Backup.

Järgmises osas üritame taastada kustutatud kirja just tehtud varukoopiast. Vaata ka:

  • Exchange 2010 baaside varukoopiad ja taastamine: Osa 2/2

Artikli originaali leiad siit

Continue reading
AWSOM Powered