Haikos Blog Blog von Haiko Hertes zu allen Themen rund um Microsoft und Datacenter

27Mai/140

Erster Bericht über die TechEd North America 2014

Vom 12. bis 15. Mai 2014 fand in Houston, Texas die diesjährige Microsoft TechEd North America statt. Dies ist die größte Konferenz zu Microsoft-Produkten, im Schwerpunkt im ITPro-Bereich. Dieses Jahr wurde die TechEd mit dem MMS (Microsoft Management-Summit) zusammengelegt.

DSC05218

(Abbildung: Die Keynote wird von einer lokalen Band eingeleitet, welche moderne Rock- und Pop-Songs auf klassischen Instrumenten interpretierte)

Die Keynote, gehalten von Corporate VP Brad Anderson, gab einen recht guten Überblick über Microsofts aktuelle Strategie – es geht massiv um die Themen “Cloud” (Azure) und “People Centric IT” (hier z.B. Themen wie “Bring your own device” (BYOD) und die Anbindung von Nicht-Microsoft-Systemen an Microsoft-Landschaften). Das Motto war “Mobile-first, cloud-first world”. Weiterhin wurden einige Neuerungen für Azure angekündigt bzw. an diesem Tag freigegeben (z.B. “Express Route”, “Azure Files”, “Azure Site Recovery”, VMs neuer Größe, …). Glücklicherweise konnte ich einen der letzten Plätze erreichen. Der Raum, der zur Verfügung stand, reichte gefühlt gerade für die Leute, die ihre Hotels im direkten Umfeld des Convention-Centers hatten und somit nicht auf die Shuttle-Busse angewiesen waren, die sich jeden Morgen durch den Stau quälen mussten.

DSC05257

(Abbildung: Microsoft Corporate Vice President Brad Anderson on-stage während der Keynote)

Es gab 6 Tracks zu den Themen

  • “Data Plattform and Business Intelligence” (Datenbanken),
  • “Datacenter and Infrastructure Management” (Windows Server, System Center, Virtualisierung, PowerShell),
  • “Developer Plattform and Tools” (Entwickler),
  • “Office Servers and Services” (Office, Office 365, Exchange, Lync, Sharepoint),
  • “People-Centric IT” (Quer-Beet),
  • “Windows, Phone and Devices” (Windows 8.1, Windows Phone, App-V)

Die ca. 12.000 Teilnehmer (Es gibt keine offiziellen Angaben, zahlen schwanken zwischen 11.000 und 13.000) verteilten sich erstaunlich gut über die ca. 400 verschiedenen Sessions, welche von den unterschiedlichsten Personengruppen (Microsoft Product-Manager, Microsoft Technical Evangelists, Microsoft Technical Fellows (Also Nicht-MS-Mitarbeiter, die sehr stark mit Microsoft-Themen verbunden sind), MVPs, Drittanbieter) gehalten wurden. Obwohl es ständig Schlangen gab, insbesondere beim Essen und an den Toiletten, hat man es dennoch geschafft, diese völlig ausverkaufte Veranstaltung logistisch ganz ordentlich abzuwickeln.

Parallel zu den Sessions gab es im Erdgeschoss ständig die Möglichkeit, sich auf der TechExpo mit verschiedenen Microsoft-Partner-Firmen über deren Produkte und Lösungen aus dem Microsoft-Umfeld zu unterhalten. Zusätzlich konnte man in Hands-On-Labs oder Instructure-Lead-Labs erste praktische Erfahrungen mit neueren Microsoft-Produkten zu sammeln. Weiterhin gab es die Möglichkeit, zu reduzierten Preisen Microsoft-Prüfungen für eine Zertifizierung abzulegen.

Ein Highlight waren aus meiner Sicht vor allem die Sessions der MVPs, die im Stil von “Lessions Learned” ihre Erfahrungen mit den aktuellsten Microsoft-Produkten aus dem Einsatz in größeren Szenarien weitergaben. Dieses Sessions waren stets gut besucht, vollgepackt mit Know-How und nicht zuletzt auch sehr unterhaltsam. Eine der Sessions (PCIT-B410) wurde von 5 MVPs gehalten (“How many MVPs does it take to get a Powerpoint started?” war nach ersten Startschwierigkeiten im Twitter zu lesen), Thema war der System Center Configuration Manager. Hier saßen ca. 1000 SCCM-Administratoren in einem Raum – eine unglaubliche Fülle von Wissen, ergänzt durch die Ausführungen der MVPs Kent Agerlund, Johan Arwidmark, Greg Ramsey, Jason Sandys und Steve Thompson.

