www.SAMURAJ-cz.com 

23.04.2024 Vojtěch Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Exchange Server 2016 instalace Cumulative Update

Upraveno 07.03.2021 15:00 | vytvořeno 13.06.2019 18:19 | Samuraj - Petr Bouška |
Několikrát do roka vychází pro Exchange 2016 Cumulative Update (CU), který obsahuje souhrn aktuálních opravu a všech předchozích. Při instalaci CU dojde k uprgradu serveru a změní se číslo sestavení (Build number). Průběh instalace je podobný jako čistá instalace serveru a trvá delší dobu, kdy je server nedosupný.

Příprava instalace

Zjištění aktuální verze

Verze a čísla sestavení si nejlépe zobrazíme pomocí Exchange Management Shell.

[PS] C:\>Get-ExchangeServer | FT Name, Edition, AdminDisplayVersion -AutoSize

Name      Edition  AdminDisplayVersion
----      -------  -------------------
MAIL1  Enterprise  Version 15.1 (Build 1531.3)
MAIL2  Enterprise  Version 15.1 (Build 1591.10)

Přiřazení čísla verze a Cumulative Update nalezneme v článku Exchange Server Updates: build numbers and release dates.

Stažení instalačních souborů

Instalace aktualizace Cumulative Update (CU) obsahuje kompletní instalaci Exchange serveru. Díky tomu obsahuje všechny předchozí CU, takže instalujeme vždy poslední verzi. Když se instalace spustí na serveru s Exchange, tak automaticky provádí aktualizaci.

Stahovaný soubor je typu ISO (třeba ExchangeServer2016-x64-cu10.iso) o velikosti okolo 6 GB. Můžeme jej vypálit na DVD, namapovat nebo rozbalit a instalaci spouštíme pomocí setup.exe.

Odkazy na stažení všech dostupných Cumulative Update (CU) nalezneme v článku Exchange Server Updates: build numbers and release dates.

Instalace Cumulative Updates (CUs)

Oficiální popis, včetně obrázků, se nachází v Upgrade Exchange to the latest Cumulative Update.

Přepnutí serveru do Maintenance Mode

Pokud máme vysokou dostupnost a používáme Database Availability Group (DAG), tak by měl jít upgrade provést postupně na jednotlivých serverech, bez většího výpadku pro klienty. Server, který chceme aktualizovat, musíme nejprve přepnout do Maintenance Mode.

Oficiální dokumentace Performing maintenance on DAG members. Alternativní návody Exchange Maintenance Mode, Gracefully Patching Exchange 2016, 7 Steps to Maintaining Exchange Server Without User Impact.

Microsoft dokumentace uvádí, že je možno použít skripty (pro část operací), které jsou součástí instalace Exchange serveru. V popisech na internetu se většinou ručně spouští jednotlivé příkazy. Vhodnou metodu si tedy každý může vyzkoušet/zvolit sám.

cd $ExScripts
.\StartDagServerMaintenance.ps1 -ServerName <ServerName>
.\StopDagServerMaintenance.ps1 -serverName <ServerName>

Komunikace z internetu

Před přepnutím do módu údržby provedeme

  • na Firewallu zablokujeme komunikaci na upgradovaný server (pokud máme Load Balancing, tak směrujeme pouze na ostatní)

Interní komunikace

Co mi není jasné a nenašel jsem k tomu žádné informace. Jak zajistit, aby Outlook klienti uvnitř interní sítě, fungovali relativně bez výpadku. Když se aktivuje databáze, kde má uživatel schránku, na jiném serveru, tak se Outlook na nějakou dobu odpojí (ale většinou se relativně rychle opět připojí). Ale i když je server v módu údržby, tak následně při vypnutí služeb nebo restartu, se některým uživatelům Outlook odpojí a trvá, než se připojí k jinému serveru.

Je to v konfiguraci, kdy se používá DNS Load Balancing a 2 servery s DAGem. Tedy adresa mail.firma.local obsahuje dvě IP adresy a na tuto adresu se připojuje Outlook pomocí MAPI over HTTP. Na klientovi je většinou vidět (Resource Monitor - Network), že má navázané session na oba servery, ale komunikace jde převážně na jeden. Podle informací, že Outlook podporuje DNS Load Balancing, bych chápal, že při nedostupnosti služby na jedné IP adrese by měl vyzkoušet další. Ale v praxi to dost trvá. Možná to jde nějak nastavit nebo to MS moc neřeší a chce aby i interně byl Load Balancer.

Maintenance Mode

Následuje pouze výpis jednotlivých PowerShell příkazů pro přepnutí do módu údržby.

# vyprázdnění transportní fronty, přestane přijímat zprávy
Set-ServerComponentState MAIL1 -Component HubTransport -State Draining -Requester Maintenance
# restart transportní služby, aby okamžitě započalo uvolňování fronty
Restart-Service MSExchangeTransport
Restart-Service MSExchangeFrontEndTransport
# přesměrování nevyřízených zpráv na jiný server
Redirect-Message -Server MAIL1 -Target MAIL2.firma.local
# pozastavení uzlu (Node) v DAGu
Suspend-ClusterNode MAIL1
# přesun aktivních DB na jiné členy DAGu
Set-MailboxServer MAIL1 -DatabaseCopyActivationDisabledAndMoveNow $True
# zkontrolujeme, že používáme politiku Unrestricted (druhá varianta IntrasiteOnly bude asi pouze výjimečně, ale případně
# ji použijeme při návratu) 
Get-MailboxServer MAIL1 | Select DatabaseCopyAutoActivationPolicy
# nastavíme politiku Blocked, kdy se nemohou DB aktivovat na tomto serveru
Set-MailboxServer MAIL1 -DatabaseCopyAutoActivationPolicy Blocked
# ověříme, že se všechny DB přesunuly (žádná není mountovaná zde), přesun trvá řadu minut, pokračujeme až po přesunu 
Get-MailboxDatabaseCopyStatus -Server MAIL1 | Where {$_.Status -eq "Mounted"}
# přepneme server do Maintenance Mode
Set-ServerComponentState MAIL1 -Component ServerWideOffline -State Inactive -Requester Maintenance

