www.SAMURAJ-cz.com 

20.04.2024 Marcela Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Přechod z Exchange 2007 na Exchange 2010 - část 1

Upraveno 22.03.2012 11:15 | vytvořeno 04.03.2012 19:55 | Samuraj - Petr Bouška |
Přechod z Exchange Server 2003 na verzi 2007 nebyl úplně jednoduchý. Zato přechod z verze 2007 na 2010 by měl jít provést za provozu, pokud vycházíme z toho, že se Exchange instaluje na nový server. Jenže se mohou projevit vedlejší problémy, které celou věc trochu zkomplikují. Musím poznamenat, že jsem se ještě nesetkal s tak špatným instalátorem, jako u Exchange 2010. V této první části se podíváme hlavně na instalaci Exchange 2010 a řešení řady problémů, které mohou nastat. Příště budeme stručně řešit vlastní migraci.

Hned na začátku uvedu odkaz na pěkný a podrobný článek mého kolegy Jirky Hýzlera Přechod z Exchange Server 2003 na Exchange Server 2010. Můj popis je trochu jednodušší, protože obecně je migrace snazší z verze 2007 než 2003. A také jinak zaměřený, věnuji se problematickým oblastem a chybám, na které jsem narazil.

Velmi stručně migrace spočívá v následujících krocích:

  • splnění počátečních podmínek
  • instalace nového serveru Exchange Server 2010 (rozšíření AD, potřebné role)
  • přesun rolí ze starého serveru
  • přesun schránek
  • odstranění starých databází
  • odstranění starého serveru

V dnešním díle se věnujeme pouze instalaci nového serveru s Exchangem. Ten se zařadí do již existující organizace, ale pokud bychom neprováděli migraci, tak by byl postup velmi podobný.

Úvodní podmínky a příprava serveru

Abychom mohli začít instalaci, tak musíme mít splněny základní podmínky (uvádím svůj stav).

  • Domain Functional Level i Forest Functional Level máme Windows Server 2008 R2 (minimálně musí být 2003)
  • všechny Exchange servery jsou minimálně Exchange Server 2007 SP2, to znamená verze 8.2 (Build 176.2), seznam verzí je v článku Versions, builds & dates
  • máme připravený nový server s OS Windows Server 2008 R2 SP1

Pozn.: Když budeme připravovat disky/oddíly pro uložení databáze (edb) a logů (log), tak je doporučeno je formátovat pomocí NTFS s alokační jednotkou (allocation unit) o velikosti 64 kB (místo defaultní hodnoty 4 kB).

Na server musíme následně nainstalovat nějaké komponenty. Pokud nesplníme některý požadavek, tak budeme upozorněni na začátku instalace při kontrole.

Pro instalaci potřebných Windows Feature můžeme využít PowerShell, následující příkaz by měl nainstalovat vše potřebné.

Import-Module ServerManager
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,
 Web-Lgcy-Mgmt-Console,Web-WMI,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,
 NET-HTTP-Activation,RPC-Over-HTTP-Proxy

Pokud budeme instalovat i roli Unified Messaging (UM), tak ještě potřebujeme Windows Desktop Experience.

Add-WindowsFeature Desktop-Experience

Pozn.: Tento návod jsem psal dlouho a během té doby vyšel SP2, takže jsem výše doplnil instalaci IIS 6 WMI Compatibility (Web-WMI), která je pro SP2 potřebná.

Ještě (volitelně) můžeme/musíme stáhnout nějaké aplikace z MS, první dvě jsou pro UM roli, poslední, aby mohl Exchange indexovat Office dokumenty.

Pokud se na začátku instalace UCM API objeví varování, že není nainstalován Visual C++ 2008 Redistributable, a jestli jej chcete nainstalovat. Ale instalace se nezdaří. Tak to může být tím, že v systému je již verze 9.0.30729 a vyžadována je 9.0.21022. Pak je třeba stáhnout a ručně instalovat Microsoft Visual C++ 2008 Redistributable Package (x64) .

Na závěr (spíše i několikrát v průběhu) je třeba provést restart.

Instalace Exchange Serveru