DSC05358

(Abbildung: Die MVPs von PCIT-B410 hatten sichtlich Spaß!)

In einem weiteren Beitrag werde ich in naher Zukunft noch auf einige Inhalte eingehen, welche ich von der Konferenz “mitgenommen” habe.

Alle Sessions können unter http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014?direction=asc#tab_sortBy_day  als PPTX und MP4 heruntergeladen werden.

Zu Houston selber muss man leider sagen: Das ist keine Stadt, die man als Tourist gesehen haben muss. Abgesehen von den zum Teil extrem heißen Temperaturen gibt es nicht viel zu sehen. Außerhalb kann man das NASA Space Center besichtigen, in der Stadt selber gibt es einen recht hübschen Zoo und einige nette Museen. Ansonsten ist insbesondere am Abend und am Wochenende nichts los, die Texaner selbst raten einem, bei Dunkelheit nicht mehr auf die Straße zu gehen.

DSC05584

(Abbildung: Die Skyline von Downtown Houston, betrachtet aus Richtung Brown Convention Center)

15Mai/140

SCOM 2012 R2 – Auto-Defragmentierung

Wenn man den Operations Manager 2012 nutzt, dann wird man vermutlich auch schon einmal über eine Meldung gestolpert sein, die darauf hinweist, dass ein logisches Laufwerk zu stark fragmentiert ist ("Fragmentierungsgrad des logischen Datenträgers ist hoch" / "Logical Disk Fragmentation Level is High"). Wenn man viele Server überwacht, dann wird man diese Meldung auch sehr oft sehen - ganz speziell am Montag Morgen (das liegt daran, dass die Standardeinstellung dieses Monitor dafür sorgt, dass der Test immer Samstag 03:00 Uhr läuft).

Defrag1

Nun hat man im Wesentlichen 3 Optionen:

  1. Meldung hinnehmen und von Hand auflösen - bedeutet u.U. sehr viel Aufwand
  2. Meldung ignorieren oder gar mittels Override deaktivieren - löst aber nicht die Ursache auf
  3. Meldung nutzen, um nicht nur die Meldung selbst (=Wirkung), sondern auch den Zustand (=Ursache) selbst aufzulösen

Die Möglichkeit, die Defragmentierung zu automatisieren ist auch im Wissensdantenbank-Artikel des Monitors erwähnt:

Defrag2

Wie das genau geht, hat Cameron Fuller, MVP für SCOM, in seinem Blogartikel beschrieben:

http://tinyurl.com/OMAutodefrag

Ein großartiger Artikel!

Update: Es gibt auch einen etwas einfacheren Weg - man kann das selbe Ziel auch mit einem einfachen Override erreichen, somit ist auch kein weiteres MP nötig... Wie genau das funktioniert, werde ich zeitnah nachreichen.

5Mai/140

BranchCache mit Windows Server 2012 R2 und Windows 8.1

BranchCache, eine Technologie die mit dem Windows Server 2008 R2 und Windows 7 eingeführt wurde, ermöglicht es, den Datenverkehr auf WAN-Strecken und die damit einhergehende Wartezeit bei der Übertragung zu reduzieren. Es geht darum, den lesenden Zugriff von einem Unternehmens-Standort (hier als “Filiale” bezeichnet) auf Daten in einem anderen Standort (hier als “Firmensitz” bezeichnet) zwischen zu speichern (“caching”).

Grundsätzlich stehen zwei verschiedene Modi zur Verfügung:

  • Hosted Cache (“Gehosteter Cache”)
  • Distributed Cache (“Verteilter Cache”)

