Lync Patch Management

Diese Beschreibung bezieht sich auf Lync Enterprise Server. Wer nur einen Standard Server hat, muss sich um ein geordnetes "außer Betrieb nehmen" von Servern nicht viel Gedanken machen. Ein Update wird hier in der Regel die Dienste für einige Minuten "offline" nehmen. Das ist das die Einschränkung einer Standard Server Installation.

Dies ist eine allgemein gültige Seite, die sie auf ihre Umgebung anpassen müssen. Es gilt immer die Vorgabe des Herstellers zur Installation

Beachten sie dazu auch die Seite Skype for Business Patching

Vorarbeiten

Ehe Sie mal schnell ein "Windows Update" oder andere Aktivitäten an einem Server vornehmen, sollten Sie erst mal sicherstellen, das die Umgebung wirklich funktionsfähig ist.

Aktion Status
  • Entscheidung und Planung
    Ehe Sie einfach ein Update installieren, sollten Sie genau die drei Punkte abwägen um die Dringlichkeit und Bedeutung abzuwägen
    • SicherheitsUpdates
      Einige Dienste von Lync (z.B. Edge und WebServices) sind aus dem Internet auch anonym erreichbar. Sollten hier Fehler beseitigt oder Verbesserungen (z.B. gegen DoS-Angriffe) in einem Update enthalten sein, dann ist eine zügige Installation ratsam
    • Fehlerbereinigungen
      Eine zweite Komponente sind Fehlerbeseitigungen, die oft nicht kritisch aber nervend angesehen werden, d.h. wenn beim Vermitteln der Anrufer nicht mit übertragen wird (Lync 2013RTM->CU1 Fix). Wenn Sie entsprechende Probleme mit dem Update beseitigen können, dann werden Sie sicher auch dies zügig installieren.
    • Neue Features
      Zuletzt bringen Updates auch Funktionen mit, die vorher nicht enthalten war. Lync 2013 CU1 bringt z.B. Call Pickup mit. Aber auch hier reicht es nicht, das Update zu installieren.

Viele Firmen haben einen richtigen Entscheidungsbaum und Zeitplan, wann Updates zu installieren sind.

 

  • Information
    Auch wenn speziell ein Service von Lync Servern im Pool nur wenig bis gar keinen Einfluss auf die Anwender haben sollte, so sollten Sie alle beteiligte Personen, aber insbesondere natürlich andere Administratoren und Helpdesk vorab informieren und das Wartungsfenster einplanen

 

  • Neue Funktionen
    Ein Lync Update löst nicht nur Probleme, sondern bringt manchmal auch neue Funktionen mit. Das Lync 2013CU1 erweitert lync z.B. Um Call Pickup und neue Mobility-Funktionen. Prüfen Sie, wie diese Erweiterungen in ihrer Umgebung berücksichtigt werden müssen. Speziell die Verwaltung und das Provisioning muss eventuell erweitert werden, um die neuen Einstellungen anzuwenden.

 

  • Healthcheck. Farm komplett funktionstüchtig ?
    Es wäre ja blöde, wenn Server und Dienste aktuell nicht laufen oder die CMS-Replikation nicht gegeben ist. Ein Blick auf das Lync Control Panel liefert einen ersten Überblick.
  • get-csmanagementstorereplicationstatus
    Prüfen, ob die CMS-Replikation für alle Dienste auf "True" steht. Dies kann auch im Lync Control Panel geprüft werden.
  • SCOM o.ä.
    Wer seine Server strukturiert überwacht, sollte dort auch noch einmal nachschauen, ob die Systeme alle korrekt überwacht werden und die Tests fehlerfrei sind.

 

  • Loadbalancer
    Auch die Verteilung der HTTP-Anfragen durch den Loadbalancer ist ein einfacher Indikator, ob zumindest die Lync Webdienste erreichbar sind.

 

Sie sollten auf keinen Fall hoffen, dass ein Update einen vorhandenen Fehler löst, speziell wenn er nicht in den Readme-Dateien angegeben ist.

Update pro Server

Bitte die Updates nicht einfach so installieren, da während der Installation die Dienste einfach beendet werden und damit aktive Verbindungen von Anwendern aber speziell bestehende Konferenzen oder Telefonate über die Mediation Server -Rolle einfach beendet werden. Lync kennt Wege, um Services "graceful" außer Betrieb zu nehmen.

