Lync Topologybuilder

Der Topologybuilder ist ein zwingend erforderlicher Schritt vor der Installation von Lync. Beachten Sie dazu auch die Beschreibung der Reihenfolge auf Lync Deployment. Mit dem Topologybuilder wird die "Umgebung" bestehend aus den Servern mit ihren Funktionen und zentralen Einstellungen festgelegt und dann in die zentrale Konfigurationsdatenbank hochgeladen. Der Topologiebuilder muss nicht zwingend auf dem Lync Server installiert werden. Sie können Ihn auch auf einer Workstations installieren. Das eröffnet ihnen den Weg "offline" eine bestehende Konfiguration einzusehen, zu erstellen und anzupassen.

Entsprechend gibt es drei Anwendungsfälle für den Topologiebuilder:

  • Initiale Erstellung einer Konfiguration
    Wenn Sie Lync neu installieren, müssen Sie oder ihr Dienstleister zuerst eine Topologie mit allen Server erstellen.
  • Import/Update einer OCS 2007/2007R2 Konfiguration in Lync
    Wenn Sie parallel noch eine OCS2007/2007R2 Umgebung betreiben, dann ist der Topologiebuilder das Werkzeug, um die Daten dieser Installation aus dem Active Directory zu lesen und Lync bekannt zu machen.

Achtung:
Wenn Sie in der OCS-Umgebung Server und Funktionen verändern, dann müssen Sie manuell per Topologiebuilder diese Änderungen neu einlesen, damit Lync diese Änderungen erkennt. Es gibt hier keinen automatischen Abgleich !

  • Pflege einer bestehenden Konfiguration
    Natürlich ist der Topologiebuilder auch erforderlich, wenn Sie in ihrer Lync-Umgebung Server und Rollen addieren oder entfernen wollen oder globale Einstellungen umstellen müssen.

Topologie erstellen und mergen

Direkt nach dem Start des Topologiebuilders werden Sie gefragt, woher Sie ihre Daten erhalten wollen:

Beim allerersten Start werden Sie natürlich "New Topology" nutzen. Später ist dann der erste Punkt, "Download Topology", korrekt. Hierbei sucht der Topologybuilder per LDAP im Active Directory nach der Information, wo die zentrale Managementdatenbank liegt, um dann per SQL-Abfrage von dort die XDS-Datenbank mit der enthaltenen XML-Konfiguration zu laden.

Starten Sie mit einer neuen Konfiguration, werden Sie aber auch sofort nach einem Dateinamen gefragt, noch ehe Sie den ersten Server addiert haben. Der Topologybuilder arbeitet immer mit dieser lokalen Datei. Mit einer leeren Datei startet sofort ein Assistent, welcher die zwingend erforderlichen Daten geführt abfragt. Auch wenn Sie diesen Assistenten abbrechen und alles von Hand eintragen können, Sollten Sie einfach die Fenster durchgehen und ihre Daten korrekt eintragen. Dies sind:

  • Primäre SIP-Domain
    Lync braucht, wie Exchange, eine primäre SIP-Domäne. Dies muss nicht die Active Directory Domain sein. Ich rate ihnen aber dazu, hier ihre E-Mail-Domain zu nehmen.
  • Optional zusätzliche SIP-Domains
    Wen Sie meinen Rat beherzigen und jeder als SIP-Adresse auch seine Mailadresse (und UPN) nutzt, dann müssen Sie hier für jede SMTP-Domain auch eine SIP-Domain addieren
  • Name und Organisation
    Der Name ist zwingend und definiert eine geografische Einheit. In der Regel ist dies ein Standort, in dem auch Lync-Frontend Server stehen. Vergleichen Sie dies mit den Active Directory Standorten, in denen DCs stehen. Da viele Firmen aber eher weniger Server installieren, kann hier auch "EMEA" ein sinnvoller Eintrag sein. Bei einer "Single Standort"-Umgebung können Sie hier auch gerne ihren Firmennamen eingeben. In größeren Umgebungen sollten Sie vorher über Netzwerktopologie, WAN-Verbindungen etc. nachdenken.
    Die Organisation ist allerdings nur optional anzugeben und geht nicht in die Konfiguration ein
  • Stadt/Bundesland/Land
    Gleiches gilt für diese Angaben, die nur zur Dokumentation verwendet werden.

Nach diesem ersten Interview werden Sie gefragt, ob Sie nun gleich den ersten Frontend mit dem Assistenten einrichten wollen.

Achtung:
In Lync wird intensiv mit Zertifikaten und voll qualifizierten Hostnamen gearbeitet. Wenn der Assistent einen FQDN erfragt, dann sollten Sie nicht nur den "kurzen NetBIOS-Namen" eintragen.