Beim Hosted Cache übernimmt ein Server in der Filiale die Aufgabe des Caches. Er speichert die Daten entsprechend zwischen. Beim Distributed Cache wird auf einen dedizierten Server verzichtet – die Clients der Filiale übernehmen das Caching. Vorteil des Distributed Cachings ist also der Verzicht auf zusätzliche Hardware und den damit verbundenen Verwaltungsaufwand. Allerdings entsteht der Nachteil, dass das Endgerät, welches die Daten in seinem Cache hält, zum benötigten Zeitpunkt nicht online ist und somit der Cache nicht genutzt werden kann.

Es existieren mittlerweile zwei verschiedene Versionen:

  • V1 steht bereits ab Windows Server 2008 R2 und Windows 7 zur Verfügung
  • V2 steht erst ab Windows Server 2012 und Windows 8 zur Verfügung

Der Ablauf beim Distributed Cache ist (etwas vereinfacht) der folgende:

  1. Client1 in der Filiale soll ein File auf einem Dateiserver am Firmensitz öffnen; durch eine GPO ist er für BranchCache und den Modus “Distributed Cache” konfiguriert. Beim Dateiserver fragt er nicht die Datei selber sondern deren Hash (eine Art Fingerabdruck, die das File in seiner aktuellen Version identifiziert) an.
  2. Der Dateiserver überträgt den Hash zum Client1 (Der Hash wurde vom Dateiserver generiert, dieser ist ebenfalls durch eine GPO entsprechend konfiguriert)
  3. Client1 fragt per Broadcast in seinem Subnetz an, ob andere Clients das File in ihrem Cache haben, welches durch den Hash identifiziert wird; im Beispiel gehen wir nun davon aus, dass keiner der anderen Clients dieses File bisher geöffnet hat
  4. Client1 fragt nun noch einmal beim Dateiserver an; dieses Mal jedoch direkt nach der Datei statt nach deren Hash
  5. Die Datei wird zum Client1 übertragen und dort geöffnet
  6. Wenn nun auch Client2 in der Filiale diese Datei öffnen will, dann beginnt der Prozess wieder “von neuem”: Client2 fragt beim Dateiserver den Hash für das File an
  7. Der Dateiserver überträgt den Hash an Client2
  8. Client2 fragt per Broadcast in seinem Subnetz nach dem Hash
  9. Client1 meldet sich, da dieser das File in seinem Cache hat (Voraussetzung ist, dass sich das File zwischenzeitlich auf dem Dateiserver nicht geändert hat, denn dann hätte es einen anderen Hash!); Die Datei wird nun aus dem Cache von Client1 zum Client2 übertragen; dieser kann das File nun öffnen (und er hält es fortan auch in seinem Cache vor!)

Dabei haben also folgende Übertragungen stattgefunden:

  • 2x Abfrage des Hashes über WAN
  • 1x Übertragung des Files über WAN
  • 1x Übertragung des Files über LAN

Eingespart wurde also die zweite Übertragung des Files über WAN; stattdessen kommt die Übertragung der Hashes hinzu, die aber im Verhältnis deutlich kleiner sind

BranchCache ist also insbesondere sinnvoll bei:

  • Unternehmen mit verschiedenen Standorten
  • Häufigen lesenden Zugriffen auf sich selten ändernde Dateien über das gesamte Unternehmensnetzwerk

Die Edition des Server-Betriebssystems spielt bei einem Server 2012 R2 keine Rolle, bei den Clients muss unter Windows 8.1 die Enterprise-Edition eingesetzt werden. (Unter Server 2008 R2 muss der Caching-Server mindestens die Enterprise-Edition verwenden, für den Dateiserver spielt die Edition keine Rolle; Windows 7 Clients müssen mindestens die Enterprise-Edition verwenden.)

Im Folgenden möchte ich den Aufbau einer einfachen BranchCache-Umgebung darstellen. Dabei gibt es einen Server, SRV1, der neben der Aufgabe des Domänen-Controllers auch gleichzeitig die Aufgabe des Dateiserver übernimmt. Die beiden Clients WIN8-1 und WIN8-2 werden dann den Zugriff auf eine Datei des Dateiservers durchführen.

Auf SRV1 wird über den Servermanager / “Verwalten” / “Rollen und Features hinzufügen” ein Rollendienst hinzugefügt:

branchcache1

Unterhalb der Rolle “Datei-/Speicherdienste” findet sich “BranchCache für Netzwerkdateien”:

branchcache2