Aktion Status

  • Monitoring anhalten
    Wenn Sie die Server aktiv überwachen, sollten Sie vor den nächsten Schritten das Monitoring auf Pause stellen, damit keine Alarme generiert werden und vor allem keine automatischen Reparaturskripte starten. Dabei ist es irrelevant, ob das nun SCOM oder ein anderes Tools ist.

 

  • Loadbalancer: Aus der Farm entfernen
    Die LyncWeb Dienste (HTTPS) werden in der Regel über einen Loadbalancer auf die Frontend Server im Pool verteilt. Nehmen Sie den Server aus der Verteilung, indem Sie entweder diesen Server im Loadbalancer anhalten oder den Verfügbarkeitscheck nutzen. Wer z.B. den Loadbalancer anweist, statt eines ICMP-Ping eine HTML-Datei als Test zu laden, kann diese Datei einfach umbenennen.

 

  • Prevent new Sessions für all services
    Damit werden keine neuen Verbindungen angenommen und bestehende Verbindungen auf andere Server des Pools verschoben. Sie markieren dazu im Control Panel den Server und starten die Aktion über Actions

    Die Clients bekommen also ein freundliches Redirekt. Alternativ geht das auch per PowerShell
Stop-CsWindowsService -Graceful

 

  • Status mit "get-cswinservices" prüfen
    Die Zahlen zeigen an, wie viele Konferenzen aktiv sind. Wenn Sie Zeit haben, dann sollten Sie vielleicht einige Zeit warten, bis die meisten Konferenzen beendet wurden.

Hinweis:
Wenn die Lync PowerShell mit einem Fehler quittiert, dann sollten Sie die PowerShell "Als Administrator" starten.

Leider ist es nicht einfach zu ermitteln, welche Teilnehmer und welche Konferenz gerade auf dem Server gehostet wird und man kann auch keine "Meldung an alle Konferenzteilnehmer" auf einer MCU senden.
Nach dem "Draining" sollten keine weiteren Konferenzen mehr hinzu kommen. Es kann aber durchaus sein, dass weitere Benutzer in eine bestehende Konferenz hinzu kommen.

 

  • Update installieren
    Das Lync Update auf dem Server können Sie nun per Windows Update (Sofern dort schon verfügbar) oder über den "LyncServerUpdateInstaller.exe" als Administrator installieren. Ich nutze lieber die eigenständige Exe.

 

  • Eventuell Reboot
    Normalerweise ist kein Reboot erforderlich, wenn die Lync Dienste sauber beendet werden konnten. Sollten andere Updates, z.B. Security Update, mit installiert worden sein, kann ein Neustart erforderlich werden

 

  • Start der Dienste
    Prüfen Sie nach dem Neustart, ob alle Dienst gestartet sind. Ohne Neustart müssen Sie nun selbst wieder die Dienste aktivieren. Warten Sie unbedingt ab, bis alle Dienste wieder erfolgreich gestartet sind. Gerade bei Lync 2013 kann dies länger dauern, da ein Frontend erst die SQL-Daten von den anderen Server wieder replizieren muss. Microsoft spricht selbst von bis zu einer Stunde. Einige Minuten können aber schon lange sein, wenn man drauf wartet.

 

  • Eventlog überprüfen
    Es ist durchaus ratsam auch bei laufenden Diensten das Eventlog zu überprüfen. Sie müssen aber unterscheiden, welche Fehler echte Probleme darstellen und welche Fehler temporärer Natur sind. Oft bringt z.B. das Lync Update eine Funktion mit, für die eine Änderung des Datenbank erforderlich ist (z.B. CallPickup mit Lync 2013 CU1)

 

  • Loadbalancer wieder freischalten
    Nachdem die "Funktion" des Lync-Services sichergestellt ist, können Sie auch die Webservices wieder im Loadbalancer freischalten.

 

  • Monitoring wieder einschalten
    Ob sie nun ganz am Ende das Monitoring einschalten oder nach dem Reboot das Monitoring aktiv nutzen, um die Funktion zu prüfen und erst dann z.B. den Loadbalancer wieder zulassen, bleibt ihnen überlassen.

 

Damit sollten nun alle Frontend Server des Pools aktuell sein. Im gleichen Zuge können und sollten Sie natürlich auch die Edge-Server und alle anderen Server aktualisieren.

Update auf Backend Database

Hinweis
Auch wenn das Lync Setup keinen Reboot anfordert, so kann ein Reboot notwendig sein, wenn z.B. .NET DLLs

Sofern ein Lync Server Update auch eine Aktualisierung der Datenbank erfordert, wurde dieses Update immer erst nach dem Update der Frontend Server durchgeführt. Ich kann nicht sicher sein, dass dies auch in Zukunft so ist. Bitte beachten Sie dazu die Release Notes für das Update:

Die Installation unterscheidet sich beim Lync 2013 CU1, wenn Sie einen Enterprise Pool mit Replikation nutzen. Ohne Replikation ist der Befehl für einen Standard Server und einen Enterprise Server gleich. Nur als FQDN des SQL-Servers muss einmal der lokale Standard Server oder das SQL Backend des Enterprise Servers eingetragen werden:

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn SQLSERVER.FQDN -Verbose

Anders sieht es aus, wenn z.B. ein Lync 2013 Enterprise Server mit SQL-Mirroring aktiv ist. Das Update der Datenbank von Lync 2013 CU1 erfordert z.B. erst das Trennen des Mirror und spätere Neueinrichtung.

