Eine SharePoint 2010 Umgebung kann schon mal recht komplex werden. Wenn dann noch ein Problem auftritt, dann kann auch das Einkreisen durchaus eine Herausforderung sein.
Hier ein Beispiel aus der Praxis …
Die Umgebung
Wir haben eine 6 Server Farm implementiert. Dabei wurde die SharePoint Infrastruktur mit 2x SharePoint 2010 Web Server (über Microsoft NLB “verbunden”), 2x SharePoint 2010 Applikationsserver und ein SQL 2008 R2 Datenbankcluster aufgesetzt. Das ganze läuft in einer Active Directory Umgebung mit mehreren Domänen (in einer davon läuft eben die SharePoint 2010 Farm) und die Systeme sind an entsprechenden Storagesystemen angebunden. Die SharePoint 2010 Farm kann je nach Bedarf jederzeit um weitere Server erweitert werden (Skalierung).
Der Kunde wird langfristig über dieses System seine weltweiten Blogs im Konzern managen und bereitstellen, sowie SharePoint 2010 als Social Networking Plattform nutzen (MySite Infrastruktur, Communities). Weiter sollen entsprechende Applikationen realisiert werden.
Unser Team - bestehend aus 4 SharePoint 2010 Consultants aus den Bereichen SharePoint 2010 Infrastruktur, SharePoint 2010 Development, SharePoint 2010 Masterpagedesign und SharePoint 2010 Strategie – kümmert sich gemeinsam mit den SharePoint Verantwortlichen beim Kunden um die Realisierung der Umgebung.
Die Umgebung enthält entsprechende SharePoint Solutions, die in der Farm ausgerollt wurden (aus der Serie HATAHET solutions for SharePoint, konkret der HATAHET style master 2.0 wird zur Masterpageverteilung eingesetzt).
Das Problem
Das System funktioniert einwandfrei, bis auf diese eine Schaltfläche “Mein Profil bearbeiten” auf den MySites der einzelnen Benutzer, also jener Bereich wo man seine Profildaten in der MySite als User bearbeiten kann, hier ein Screenshot von unserer Umgebung …

Wenn ein Benutzer auf diese Schaltfläche klickt, kam folgende Fehlermeldung - wie immer mit einem sehr klaren Hinweis *scherz* also “An unexpected error has occured” 

Was nun, wie kann man dieses Problem nun einkreisen und vor allem, warum geht dies “plötzlich” nicht mehr? Wurde etwas verändert und wenn was, von den zahlreichen Konfigurationsschritten die durchgeführt wurden? Oder doch ein SharePoint 2010 Bug (soll ja vorkommen, nichts ist perfekt), der in speziellen Konstellationen auftritt?
Los gehts …
Die Lösung
Prinzipiell studiert man als SharePoint 2010 Infrastruktur Consultant mal das SharePoint 2010 TraceLog und auch die Microsoft Windows Server EventLogs. Offensichtlich tritt das Problem beim Aufruf der URL “http://…/_Layouts/EditProfile.aspx?…“ auf, dies ist ja der Link auf die “Mein Profil bearbeiten” Schaltfläche, die defekt ist.
Die Windows Server EventLogs haben keine wirklichen Hinweise enthalten, aber das SharePoint 2010 TraceLogs auf den SharePoint Web Servern waren hier schon hilfreicher…

Da steht also genau “Server out of Memory. There is no memory on the server to run your program” – da hat es wohl etwas mit dem “einem” Speicher zu tun?
HINWEIS: Die Correlation ID kann in den Screenshots abweichen, da diese sich laufend verändern und ich beim Erstellen dieses Blogeintrags jetzt nicht “genau” darauf geachtet habe (besser ich bin jetzt zu Faul dafür), dass die Screenshots genau zusammen stimmen.
Nach Kontrolle der Speichereinheiten (RAM, HDD) und auch der Auslagerungsdateien (pagefile.sys) auf den Servern ergab, dass es eigentlich kein Problem mit einem Speicher gab. Auch die Hardware meldete keine defekten Speichermodule. Hmmmm.
Nach langem Suchen und Einkreisen – wir haben uns sehr stark auch auf die nicht funktionierende “EditProfile.aspx” Seite konzentriert – haben wir aber festgestellt, dass das TraceLog noch mehr Probleme aufzeigt, die immer wieder mit dem Verweis auf “Out of Memory” endete, aber mit dem Ursprünglichen Problem, dass die “Mein Profil bearbeiten” Schaltfläche nicht funktioniert, eigentlich nichts zu tun haben kann. Auch wurden zahlreiche Memory Probleme gemeldet … und die Profile konnten über die Zentraladministration sauber bearbeitet werden … also doch nicht wirklich was mit den Profilen zu tun …

