Aktuálně na blogu
Nejčtenější na blogu
Reklama
Import datových souborů PST do úložiště Exchange 2010
Upgrade firemní pošty na Exchange (2010/2013) z jiného POP3/IMAP serveru s sebou nese také nutnost importovat data uživatelů z lokálních PST souborů do datového úložiště na MS Exchange serveru. Následující příspěvek mapuje základní postup importu a představuje detailně příkazy, které je nutné při importu použít. Postup lze aplikovat primárně na Exchange verze 2010 (testováno), ale předpokládám, že půjde přenést i na jiné verze.
Na internetu je několik podrobných návodů (především v angličtině), které popisují import lokálních PST souborů do úložiště Microsoft Exchange. Nicméně trošku problém už znamenalo najít podrobnější článek, který by řešil i případné chybové stavy a především to, jak je diagnostikovat a případně z nich vybruslit. Postupně jsem si tedy zkompletoval vlastní postup a sadů příkazů, pomocí kterých nebyl problém importovat střední firmu o velikosti cca 100 mailboxů. Tento postup s podrobnějším vysvětlením nabízím i pro ostatní administrátory.
Provedení samotného importu je celkem jednoduchá záležitost, z vlastní zkušenosti ale mohu potvrdit, že problémy nastanou jakmile se objeví chybné importy, u kterých je nutné diagnostikovat problém a ten následně opravit a v importu pokračovat.
Exchange Management Shell
Uvedený příkaz nikdy neuškodí ale když je potřeba, tak pomůže. Ve finále jsem ho spouštěl před importem každého uživatele pro jistotu.
Tento příkaz zařadí požadavek do fronty a server jej začne zpracovávat, jakmile bude mít volné prostředy (což bývá většinou okamžitě). Zahájení importu mohou oddálit již probíhající importy, popř. jiné vytížení serveru. Ke zjištění stavu všech probíhajících importů využijeme následující příkazy.
Smazání je potřeba potvrdit jednotlivě [Yes] nebo pro všechny [All]:
Report je celkem obsáhlý a obsahuje informace o všech aktuálně sledovaných importech. Pokud byl některý z importů zastaven z důvodu chyby, nalezneme v reportu podrobné informace o problému, včetně konkrétní zprávy, která jej způsobila a důvodu, proč se tak stalo.
Nalezený problém musíme opravit (změna nastavení Exchange, oprava datového souboru) a následně můžeme v importu pokračovat.
Pokud nedokážeme chybu opravit, můžeme povolit toleranci chybných položek a tím pádem pokračovat v importu bez nutnosti opravovat zdroj dat. Záleží ale na zvážení situace, zda je vhodné akceptovat ztrátu dat, nebo je nutné například krátkodobě upravit nastavení pravidel Exchange tak, aby import proběhl.
Pokud chceme povolit toleranci více jak 50 chybných položek, je nutné explicitně specifikovat možnost velké ztrátovosti dat, což určíme doplněním parametru -AcceptLargeDataLoss. Kompletní příkaz pak bude vypadat následovně:
V tuto chvíli můžeme opět začít monitorovat stav importu a zkontrolovat, zda proběhne již v pořádku.
Exchange Management Shell
Příkazy pro import dat budeme zadávat do příkazové řádky Exchange Management Shell, což je hostovaná konzole v Mikrosoftím příkazovém řádku PowerShell. Při spuštění konzole dojde k inicializaci skriptu, který připojí konzoli k instanci Exchange serveru a následně je připraven přijímat příkazy. Konzole je typicky k dispozici na serveru, kde ji Exchange instalován, případně si ji můžete instalovat i na jakýkoliv jiný počítač v síti.Exchange Management Shell
Konfigurace Exchange před importem
Pokud máme čerstvou instalaci Microsoft Exchange, věnujeme potřený čas nastavení limitů (například max. velikost příchozí zprávy) a kvóty jednotlivých uživatelů. Pokud totiž přecházíme z nekontrolovaného prostředí, tedy kdy v datových souborech mohou být zprávy libovolného typu a velikostí, může to během importu působit nemalé potíže. Celý import probíhá totiž tak, že zprávy prochází přes všechny kontroly a limity konfigurované systému. Osobně jsem při importu řešil především tyto problémy:- Objem importovaných dat přesáhl kvótu uživatele
- Importovaná zpráva byla příliš velká (limit na jednu zprávu)
- Poškozený PST soubor
Lokalizace složek uživatele
Před spuštěním importu do schránky uživatele je dobré si uvědomit, že po založení schránky uživatele je nastaveno jeho jazykového prostředí podle jazykového nastavení konzoly správy Exchange (pokud pracujete s grafickou konzolí) nebo z jazykového prostředí používané příkazové řádky. Já osobně jsem měl Exchange Management konzoli instalovanou jak u sebe na českých Windows, tak i na serveru, kde byla původní anglická mutace Windows Server 2008 R2. Pokud jsem tedy založil schránku na serveru, byla schránka vytvořena v anglickém profilu a tudíž měl uživatel anglicky pojmenované výchozí složky (Doručená pošta vs Inbox apod.). Pokud chceme změnit lokalizaci složek uživatele, lze použít následující příkaz:Set-MailboxRegionalConfiguration -Language "cs-CZ" -LocalizeDefaultFolderName:$true –Identity FooUser
Spuštění a sledování průběhu importu
Základní sekvence pro import jednoho či více datových souborů sestává ze dvou kroků:- založení požadavku na import
- sledování průběhu importu
Založení požadavku na importu datového souboru
Jelikož je při importu možné specifikovat cestu ke zdrojovému PST souboru pouze pomocí UNC cesty (nelze použít písmeno lokálního disku), je vhodné uložit si všechny datové soubory do společné sdílené složky, kterou jsem já osobně nasdílel přímo na serveru Exchange.Pozn.: Zabezpečení složky proti neprávněnému přístupu jiných uživatelů v mezidobí průběhu importu je otázka na jiné téma, ale určitě ji věnujte patřičnou pozornost.
Požadavek na nový import se zahájí následujícím příkazem za předpokladu, že máme datový soubor Outlook.pst uložen na sdílené složce \\server\import a importujeme jej pro uživatele s aliasem FooUser:
New-MailboxImportRequest -FilePath \\server\import\Outlook.pst -Mailbox FooUser
Name Mailbox Status ==== ======= ====== MailboxImport domain.cz/OU/Company/Users/Desktops/... Queued
Zobrazení statistiky importů
Po zadání jednoho či více požadavků je důležité mít možnost sledovat jejich průběh a hlavně stav. K tomu použijeme následující příkaz:Get-MailboxImportRequest | Get-MailboxImportRequestStatistics
Name Status TargetAlias PercentComplete ==== ====== =========== =============== MailboxImport Completed 100 MailboxImport2 InProgress FooUser 34
Odebrání kompletních importů ze seznamu požadavků
Po úspěšném dokončení importu datového souboru zůstane tento požadavek nadále v seznamu požadavků ve stavu Completed. V okamžiku, kdy jej již nepotřebujeme, použijeme následující příkaz a odstraníme tak všechny úspěšné požadavky:Get-MailboxImportRequest | where {$_.status -eq "Completed"} | Remove-MailboxImportRequest
Confirm Are you sure you want to perform this action? Removing completed request 'XXX'. [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"):
Chybové stavy
Během importu může velmi snadno dojít k jeho přerušení v důsledku různých chyb ve zdrojovém souboru. Nejčastěji se jedná o problém s tím, že konkrétní zpráva nesplňuje podmínky nastavených limitů pro příchozí/odchozí zprávy systému Exchange. K chybě může dojít také v případě, že zdrojový PST soubor je více či méně poškozený. Kdykoliv dojde k překročení povoleného počtu chybných zpráv (který je ve výchozím nastavení nulový), dojde k přerušení konkrétního importu. Chybný import je hlášen jako Failed. Základní statistika importu nezobrazuje žádné podrobnosti o tom, proč daný import selhal. Pokud se k této informaci potřebujeme dostat, je nutné exportovat informace o průběhu importů do souboru pomocí následujícího příkazu:Get-MailboxImportRequest | Get-MailboxImportRequestStatistics -IncludeReport | fl >report.txt
Akceptovat chybné položky importu
Pokud se rozhodneme, že se bez několika málo zpráv můžeme obejít, použijeme následující příkaz, který nastaví u všech chybových požadavků toleranci chyb, tedy že umožní přeskočit chybné položky během importu, u tohoto konkrétního příkladu maximálně 20 chybných položek.Get-MailboxImportRequest -Status Failed | Set-MailboxImportRequest -BadItemLimit 20
Get-MailboxImportRequest -Status Failed | Set-MailboxImportRequest -BadItemLimit 999 -AcceptLargeDataLoss
Pokračování importu u chybných požadavků
Pokud opravíme konkrétní chybu nebo jen povolíme toleranci chybných položek, je nutné znovu spustit import chybných požadavků. K tomu slouží následující příkaz:Get-MailboxImportRequest -Status Failed | Resume-MailboxImportRequest
Reklama
Komentáře
Žádné komentáře...