Dieser Assistent erfragt die folgenden Daten (Auf Screencaptures der einzelnen Schritte verzichte ich hier):

  • Pool FQDN und Servertyp (Enterprisepool oder Standard)
    Diese Antwort ist wichtig und nachträglich nach der Installation der Server nicht mehr zu ändern. Bei einem Standardserver ist dies zwingend der FQDN des einzelnen Servers. In einer hochverfügbaren Installation ist dies ein Name, der später per DNS-Loadbalancing oder Loadbalancer erreichbar gemacht wird.
    Sollten Sie später aus einem nicht hochverfügbaren Standardserver einen Enterprisepool umstellen wollen, dann geht dies nur über eine Parallelinstallation eines neuen Pools, der Migration aller Benutzer und Einstellungen und späteren Dekommissionierung des Standard Servers.
    Wenn Sie also hochverfügbar planen, dann können Sie auch einen Enterprisepool mit einem Server installieren. Allerdings erfordert dies von Anbeginn an einen zusätzlichen SQL-Server
  • Computer FQDN
    Wenn Sie einen Enterprisepool einrichten, dann fragt das System die Server in dem Pool ab. Hier ist die Angabe des FQDN erforderlich. Leider erzwingt der Server nicht die Angabe des FQDN.
  • Dienste: Conference optional mit PST Dialin, EnterpriseVoice, CallAdmissionControl
    Über Checkboxen bestimmen Sie, welche Dienste in diesem Pools oder auf dem Server angeboten werden. Entsprechend dieser Auswahl werden später die erforderlichen Dienste installiert und konfiguriert.
  • AV-Konferenz und Mediation
    In größeren Umgebungen macht es Sinn, diese Rollen auf anderen Server zu verteilen. In der Regel werden diese Dienste aber mit auf dem Server installiert
  • Archiv, Monitoring, Edge
    Sie können optional gleich noch Archivierung, Monitoring und Edge aktivieren. Der Assistent erweitert dann den Ablauf um zusätzliche Masken, auf die ich aber nicht einzelne weiter eingehen möchte
  • SQL
    Bei einem StandardServer wird hier automatisch der "lokale Server" eingetragen. Mit einem Enterprisepools müssen Sie hier den idealerweise hochverfügbaren SQL-Server angeben, auf dem später die Datenbank des Pools liegt.
  • Fileshare
    Alle Server eines Pools müssen auf die gleiche möglichst hochverfügbare Dateifreigabe zugreifen. Beim Standardserver können Sie die Freigabe einfach auf dem lokalen Server betreiben.
  • WebServiceURL
    Der Zugriff auf die SIP-Funktion eines Lync Serverpools kann per DNS verteilt werden. Aber der Zugriff auf die Webdienste (z.B. Adressbuchdownload, Groupexpansion, Konferenzdienste etc.) kann nicht per DNS Round Robin verteilt werden. Daher kann hier ein anderer Pfad eingegeben werden, der dann z B. über einen Loadbalancer verteilt wird.
  • PSTN-Gateways
    Optional können Sie gleich die IP-Adressen der Gateways eintragen, welche eine Verbindung zur klassischen TK-Welt herstellen. Auch wenn Sie nicht mit Lync telefonieren, so kann diese Funktion z.B. für die Einwahl in Konferenzen per Telefon erforderlich sein.

Das Ergebnis ist eine vollständige Konfiguration, die natürlich um weitere Server und Dienste ergänzt werden kann

Hier ist ein Beispiel eines einzelnen Standardservers aufgeführt, welcher ohne Monitoring, Archivierung und TK-Anbindung auskommen darf.

Topologie einspielen

Der nächste Schritt ist das "Publizieren" der Topologie. Hierbei wird nicht nur die Konfiguration in den CMS publiziert, sondern auch es werden Auch die Computerkonten in die entsprechenden Gruppen aufgenommen, Freigaben berechtigt, SQL-Datenbanken angelegt etc. Damit dies fehlerfrei möglich ist, sollten Sie einige Voraussetzungen geschaffen haben.

  • Alle Server in der Topologie Online und Domainmitglied
    Nur dann sind zum einen die Computerkonten im Active Directory vorhanden, so dass der Topologiebuilder diese in die Lync-Gruppen aufnehmen kann. Zudem werden Remote über das LAN auf den Servern die entsprechenden Einstellungen getätigt
  • SQL-Rechte für CMS muss da sein.
  • Berechtigungen im Active Directory
    Speziell beim ersten Publizieren wird im Active Directory (Konfigurationspartition) ein LDAP-Objekte angelegt, an dem sich alle anderen Server (außer Standalone Edge) bei der nachfolgenden Installation