Aktion Status
  • Ermitteln des Datenbankstatus
    Zuerst gilt es darum die aktuell aktive Datenbankinstanz zu finden und sicherzustellen, dass das Mirroring auch funktioniert. Dazu gibt es folgenden PowerShell-Befehl
Get-CsDatabaseMirrorState -PoolFqdn Pool.FQDN -Verbose

In der Ausgabe muss das Feld "StateonPrimary" auf "Principal" stehen.

  • Gespiegelte Datenbank entfernen
    Auch das geht per PowerShell
Uninstall-CsMirrorDatabase `
   -DatabaseType Application `
   -SqlServerFQDN EEBE.FQDN `
   -SqlInstanceName SQLInstanceName `
   -DropExistingDatabasesOnMirror `
   -Verbose

Das Readme zu Lync 2013CU1 sagt selbst, dass eventuell nicht alle Datenbanken sicher dadurch gedroppt werden und man mit dem SQL Management Studio selbst nachschauen sollte, dass die Datenbanken wirklich entfernt sind. Folgende Datenbanken werden dabei aus dem Mirroring mit dem Parameter "-DatabaseType Application" entfernt:

  • rgsconfig
  • rgsdync
  • cpsdyn

Andere Datenbanken werden NICHT von der Spiegelung entfernt.

 

  • Update der primären Datenbank
    Nun kann man auch die primäre Datenbank aktualisieren. Die aktuelle Konfiguration entspricht ja nun dem eines Enterprise Servers ohne Mirroring.

Install-CsDatabase `
   -ConfiguredDatabases `
   -SqlServerFqdn EEBE.Fqdn `
   -Verbose

 

  • Mirroring aktivieren
    Nach dem Update kann dann auch wieder das Mirroring auf den zweiten SQL-Server aktiviert werden
Install-CsMirrorDatabase `
   -DatabaseType Application `
   -SqlServerFQDN EEBE.Fqdn `
   -SqlInstanceName SQLInstanceName `
   -FileShare <Pfad zum MirrorFileshare> `
   -Verbose

Der Fileshare ist dabei NICHT der Lync Share, sondern ein anderer Share, über den das initiale Seeding erfolgt.

 

  • Kontrolle des Mirroring
    Ehe Sie weiter machen, sollte das Mirroring wieder aktuell sein
Get-CsDatabaseMirrorState `
   -PoolFqdn Pool.FQDN `
   -Verbose

 

  • Andere Datenbanken (z.B. Monitoring)
    Wenn sie z.B. die Monitoring-Datenbank, Archivdatenbank o.ä. auf anderen SQL-Servern betreiben, dann müssen Sie diese getrennt aktualisieren.
Install-CsDatabase `
   -ConfiguredDatabases `
   -SqlServerFqdn ArchMonBE.FQDN `
   -VerboseNote

 

  • CMS Update
    Zuletzt steht noch das Update des Central Management Store (CMS) an. (Nur wenn dieser schon auf Lync 2013 liegt)
Install-CsDatabase `
   -CentralManagementDatabase `
   -SqlServerFqdn CMS.FQDN `
   -SqlInstanceName DBInstanceName `
   -Verbose

 

Nacharbeiten

Je nach Update kommen vielleicht auch neue Funktionen dazu. Entsprechend können weitere Schritte erforderlich sein.

Aktion Status

  • Aktivieren der Topologie
    Neue Dienste können eventuell neue Einträge in der Topologie addiert haben. Das Lync 2013CU1 bringt z.B. die Mobility für Lync 2013 Clients mit
Enable-CsTopology

 

  • Bootstrapper
    Analog dazu können sogar neue Programme und Dienste hinzu gekommen sein, die erst durch den Aufruf des Bootstrappers aktiviert werden
"%ProgramFiles%\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe"

Dieser Aufruf ist für jeden Server auszuführen, nachdem die Topologie repliziert worden ist.

 

  • Information
    So wie sie vor dem Update den Helpdesk und andere Administratoren über die Wartung informiert haben, sollten Sie diese nach Abschluss ebenfalls informieren

 

  • Nachkonfiguration
    Gerade das Update Lync2013CU1 hat mit dem Mobility-Update auch einige neue EinstellMöglichkeiten mit gebracht, z.B. die Mobility Policies, die nun an die Anwender angepasst werden sollten. Auch zusätzliche DNS-Einträge (Lyncdiscover) und Anpassungen der Webveröffentlichungen sind eventuell erforderlich.
    Auch das Feature "Call Pickup" bedarf beim Lync2013CU1 noch einiger Konfiguration, wenn Sie es nutzen möchten.

 

  • Dokumentation
    Haben Sie dran gedacht, die aktuellen Schritte zumindest in Stichpunkten zu dokumentieren. Haben Sie auch daran gedacht, dass Sie vielleicht ihre bestehenden Dokumentationen aktualisieren oder erweitern müssen und auch die Desaster-Beschreibungen pflegen sollten. ?

 

Weitere Links