Instalace upgradu

Průběh upgradu je stejný jako čistá instalace, ale detekuje se, že jde o update a tudíž nedostaneme skoro žádné dotazy.

Základní kroky instalace:

  • dopředu bychom měli zkontrolovat, že vše dobře funguje
  • Microsoft doporučuje před instalací restartovat server (může to i zrychlit následující upgrade)
  • spustíme setup.exe
  • můžeme zjistit, zda nejsou online k dispozici aktualizace
  • soubory se zkopírují na lokální disk do %WinDir%\Temp\ExchangeSetup
  • detekuje se, že jde o upgrade
  • musíme souhlasit s licenčními podmínkami
  • poté dojde ke kontrole připravenosti, zda jsou splněny všechny předpoklady, pokud je nalezena nějaká chyba, tak můžeme zvolit pouze Retry, pokud ji odstraníme (například může být vyžadována novější verze .NET Framework, je zde i odkaz na web pro instalaci)
  • při instalaci některých Cumulative Update je potřeba aktualizovat AD Schema, detekuje se, zda má uživatel dostatečná práva, pokud ne, tak nemůžeme pokračovat v instalaci (můžeme spustit znovu pod jiným uživatelem nebo rozšíření provést zvlášť)
  • spustí se instalace (disabluje služby, odstraní původní soubory, nainstaluje nové)
  • upgrade trvá dlouho (CU11 u mne cca 50 minut, pak restart - než vše naběhne a srovná se DAG cca 10 minut), na začátku instalace se vypnou služby, takže Exchange celou dobu nefunguje
  • na konci je vždy třeba provést restart serveru

Přepnutí serveru zpět do provozu z Maintenance Mode

Opět jen výpis příkazů pro uvedení aktualizovaného serveru do provozu.

# přepneme server zpět z Maintenance Mode
Set-ServerComponentState MAIL1 –Component ServerWideOffline –State Active –Requester Maintenance
# obnovíme uzel v DAGu
Resume-ClusterNode –Name MAIL1
# pokud jsme měli nastavenu politiku IntrasiteOnly, tak použijeme tu, jinak Unrestricted
Set-MailboxServer MAIL1 –DatabaseCopyAutoActivationPolicy Unrestricted
# povolíme Database Copy Activation
Set-MailboxServer MAIL1 –DatabaseCopyActivationDisabledAndMoveNow $false
# aktivujeme službu Hub Transport, aby přijímala zprávy
Set-ServerComponentState MAIL1 –Component HubTransport –State Active –Requester Maintenance
# restartujeme transportní služby, aby se změny provedly hned
Restart-Service MSExchangeTransport
Restart-Service MSExchangeFrontEndTransport

Volitelně můžeme spustit skript na rozložení aktivních DB kopií na servery.

cd $ExScripts
.\RedistributeActiveDatabases.ps1 -BalanceDbsByActivationPreference -Confirm:$false

Pokud server korektně funguje.

  • na Firewallu povolíme komunikaci

Kontrolní testy

Můžeme použít nějaké cmdlety pro kontrolu, že vše v pořádku funguje.

Get-ClusterNode
Test-ServiceHealth
Test-MAPIConnectivity –Server MAIL1
Get-MailboxDatabaseCopyStatus * | Sort-Object Name | Select Name, Status, ContentIndexState
Get-DatabaseAvailabilityGroup | Select-Object -ExpandProperty:Servers | Test-ReplicationHealth
Get-MailboxServer MAIL1 | Select DatabaseCopyAutoActivationPolicy
(Get-ServerComponentState -Identity MAIL1 -Component ServerWideOffline).LocalStates

Exchange Server Health Checker

Užitečný skript, který kontroluje nastavení Exchange serveru podle Best Practice, bezpečnostní nastavení a zranitelnosti. Poslední verze ke stažení Exchange Health Checker.

.\HealthChecker.ps1
.\HealthChecker.ps1 -BuildHtmlServersReport
zobrazeno: 7113krát | Komentáře [4]

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

  1. [1] Milan

    Zdravím, je potřeba při instalaci CU (EX 2016) zálohovat nastavení IIS? Někde jsem se dočetl, že je to

    U EX2010 CU šly vždy přes WSUS a nikdy jsem IIS nezálohoval. Jen zkontroloval funkčnost a nové vylepšení.

    Děkuji Milan B.

    Pondělí, 09.03.2020 11:22 | odpovědět
  2. [2] Samuraj

    Aktuálně se řeší zranitelnosti, které byly masivně zneužity. MS má určitý testovací nástroj, zda je server zranitelný.

    github.com/microsoft/CSS-Exchange/tree/main/Security

    Pondělí, 22.03.2021 17:58 | odpovědět
  3. [3] Vašek K

    Dobrý den, občas jsem viděl na fórech, že před instalací CU ještě doporučují zadat v PS skript "Set-ExecutionPolicy unrestricted"

    Zadáváte to také?

    Děkuji

    Pondělí, 03.01.2022 11:35 | odpovědět
  4. [4] Samuraj

    odpověď na [3]Vašek K: To záleží na tom, jaké máte nastavení pro spouštění skriptů. V některých případech to potřeba je.

    Pondělí, 03.01.2022 14:41 | odpovědět
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