Das Veröffentlichen können Sie an fast jeder Stelle über das Kontextmenü erreichen:

Es ist dennoch nicht ungewöhnlich, dass der erste Versuch vielleicht fehlschlägt. Die Meldungen sind dabei aber meist so aussagekräftig, dass sie schon selbst erkennen, woran es liegt. Knifflig wird es, wenn sie kein Enterprise Admin sind und damit eventuell die Berechtigungen erst noch anpassen müssen. Denn auch wenn Lync viele Daten in der SQL-Datenbank hinterlegt, so gibt es durchaus einige Objekte im Active Directory

Stellen Sie den Missstand ab und versuchen Sie es einfach noch einmal.

Da beim Publish die Computer in Domänengruppen addiert werden und damit neue Berechtigungen erhalten, sollten Sie die Server nach der Active Directory Replikation und dem dem "Publish" einmal durchstarten.

Nach den Vorarbeiten folgt dann natürlich die eigentliche Installation der auf den Servern.

  • Lync Installation
    Dabei liest das Setup auf den jeweiligen Servern den aktuellen Ort der zentralen Konfigurationsdatenbank aus dem Active Directory, repliziert diese in eine lokale SQL-Express Instanz und installiert dann die Rollen.
  • LyncZertifikate
    Während dieser Installation werden auch Zertifikate auf dem Server angefordert und eingespielt.
  • Lync Konfiguration
    Danach kann die Konfiguration der Betriebsparameter über das Lync Control Panel erfolgen.

Topologie anpassen

Auch Lync-Umgebungen unterliegen einem Wandel. Veränderungen an Standorten, Gateway oder der Dimensionierung können es erforderlich machen, dass neue Server installiert oder Rollen verändert werden. Auch in einer gemischten Umgebung mit OCS2007 oder 2007R2 wird es natürlich im Rahmen der Migration immer wieder passieren, dass einige Rollen von OCS entfallen. Auch dann muss der Topologiebuilder genutzt werden, um über "Merge" die geändert Konfiguration aus OCS in die Lync-Umgebung zu übernehmen.

Hierzu starten Sie wieder den Topologiebuilder, welche ihnen wie schon Anfangs die Auswahl anbietet. Diesmal starten Sie mit ein dem "Download", um die laufende Konfiguration ihrer Umgebung zu laden. Aber auch diese will zuerst in einer Datei gespeichert werden.

Achtung:
Beim Start werden Sie nach einem Dateinamen gefragt. Dorthin speichert der Topologybuilder beim Start den aktuellen Stand aus dem Configurationstore. Aber auch beim "Publish" werden die aktuellen Werte in diese Datei gespeichert.

Mit diesem Wissen können Sie natürlich nun bei jedem Start einfach die Konfiguration mit einem passenden Dateinamen speichern. Ihre "vorherige Konfiguation" ist natürlich in der Datei des vorherigen Starts enthalten. Wenn Sie diese nicht im Zugriff haben, dann sollten Sie die soeben angelegte Datei kopieren oder mit "Save As" als anderer Name speichern.

Dies ist aber erst mal kein "Backup" ihrer aktuellen Konfiguration vor der Änderung, denn beim späteren Veröffentlichen (Publish) wird diese Datei überschrieben. Ein Backup erhalten Sie also nur, wenn Sie die Datei vor Änderungen kopieren oder mit "speichern unter" eine neue . Wenn Sie vor Änderungen ihre Konfiguration sichern wollen, dann müssen Sie diese Datei vor dem "Publish" als "Save a Copy" speichern oder anderweitig kopieren

Tipp:
Ich habe mir angewöhnt die Lync-Konfiguration Datei auf einem zentralen Dateiserver mit einem entsprechenden Namen abzuspeichern. z:B. als "LyncConfig-201103041542-aenderungshinweis.tbxml" und dabei Datum/Zeit der Änderung als auch einen Hinweis darauf zu codieren. So erhalte ich eine History aller vergangenen Konfigurationen.

Nach der Änderung einer Konfiguration muss diese natürlich auch wieder veröffentlicht werden. Die Daten werden in den zentralen CMS hoch geladen und zusätzlich wird die lokale XML-Datei aktualisiert, die beim Start des Topologybuilders angegeben wurde.

Beachten Sie, dass die Replikation der KonfigurationsÄnderung vom zentralen Konfigurationsspeicher in die lokalen Instanzen etwas verzögert passiert. Mit folgendem Befehl können Sie prüfen, wie aktuell die Daten auf allen Servern ist

PS > Get-CsManagementStoreReplicationStatus

Erst wenn die Server aktuell sind, sollten Sie auf den Server über das Deployment Tool die Änderungen umsetzt.

Weitere Links