Pouze stručný přehled kroků :

  • buď provedeme povýšení schéma AD ručně (popis v článku Prepare Active Directory and Domains) nebo spustíme setup pod potřebnými právy a provede se automaticky během instalace
  • z instalačního DVD spustíme setup.exe
  • zvolíme, jaké jazyky instalovat (standardně z DVD), a spustíme instalaci
  • zvolíme custom a vybereme role mailbox, client access, hub transport, unified messaging, management tools jsou automaticky zvoleny
  • CAS server bude přístupný zvenku - zadáme mail.firma.cz (podle našeho prostředí)
  • proběhne test splnění požadavků
  • v dalším kroku začne instalace, která se skládá z několika částí, začne úpravou AD a končí instalací jednotlivých rolí

Nově nainstalovaný server se stane členem Exchange organizace, kde má Exchange 2007, a jeho instalace nijak neovlivní běh stávajících serverů nebo klientů. Server má zatím jen selfsigned certificate, takže pokud se k němu připojí nějací klienti, tak dostanou varování o jeho nedůvěryhodnosti.

Exchange 2010 instalace

Úvodní minikonfigurace

Nyní se můžeme připojit novou Exchange Management Console (EMC) ze serveru 2010. A samozřejmě si můžeme nainstalovat Management Tools na pracovní stanici klasickým způsobem z instalačního média. V přehledu (úvodní stránka Exchange 2010 Organizational Health) uvidíme celkový počet serverů, ale v Server Configuration vidíme pouze servery Exchange 2010. Pokud použijeme EMC 2007, tak vidíme všechny servery dohromady, ale budeme dostávat chyby při přístupu na nové funkce. Asi jste byli zvyklí, že EMC je značně pomalá, tak se připravte na to, že nová EMC je ještě znatelně pomalejší. I když ji používáme přímo na serveru, tak se vše provádí jako vzdálená volání.

Hned na začátku je dobré připravit nový certifikát. Nyní je již správa certifikátů možná přes EMC, což je určitě příjemné. Nový certifikát vytvoříme v EMC – Server Configuration – vybereme server a vpravo jsou možnosti. Po instalaci certifikátu musíme dát Assign a přiřadit potřebné služby. Pak můžeme odstranit starý certifikát.

Vhodné může být po instalaci spustit Best Practices Analyzer a případně upravit některé varování a informace.

Chyby, které mohou nastat

Instalace Exchange serveru a jeho aktualizací mi připadá jako naprosto amatérská. Pokud v průběhu instalace dojde k nějaké chybě, tak nám systém skončí ve stavu, kdy se nedá pokračovat. Hlavní problém je, že instalace vypne řadu služeb, ale již je nenastartuje. Instaloval jsem několik serverů a pokaždé se objevila nějaká nová chyba. Velký problém je s instalací Service Pack nebo Update Rollup. Dále jsou popsány řešení problémů, na které jsem narazil.

AuthorizationManager check failed

Pokud v průběhu instalace dojde k chybě a instalace skončí, tak i když danou chybu opravíme a spustíme znovu instalaci, tak ta hned končí novou chybou.

AuthorizationManager check failed

Je potřeba přepnout službu Windows Management InstrumentationDisabled na Automatic a nastartovat ji.

The operation couldn't be completed because a change occurred in the remote forest

Výše uvedenou chybu můžeme dostat, pokud spustíme Exchange Management Console (EMC) na klientovi. Je to proto, že na serveru a klientovi nemáme stejnou verzi, třeba na obou SP1, ale na klientovi i Update Rollup 2, ale na serveru ještě ne. Ale ne všechny updaty se týkají Management Tools, takže se ne všechny instalují na stanici a proto ne vždy platí, že musí být stejná verze. Informaci o verzi můžeme získat pomocí PowerShellu.

Get-Command EXSetup | %{$_.FileVersionInfo}

The WinRM client received an HTTP server error status

Jiný problém může nastat na serveru i na klientovi, když spustíme EMC a tak dostaneme chybovou hlášku:

Connecting to remote server failed with the following error message : The WinRM client received an HTTP server error
 status (500), but the remote service did not include any other information about the cause of the failure.
