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ě.
Download

Prezentace ke stažení