Martin Pavlis http://www.pavlis.net
1. 5. 2012
Exchange Server 2010 SP2 a řešení problémů s daty v databázích Martin Pavlis Microsoft MVP
KPCS CZ, s.r.o. | http://www.kpcs.cz
Problémy databází • Přemýšlejte u návrhu/designu prostředí a snažte se chybám předejít, vyhnout se jim a nebo si zjednodušit řešení! – Např. zálohování vs. vysoká dostupnost
Martin Pavlis http://www.pavlis.net
Problémy databází • Když nastane problém: – Opravdu jej musíte řešit? Nedá se problém „obejít“ (např. přesunem schránek)? – Minimalizujte dobu, kdy je služba pro klienty nedostupná (např. při ESEUTIL, atd.)
Doporučené postupy • Pokud to jde, použiji/obnovím data ze zálohy! • Pokud budu cokoli dělat na produkčních datech, musím mít zálohu!
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Doporučené postupy • Nejsem v nervu (typ baskytarista ) a neskouším vše, co mi řekne Google! • Vždy zkusím jedno řešení, pokud nezabere, vrátím vše zpět!
Doporučené postupy • Pokud nevím, co dělám – nevrtám se do toho (a případně si pozvu někoho, kdo tomu rozumí)! Někdy zoufalý správce napáchá víc škod, než původní problém! • Bohužel je to opravdu tak
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Doporučené postupy • Existují mnohé nástroje a postupy a většina z nich vám negarantuje obnovu dat, naopak velmi často o nějaká data přijdete! Víte o tom? Jste na to připraveni? A co když to budou nějaká důležitá data?
Doporučené postupy • Mějte vždy aktuální dokumentaci! • Pokud se mění (zásadně) prostředí, je potřeba provést revizi návrhu/designu! • Je skvělé, pokud máte představu o vývoji prostředí v čase (pravidelné měření výkonu, pravidelné kontroly zdraví)
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Doporučené postupy • • • •
Zálohujete? Opravdu? Opravdu? A jak to, že jste si tak jisti?
Doporučené postupy • Je dobré vědět a znát možné postupy obnovy. Ty se ale v čase mohou měnit v závislosti na vývoji a změnách v aplikaci/prostředí. Proto je důležité postupy sepsat a pravidelně kontrolovat a hlavně aktualizovat!
1. 5. 2012
Martin Pavlis http://www.pavlis.net
.. a na závěr úvodu! • Víte, co je DRP (Disaster Recovery Plan)?
Problémy s databázemi • Menší problém, alespoň na první pohled (který se ale může rychle posunout ). Neřešit znamená si koledovat – většině velkých problémů se dá předejít. • Opravdu..!
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Problémy s databázemi • Monitorujete databáze? A co disky, na kterých databáze leží? • A co dalšího monitorujete? Stačí to? • A co třeba výkon a jeho vývoj v čase (opět změny v prostředí vs. návrh/design)? • Zamyslete se nad změnou z reaktivní na proaktivní dohled (např. SCOM)
Problémy s databázemi • Větší problém znamená, že už je většinou pozdě a jen se (čímkoli a jakkoli) hasí napáchané škody
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Exchange ale není jen Exchange • Je problém opravdu v Exchange? Není způsoben něčím jiným? • Co například změny v Active Directory? Nebo v antiviru? A co zálohování? Nebo něco jiného (např. BlackBerry)? Nezměnil někdo někde něco? Pokud nemáte Change Management, nemůžete si být nikdy 100% jisti
Nejčastější problémy • Špatná oprávnění v Active Directory (SeSecurityPrivilege) – Event 2102, 9004, 1005, 9519, 1029, 9074, 1121, 125 – http://support.microsoft.com/?id=314294 • Podobné problémy s právy při přesunu schránek, přístupu z Android device, nebo při upgrade Exchange organizace
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Nejčastější problémy • Problém s hardware – Event 474, 1018 – http://support.microsoft.com/?id=327334
Nejčastější problémy • Antivir na Exchange serveru – Event 486, 455, 413, 5 – http://support.microsoft.com/kb/896143
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Nejčastější problémy • Nedostatečná opravnění Exchange služeb, díky špatnému členství v AD skupinách (Exchange Domain Servers) – Event 7024 – http://support.microsoft.com/?id=283179
Nejčastější problémy • Špatná NTFS oprávnění do Exchange složek – http://support.microsoft.com/?id=307242
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Nejčastější problémy • Málo místa na discích – Event 519, 9559 – http://support.microsoft.com/?id=294318
Nejčastější problémy • Problémy zálohovacího řešení – Kontaktujte dodavatele a řešte s ním
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Řešení • Pokud chyba nezpůsobuje pád databáze, řeším pokud možno online postupy (přesun dat do nové databáze, pokus o online opravdu dat, atd.)
Řešení • Pokud se databáze nedá připojit (a jsem si jist, že je to problém v databázi): – Vždy obnovím data ze zálohy! – Pokud to nejde a budu s databází pracovat, udělám si na začátku zálohu!
1. 5. 2012
Martin Pavlis http://www.pavlis.net
ESEUTIL • • • • • • • •
ESEUTIL /D – Used for offline defragmentation of a Database ESEUTIL /R – Used for recovery purposes of a Database ESEUTIL /g – Performs an integrity check of a Database ESEUTIL /k – Performs a checksum test of a Database ESEUTIL /p – Repairs a Database when it’s corrupt (and beyond recovery) ESEUTIL /m – can dump header information of a Database and Log Files ESEUTIL /y – can copy large files like Mailbox Database files efficiently ESEUTIL /c – Is used to ‘hard recover’ a database during an online backup
ESEUTIL /mh • Eseutil /mh “databáze“ – Zjistí mi „zdraví“ databáze: • clean shutdown (přesuvám všechny transakční logy do dočasného umístění a zkouším připojit databázi) • dirty shutdown
1. 5. 2012
Martin Pavlis http://www.pavlis.net
ESEUTIL /ml • Eseutil /ml “cesta\předpona_logů” – Pokud jsou všechny logy zdravé, provedeme Soft Recovery: • Eseutil /r „předpona_logů“ /l “cesta_logy” /d “cesta_DB”
Hard Repair • • • •
Reálná hrozba ztráty dat! Nedělejte, pokud nemusíte Po dokončení musím provést defragmentaci! Po dokončení musím vytvořit nové zálohy!
1. 5. 2012
Martin Pavlis http://www.pavlis.net
ESEUTIL /p • Hard Repair: – eseutil /p “cesta_DB”
• Defragmentace: – eseutil /d “cesta_DB”
Offlile defragmentace? Normálně raději ne •
http://blogs.technet.com/b/exchange/archive/2004/10/25/247342.aspx
•
Database Maintenance in Exchange 2010 – Get-MailboxDatabase MDB1 -Status | FL AvailableNewMailboxSpace – Get-PublicFolderDatabase PFDB1 –Status | FL AvailableNewMailboxSpacea – http://blogs.technet.com/b/exchange/archive/2011/12/14/database-maintenancein-exchange-2010.aspx
1. 5. 2012
Martin Pavlis http://www.pavlis.net
1. 5. 2012
Logická oprava databáze • Exchange 2010 SP1: Database Integrity checking (náhrada ISINTEG) – New-MailboxRepairRequest – New-PublicFolderDatabaseRepairRequest – http://blogs.technet.com/b/exchange/archive/2010/08/ 23/3410708.aspx
New-MailboxRepairRequest • http://technet.microsoft.com/en-us/library/ff625221.aspx – – – –
Search folder corruptions Aggregate counts on folders that aren't reflecting correct values Views on folders that aren't returning correct contents Provisioned folders that are incorrectly pointing into unprovisioned parent folders • •
New-MailboxRepairRequest -Mailbox
[email protected] -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView New-MailboxRepairRequest -Mailbox administrator -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView -WhatIf
Martin Pavlis http://www.pavlis.net
New-PublicFolderDatabaseRepairRequest • http://technet.microsoft.com/enus/library/ff715326.aspx • New-PublicFolderDatabaseRepairRequest Database PFD01 -CorruptionType ReplState DetectOnly
Dobré si pamatovat! • • • • • • • •
Jen 1 aktivní úloha/server Pouze 100 schránek najednou/server Neexistuje parametr –Server (pro všechny schránky na daném serveru) Oprava spadne při odpojení databáze Proces se nedá zastavit, jedině odpojením databáze Schránka/databáze, která je opravována je nedostupná Pokud je schránka v karanténě, proces opravy ji přeskočí Během opravy se schránka nedá přesouvat, ale přesune se po dokončení oprav
1. 5. 2012
Martin Pavlis http://www.pavlis.net
… • Nejvíc vám dá praxe.. • Testujte různé scénáře obnov/oprav a nečekejte až do chvíle, kdy je pozdě.. • Držím palce a hlavně pamatujte – typ baskytarista !
A pokud máme ještě čas.. • .. tohle by se mohlo hodit
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Mailbox Auditing (SP1) • Audit mailbox access by administrators, delegates, and mailbox owners • Audit actions taken on mailbox items such as – Moving or deleting a message – Using SendAs or SendOnBehalf rights to send messages – Accessing a mailbox folder or a message
• Use ECP to generate report on non-owner access • Use the Shell to search mailbox audit logs
Mailbox Auditing (SP1) • Enable/disable mailbox auditing Set-Mailbox -Identity “Martin Pavlis” -AuditEnabled $true Set-Mailbox -Identity “Martin Pavlis” -AuditEnabled $false
• Specify specific logging settings Set-Mailbox -Identity “Martin Pavlis” -AuditDelegate MessageBind,FolderBind
• Search audit log Search-MailboxAuditLog -Identity mpavlis -LogonTypes Admin,Delegate -StartDate 1/1/2010 -EndDate 12/31/2010 -ResultSize 2000 Search-MailboxAuditLog -Mailboxes mpavlis,mknotek -LogonTypes Admin,Delegate -StartDate 1/1/2010 EndDate 12/31/2010 -ResultSize 2000
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Mailbox Data Import/Export (SP1) • Import from or export to PST files asynchronously using new cmdlets and MRS (Mailbox Replication service) • By default, Exchange exports and imports all empty folders, special folders, and subfolders to the target location – Specify folders using IncludeFolders or ExcludeFolders parameters
• See Understanding Mailbox Import and Export Requests for full details
Mailbox Assistants Troubleshooter (SP1) • •
•
Mailbox Assistants perform event-based and time-based functions (e.g., free/busy, resource booking, conversations, calendar repair, etc.) Test-AssistantHealth can be used to verify the health of the Microsoft Exchange Mailbox Assistants services, to recover from health issues, and to report on the diagnosis or recovery action Includes ResolveProblems parameter which can – –
Start the service if it is not running Restart the service if it is hung or deadlocked for more than 15 minutes
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Database Log Growth Troubleshooter (SP1) • Troubleshoot-DatabaseSpace.ps1 detects excessive log growth issues and takes action • By default – Runs every 15 minutes to determine available free space – If free space < 25%, tools runs an algorithm to determine if excessive log growth is cause • If it is cause, the tool quarantines or throttles mailboxes causing excessive growth, as appropriate
• Defaults defined in StoreTSConstants.ps1
Database Log Growth Troubleshooter (SP1) • Tracks a variety of metrics, such as log generation rate and available disk space for database and log file disks • Determines top 25 users that accessed mailbox database during the last one-hour period • Quarantines mailboxes for 6 hours (users have no access to email) • If it cannot drop the generation rate, it logs an event, removes the database from provisioning
1. 5. 2012
Martin Pavlis http://www.pavlis.net
Database Latency Troubleshooter (SP1) • Troubleshoot-DatabaseLatency.ps1 used by SCOM, but can be used outside of SCOM as a schedule task – Defaults defined in StoreTSConstants.ps1 • • •
Checks for database latencies above value of LatencyThreshold (default is 70 ms) Checks disk’s transfer rate against read rate and read latency performance counters Checks to see if any user is using more than one thread for duration of TimeInServerThreshold (default is 10 min)
Database Latency Troubleshooter (SP1) • Disk’s transfers-per-second rate < DiskReadRateThreshold • Disk’s seconds-per-transfer rate > DiskReadLatencyThreshold – If both conditions are true, it indicates that disk has high latency under low load, which often means the disk is going bad and needs replacing
• User using more than one thread for duration of TimeInServerThreshold – Mailbox quarantined for 6 hours
1. 5. 2012
Martin Pavlis http://www.pavlis.net
1. 5. 2012
Log generation per minute per database Get-MailboxDatabase -Server $env:ComputerName | %{ Get-ChildItem -Path $_.LogFolderPath -Filter "*????.log" | Group-Object -Property {$_.LastWriteTime.Day,$_.LastWriteTime.Hour,$_.LastWriteTime.minute} | ?{$_.Count -gt 1} | Measure-Object -Property Count -Min -Max -Ave }
Count : 43 Average : 4.11627906976744 Maximum : 28 Minimum : 2
Log generation per minute per server Get-MailboxDatabase -Server $env:ComputerName | ?{ %{$_.DatabaseCopies | ?{$_.ReplayLagTime -ne [TimeSpan]::Zero -And $_.HostServerName -eq $env:ComputerName} } } | %{ $count = 0; $MinT = [DateTime]::MaxValue; $MaxT = [DateTime]::MinValue; Get-ChildItem -Path $_.LogFolderPath -Filter "*????.log" | %{ $count = $count + 1; if($_.LastWriteTime -gt $MaxT){ $MaxT = $_.LastWriteTime}; if($_.LastWriteTime -lt $MinT){ $MinT= $_.LastWriteTime} }; ($count / ($MaxT.Subtract($MinT)).TotalMinutes) } | Measure-Object -Min -Max -Ave
Count Average Maximum Minimum Property
: : : : :
317 3.18927444794953 58 2 Count
Martin Pavlis http://www.pavlis.net
1. 5. 2012
Školení této oblasti naleznete v nabídce Počítačové školy Gopas na www.gopas.cz Každý odevzdaný dotazník bude v místě registrace odměněn tričkem s hlavou plnou vědomostí. Vaše spokojenost je pro nás vždy na prvním místě.