For more information, see the about_Remote_Troubleshooting Help topic. It was running the command 
'Discover-ExchangeServer -UseWIA $true -SuppressError $true -CurrentVersion 'Version 14.1 (Build 218.15)''.

Je potřeba nainstalovat Windows Feature WinRM IIS Extension, pokud již je instalovaná, tak odstranit a nově nainstalovat.

Update Rollup 2 pro Exchange 2010 SP1

Jako první krok po instalaci serveru je dobré nahrát všechny aktualizace. Což může být třeba Rollup Update 2 (poslední RU obsahuje opravy ze všech předchozích). A v některých případech zjistíme, že to je horor. A stejný problém není jen u této aktualizace, ale u většiny Rollup Updatů a Service Packů.

První věc je, že bychom neměli využít automatických aktualizací, ale instalovat ručně a pod administrátorským oprávněním. Takže buď vypneme UAC nebo spustíme CMD jako Administrator a z něj spustíme instalační msp soubor.

Při instalace Update Rollup 2 for Exchange Server 2010 Service Pack 1 (KB2425179) může instalace skončit s chybou 80070643. Navíc, když se podíváme do služeb, tak nám neběží žádná Exchange služba, ale ani řada dalších. Dokonce jsou přepnuté na Disabled.

Pokud spustíme instalaci updatu znovu, tak skončí s chybou již na začátku, kdy se snaží vypnout služby. Abychom se dozvěděli více o průběhu instalace, tak můžeme zapnout logování.

C:\1\Exchange2010-KB2425179-x64-en.msp /lvx c:\1\exchlog.log

Problém, který může nastat je popsaný v článku You receive error 1603 when you try to install the Exchange Server 2010 RU1 (i když se týká jiné verze a nemusí odpovídat číslo chyby, tak je stále stejný). Jde o to, že před instalací Rollup Updatu nesmí být na serveru nastavena, musí být Undefined, PowerShell Execution Policy pro MachinePolicy a UserPolicy.

Pozn.: U SP2 platí to samé, co jsem zmiňoval u Rollup Update. PowerShell Execution Policy pro MachinePolicy a UserPolicy musí být nastavena na Undefined.

Pokud nám již instalace selhala, tak musíme nejprve nastartovat službu Windows Management Instrumentation (a případně ještě World Wide Web Publishing Service a Remote Registry). Potom můžeme použít PowerShell a zjistit nastavení Execution Policy.

[PS] C:\>Get-ExecutionPolicy -List
            Scope           ExecutionPolicy
            -----           ---------------
    MachinePolicy              RemoteSigned
       UserPolicy                 Undefined
          Process                 Undefined
      CurrentUser                 Undefined
     LocalMachine              RemoteSigned

Pokud máme na prvních dvou řádcích něco jiného než Undefined (jako v příkladu výše), tak musíme toto nastavení změnit. Položky pro CurrentUser a LocalMachine můžeme měnit pomocí příkazu Set-ExecutionPolicy (nebo třeba v registrech), ale položky MachinePolicy a UserPolicy můžeme nastavit pouze pomocí Group Policy. Pokud, jako zde, máme MachinePolicy na hodnotu RemoteSigned, tak by to mělo znamenat, že v nějakém GPO aplikovaném na server, máme povoleno spouštění skriptů, jde o nastavení Computer/Policies/Administrative Templates/Windows Components/Windows PowerShell/Turn on Script Execution. Dočasně musíme tuto hodnot změnit (nastavit na Not Configured) a počkat/vynutit aplikaci politik. Pak můžeme spustit PowerShell skript, který nám nastartuje služby Exchange.

PS C:\Program Files\Microsoft\Exchange Server\V14\Bin>ServiceControl.ps1 AfterPatch 

Potom můžeme znovu spustit update a po úspěšné instalaci můžeme vrátit původní nastavení Execution Policy.

Celá instalace updatu trvá velice dlouho (třeba 40 minut).

Poškozený Exchange server

Na jednom čerstvě nainstalovaném Exchange serveru jsem narazil na fatální problém. Instalace proběhla OK, ale když jsem po restartu chtěl instalovat SP2, tak jsem hned po začátku instalace dostal chybovou hlášku.