Man erkennt hier auch sehr schön, dass auch z.B. die Organisations Ansicht …/OrganizationView.aspx ähnliche Probleme hat, wie die “Profil bearbeiten” Funktion (auch wenn die Organisationsansicht sehr sauber - also ohne Fehler im Userinterface -gearbeitet hat) …
Wieder Hmmmm, interessant, Hmmmm … also irgendwas mit “Memory” ist wohl wirklich das Problem, aber was, wir haben doch schon so vieles analysiert und kontrolliert?
Wie immer, wenn das SharePoint 2010 Infrastructure Team nicht weiter kommt, schaltet man nun die SharePoint 2010 Developer ein, nachdem die Infrastruktur eigentlich keine nachweislichen Probleme aufweist. Developer können ja bekanntlich ein bisschen tiefer “reinschauen”. Nachdem sich unser Axel nun die Details angesehen hat und wir auch noch alle Solutions ausschließen konnten (auch dies wurde bei der Problemanalyse durch die Techniker verifiziert), war klar, dass es sich um ein Problem in der Publishing Infrastruktur handelt, konkret ein Problem mit dem Publishing Cache.
Da auf der SharePoint 2010 Server Farm auch die so genannten “object cache user accounts” vom SharePoint 2010 Infrastruktur Team konfiguriert wurden und dieser Konfigurationsschritt kürzlich erst vorgenommen wurde, hat das sich das Techniker Team sich diesem Thema nochmals gewidmet (der Begriff “Cache” war somit der entscheidende Hinweis, der dem Infrastrukturteam noch gefehlt hat).
HINWEIS: Wer genau wissen will, was “object cache user accounts” sind und warum man diese konfigurieren sollte, kann dies in folgendem TechNet Aritkel nachlesen …http://technet.microsoft.com/en-us/library/ff758656.aspx
Die “object cache user accounts” wurden über ein PowerShell-Script realisiert und genau dieses hat man sich nun im Detail nochmals angesehen und siehe da, hier wurde bei einem “copy/paste” Vorgang ein Fehler gemacht und die angegebenen UserAccounts wiesen u.a. falsche Zeichen auf (genau handelte es sich um einen claims-string).
Das PowerShell Script wurde nun korrigiert ausgeführt und siehe da, die Probleme waren beseitigt und die Schaltfläche “Mein Profil bearbeiten” funktionierte auch wieder einwandfrei.
Fazit
SharePoint 2010 ist ein komplexes System, die Fehlermeldungen nicht immer eindeutig (Interpretationsmöglichkeiten) und das Zusammenspiel von verschiedenen Kompetenzbereichen (involvierte Teams waren SharePoint Infrastruktur und SharePoint Development) führt schließlich zum Erfolg.
Technik ohne Probleme gibt es nun mal nicht und das Lösen eines Problems kann zu Problemen in ganz anderen Bereichen führen (die “object cache user accounts” wurden eingerichtet wegen einem EventLog Error, der nach dem Eingriff auch weg war, aber nun mal das “Memory” Problem aufriss).
Es macht Spaß in einem solchen Team arbeiten zu können, weil man nur im Team auch wirklich weiter kommt. Was wäre wohl eine IT ohne Probleme, eigentlich ja auch Fad, oder?
LG
Nahed Hatahet | nahed@hatahet.eu | www.hatahet.eu