Nach der Installation dieses Rollendienstes kann nun an jeder Freigabe, bei der dies gewünscht ist, BranchCache aktiviert werden. Dies geschieht in den Eigenschaften der “Erweiterten Freigabe” über den Button “Zwischenspeichern”:

branchcache3

branchcache4

Als nächstes müssen nun zwei Gruppenrichtlinien konfiguriert werden:

  • CPR_BranchCache_Content ist für den Fileserver gedacht und wird sinnvollerweise über die Sicherheitsfilter nur auf diese angewendet
  • CPR_BranchCache_Clients ist für die Clients gedacht und kann z.B. per WMI-Filter dynamisch auf diese wirken

branchcache5

Innerhalb der Content-Policy wird zum einen die Hash-Veröffentlichung aktiviert und zum anderen die Version festgelegt. Man kann hier zwischen “Nur V1”, “V1 und V2” oder “Nur V2” wählen:

branchcache6

Der relevante Pfad innerhalb der GPO lautet “Computerkonfiguration” / “Richtlinien” / “Administrative Vorlagen” / “Netzwerk” / “LanMan-Server”

branchcache7

branchcache8

Innerhalb der Client-Policy sind etwas mehr Einstellungen vorzunehmen:

branchcache9

Hier muss BranchCache aktiviert werden, der Modus “Verteilter Cache” festgelegt werden und optional können die maximale Speicherbelegung, das maximale Alter und weitere Dinge konfiguriert werden. Aus Demo-Zwecken werde ich außerdem in der Einstellung “BranchCache für Netzwerkdateien konfigurieren” die minimale Latenz von 80ms auf 0ms herabsetzen und somit das Nutzen des Caches auch in einem schnellen Netzwerk erzwingen:

branchcache10 branchcache11
branchcache12 branchcache13
branchcache14  

Sinnvollerweise wird nun auf dem Server und den Clients ein gpupdate durchgeführt, um nicht erst auf das Verarbeiten der GPOs warten zu müssen:

branchcache15

Nun kann man auf den Clients noch einmal die Branchcache-Konfiguration überprüfen. Dies geschieht mit Hilfe des Aufrufes

netsh branchcache show status all

Sollte dann in etwa so aussehen:

branchcache16

Nun kann mittels Leistungsüberwachung getestet werden, ob die Konfiguration funktioniert. Dazu sind die entsprechenden Indikatoren hinzuzufügen:

branchcache18

Sinnvollerweise schaltet man nun die Leistungsüberwachung auf “Bericht” um (drittes Symbol in der Leiste oben von links gezählt).

Der Benutzer “Franz Iskaner” öffnet nun von WIN8-1 aus ein Dokument auf dem Dateiserver:

branchcache19

Eine Eigenart des integrierten PDF-Readers auf WIndows 8 ist, dass dieser das Dokument nur in Teilen öffnet und beim Lesen dann entsprechend die Inhalte nachlädt. Daher wurde nun also nicht das gesamte Dokument mit ca. 13MB sondern nur ein Teil davon vom Server abgerufen (ich habe die ersten hundert Seiten von ca. 2000 durchgeblättert):

branchcache20

Auf WIN8-2 öffnet nun “Karl Auer” das selbe Dokument, die Leistungsüberwachung ist geöffnet und zeigt nun folgende Werte auf WIN8-2:

branchcache21

(WIN8-1 hatte zwischenzeitlich weitere Teile des Dokumentes abgerufen, weshalb WIN8-2 etwas mehr vom Cache abrufen konnte als WIN8-1 im oberen Screenshot vom Server abgerufen hatte)

Ein Teil des Dokumentes kommt hier (das aber insbesondere wegen des PDF-Readers) immer noch vom Server – nämlich der Teil, der nicht im Cache auf WIN8-1 liegt, weil er dort bisher nicht geöffnet wurde.

Die Funktionsfähigkeit der BranchCache-Konfiguration ist damit aber gezeigt.

An dieser Stelle sei nochmal darauf hingewiesen, das BranchCache nur LESEND funktioniert – beim Schreiben wird direkt auf den Server geschrieben und nicht in den Cache!

Weitere Informationen zum Thema Branchcache finden sich im Microsoft Technet:

http://technet.microsoft.com/de-de/library/hh831696.aspx