The previous installation path could not be found in the registry. Only disaster recovery mode is available.
The previously installed version could not be determined from the registry. Only disaster recovery mode is available.

Zjistil jsem, že v instalaci Exchange serveru chybí řada souborů, neexistují zástupci ve Startu ani není položka v Programs and Features pro odinstalaci (on si je instalátor na začátku odstraňuje). Zkusil jsem řadu věcí, ale nic nepomáhalo. Takže jsem nakonec provedl proceduru Recover Exchange. Tento proces je popsaný v článku Recover an Exchange Server. Obecně, pokud se nám třeba poškodí HW serveru, kde je nainstalovaný Exchange. Tak můžeme připravit čistý stejný OS se stejným jménem a disky a provést instalaci dle původních parametrů (které jsou uloženy v AD).

Setup.com /m:RecoverServer

Jenže ani toto nepomohlo a dostával jsem následující chybu.

C:\>SETUP.COM /m:RecoverServer
Welcome to Microsoft Exchange Server 2010 Unattended Setup
Setup will continue momentarily, unless you press any key and cancel the
installation. By continuing the installation process, you agree to the license
terms of Microsoft Exchange Server 2010.
If you don't accept these license terms, please cancel the installation. To
review the license terms, please go to
http://go.microsoft.com/fwlink/?LinkId=150127&clcid=0x409/

Press any key to cancel setup................
No key presses were detected.  Setup will continue.
Preparing Exchange Setup

     Copying Setup Files                           COMPLETED

The following server roles will be recovered
   Languages
   Hub Transport Role
   Client Access Role
   Unified Messaging Role
   Mailbox Role
   Management Tools

Performing Microsoft Exchange Server Prerequisite Check
   Configuring Prerequisites                                 COMPLETED
   Language Pack Checks                                      COMPLETED
   Hub Transport Role Checks                                 COMPLETED
   Client Access Role Checks                                 COMPLETED
   Unified Messaging Role Checks                             COMPLETED
   Mailbox Role Checks                                       COMPLETED

Configuring Microsoft Exchange Server
   Preparing Setup                                           COMPLETED
   Stopping Services                                         COMPLETED
   Copying Exchange Files                                    COMPLETED
   Language Files                                            COMPLETED
   Restoring Services                                        COMPLETED
   Languages                                                 COMPLETED
   Hub Transport Server Role                                 FAILED

    The following error was generated when "$error.Clear();
        if ($exsSid -eq $null -or $exsSid -eq "")
        {
          $exsSid = get-ExchangeServerGroupSID -DomainController $RoleDomainController
        }
        start-setupservice -ServiceName MSExchangeADTopology -ServiceParameters $exsSid,$RoleDomainController
   " was run: "Service 'MSExchangeADTopology' failed to reach  status 'Running' on this server.".

The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located 
in the <SystemDrive>:\ExchangeSetupLogs folder.

Exchange Server setup encountered an error.

Podle informací v logu C:\ExchangeSetupLogs\ExchangeSetup.log jsem zjistil, že účet tohoto Exchange serveru chybí ve skupině Exchange Servers. Doplnil jsem jej ručně a spustil znovu instalaci, ale zobrazovala se následující chyba.

C:\>SETUP.COM /m:RecoverServer

Welcome to Microsoft Exchange Server 2010 Unattended Setup

Preparing Exchange Setup
    Copying Setup Files                           COMPLETED

The following server roles will be recovered
   Languages
   Hub Transport Role
   Client Access Role
   Unified Messaging Role
   Mailbox Role
   Management Tools

Performing Microsoft Exchange Server Prerequisite Check
   Configuring Prerequisites                                 COMPLETED
   Language Pack Checks                                      FAILED
   A Setup failure previously occurred while installing the HubTransport role.
   Either run Setup again for just this role, or remove the role using Control Panel.
 
The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log
located in the <SystemDrive>:\ExchangeSetupLogs folder.

Exchange Server setup encountered an error.

