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 Smile 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:\RecoverDB1\1.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:\RecoverDB1\1.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:\RecoverDB1\1.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:\RecoverDB1\1.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 arhiivi või taastada lahtiühendatud postkast. Sellisel juhul on algus samamoodi, nagu eelnevalt kirjas, ainult lõpp natuke teistmoodi. Artikli nimeks: