Dlouhá instalace kumulativních aktualizací SharePointu není nic nového. Podobný problém jsme již řešili u SharePoint 2013, viz článek Jak zrychlit instalaci CU a SP u SharePoint 2013. Také u SharePoint Server Subscription Edition (SPSE) můžeme dobu instalace zkrátit zastavením některých služeb před spuštěním aktualizace.
Příčina je ale tentokrát jiná. U SharePoint 2013 jsme řešili mimo jiné prostředky spotřebovávané běžícími službami. U SPSE nefunguje podle očekávání mechanismus, kterým instalátor aktualizace zastavuje služby SharePointu a IIS. Služby tak zůstávají spuštěné a používají soubory, které se instalátor snaží aktualizovat v Global Assembly Cache (GAC). To následně prodlužuje samotnou instalaci.
Pokud jste tedy čekali, že tento postup s přechodem na novější SharePoint již nebudete potřebovat, bohužel tomu tak není. Řešením je potřebné služby před instalací CU zastavit ručně a po úspěšném dokončení je opět spustit.
Zastavení služeb před instalací CU
Nejprve si ověřte, které služby na aktualizovaném serveru běží. Ne všechny servery ve farmě mají stejnou roli, a tak například služby Search nebo Distributed Cache nemusíte řešit na každém z nich.
Pokud server obsluhuje uživatelské požadavky, nejprve jej vyřaďte z load balanceru, případně aktualizaci provádějte v plánovaném servisním okně.
Pomocí konzole Services (services.msc) zastavte následující služby v uvedeném pořadí. Distributed Cache má vlastní postup popsaný níže.
| Pořadí | Služba | Název služby |
|---|---|---|
| 1 | SharePoint Timer Service | SPTimerV4 |
| 2 | SharePoint Tracing Service | SPTraceV4 |
| 3 | SharePoint Administration | SPAdminV4 |
| 4 | World Wide Web Publishing Service | W3SVC |
| 5 | SharePoint Server Search | OSearch16 |
| 6 | SharePoint Search Host Controller | SPSearchHostController |
| 7 | SharePoint Caching Service | SPCache |
Pořadí zastavování dodržujte, aby se služby navzájem znovu nespouštěly. U každé služby vyčkejte na dokončení zastavení. Poznamenejte si také jejich původní stav, abyste po aktualizaci spustili pouze služby, které před ní běžely.
Pozor na Distributed Cache
Pokud používáte zero-downtime patching, je nutné lokální instanci Distributed Cache zastavit šetrně, aby mohla předat data ostatním běžícím cache hostům.
V SharePoint Management Shell s potřebnými oprávněními spusťte:
Stop-SPDistributedCacheServiceInstance -Graceful
Vyčkejte na dokončení operace. Pokud máte pouze jeden cache host, nemá se kam obsah cache předat a při jeho zastavení musíte počítat s její nedostupností.
Podrobnosti najdete v dokumentaci Microsoftu ke správě Distributed Cache.
Instalace CU a spuštění služeb
Jakmile jsou potřebné služby zastavené, spusťte instalaci CU a vyčkejte na její úspěšné dokončení. Během instalace zkontrolujte, že služby zůstávají zastavené.
Po dokončení obnovte původně spuštěné služby v opačném pořadí:
- SharePoint Caching Service (
SPCache). - SharePoint Search Host Controller (
SPSearchHostController). - SharePoint Server Search (
OSearch16). - World Wide Web Publishing Service (
W3SVC). - SharePoint Administration (
SPAdminV4). - SharePoint Tracing Service (
SPTraceV4). - SharePoint Timer Service (
SPTimerV4).
U Distributed Cache použijte postup pro spuštění instance. Ostatní služby spusťte pomocí konzole Services a ověřte jejich stav.
Nezapomeňte na konfiguračního průvodce
Po dokončení instalace CU na všech serverech farmy nezapomeňte na spuštění SharePoint Products Configuration Wizard na každém z nich. Před jeho spuštěním musí být potřebné služby opět dostupné.
Tento postup pomáhá zkrátit instalaci samotného aktualizačního balíčku. Dobu následného zpracování databází konfiguračním průvodcem tím nevyřešíme a konkrétní úspora času se bude lišit podle prostředí.
Po dokončení ověřte stav služeb a funkčnost SharePointu. Teprve potom vraťte server zpět do load balanceru.