Instalace poprvé skončila na roli Hub Transport, takže ta byla ve stavu rozinstalováno. Naštěstí se dá tento stav změnit úpravou registrů. Stačí v registrech smazat položky Watermark and Action v cestě HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\HubTransportRole. Pak již instalace Exchange serveru proběhla úspěšně. A povedla se i instalace Service Pack 2 (zdůrazňuji, že musí být PowerShell Execution Policy nedefinováno, viz výše).

Assign certificate - Insufficient access rights

Na stejném serveru, kde jsem měl minulý problém, jsem narazil na další. Když jsem přidal nový certifikát a chtěl jsem jej přiřadit na všechny služby. Dostával jsem chybovou hlášku:

Error:
Active Directory operation failed on dc.firma.local. This error is not retriable. Additional information: Insufficient
 access rights to perform the operation.
Active directory response: 00002098: SecErr: DSID-03150BB9, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0

Exchange Management Shell command attempted:
Enable-ExchangeCertificate -Server 'MAIL3' -Services 'IMAP, POP, IIS, SMTP' -Thumbprint '8E5FAB47D1EDD721299476'

Po nějakém hledání jsem zjistil, že účet tohoto Exchange serveru chybí ve skupině Exchange Trusted Subsytem. Po té, co jsem jej zařadil do skupiny a restartoval server, se již podařilo nastavit certifikát.

Update Rollup 1 pro Exchange 2010 SP2

Než jsem stihl zveřejnit tento článek, tak se objevil nejen SP2, ale už i SP2 RU1. K tomu uvedu pouze dvě poznámky.

Než začneme tento update instalovat, tak je třeba dobře zvážit jednu věc. Pokud máme více Exchange serverů a třeba pro OWA využíváme CAS-CAS Proxy, tak musíme RU1 instalovat na oba ve stejnou dobu, jinak nebude fungovat. A uživatelům se bude zobrazovat chyba.

Exception type: Microsoft.Exchange.Clients.Owa.Core.OwaAsyncOperationException
Exception message: ProxyProtocolRequest async operation failed

Více je zmíněno například v článku Exchange 2010 SP2 RU1 and CAS-to-CAS Proxy Incompatibility.

Druhá věc se týká verze Exchange serveru. Po instalaci tohoto updatu by měl být server ve verzi 14.2.283.3, ale v EMC nebo na příkaz Get-ExchangeServer se zobrazuje verze 14.2.247.5 (což je stejná, jako byla před instalací). Jde o Admin Display Version a skutečnou verzi zjistíme příkazem.

Get-Command EXSetup | %{$_.FileVersionInfo}

Více informací o verzích nalezneme v článku Retrieving Exchange version information.

Nefunkční připojení na EMC a EMS

Po nějaké době provozu se mi najednou objevil problém na jednom Exchange serveru, kde se nedalo spustit/připojit na EMC ani EMS a oba vraceli chybové hlášení:

[exch1.firma.local] Connecting to remote server failed with the following error message : The WS-Management service 
cannot process the request. The system load quota of 1000 requests per 2 seconds has been exceeded. Send future requests 
at a slower rate or raise the system quota. The next request from this user will not be approved for at least 1914534912 
milliseconds. For more information, see the about_Remote_Troubleshooting Help topic.
     +  CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
     +  FullyQualifiedErrorId : PSSessionOpenFailed

Zkontroloval jsem služby a vše vypadlo v pořádku. Exchange 2010 se připojuje k managementu vzdáleně, i když je spuštěn lokálně, tak jsem hledal chybu v komunikaci. Na internetu je tato chyba často probírána, ale uváděná řešení se mi nechtělo zkoušet. Tak jsem se podíval do Windows Feature, že není nainstalována WinRM IIS Extension. Tak jsem ji přidal a vše začalo fungovat. Zajímavé je, že na jiném Exchange serveru také není nainstalována a vše chodí.

zobrazeno: 19320krát | Komentáře [0]

Autor:

Související články:

Microsoft Exchange

Jednou částí mé práce je administrace poštovního serveru od firmy Microsoft, tedy Exchange Serveru. Články začínají u verze 2003 a jak jde čas, tak pokračují dále.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

Zatím tento záznam nikdo nekomentoval.

Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách