Living a SharePoint life

Wednesday, December 18, 2013

Free ebook: Introducing Microsoft System Center 2012 R2

Microsoft System Center is one of the three pillars of Microsoft’s Cloud OS vision that will transform the traditional datacenter environment, help businesses unlock insights in data stored anywhere, enable the development of a wide range of modern business applications, and empower IT to support users who work anywhere while being able to manage any device in a secure and consistent way. The other two pillars of the Cloud OS are, of course, Windows Server 2012 R2 and Windows Azure, and Microsoft Press has recently released free Introducing books on these platforms as well.

The free eBook is available for download from the following link:

http://blogs.msdn.com/b/microsoft_press/archive/2013/12/16/free-ebook-introducing-microsoft-system-center-2012-r2.aspx

Saturday, December 14, 2013

Microsoft IT-Camp on Hyper-V and Systemcenter

Friday the 13th has an attitude to some people, for me actually it was an interesting day. Attending the Microsoft IT-Camp in Walldorf, Germany there where a lot of interesting information about System Center Virtual Machine Manager, Hyper-V, SMB 3.0 and Azure Pack. So here are just a few impressions.

Tuesday, November 19, 2013

Removing a corrupted search service from SharePoint 2010

Removing the SharePoint 2010 Search Service can become quite a pain. Especially when the removal hasn’t work out the way it should have. So what do you do when the removal failed and your attempts to reinstall the search service are failing as well? I suffered from the same pains and therefor I’ll go thru the step I took to get my search service back online in this blog article.



Wednesday, October 9, 2013

The Retro Powershell - Looking good in 8-Bit | Part 1

I wrote a little script that, when placed in your PowerShell Profile, will print a message similar to the old boot message you got from your breadbox.


Like a lot of people out there I started my IT career with a Commodore 64. It is still today a class of its own and amazing to see what people are capable to do with this incredible machine. Not only was the Commodore64 the best selling home computer of all times, it still has a huge fan base today. So why not get back the good old feeling back into your PowerShell?


Tuesday, October 1, 2013

Help! My ULS Logs are empty. What shall I do?

A few weeks ago we added a new dedicated application server to an existing farm. Everything seemed fine so far until a coworker called and informed me that the ULS wasn’t writing information to the log files. In fact the files were created but in the end no content was written to them.

After a short investigation in the Windows Event Logs I find a lot of these entries:

Friday, September 27, 2013

Privacy settings in SharePoint

Not only since it became clear to the public how deep the NSA digs the rabbit hole, privacy has always been a great issue in Germany. There is even a law that makes it mandatory for enterprises to assign personnel to make sure the company doesn’t violate privacy laws.

As an IT-Professional in Germany you therefor must meet the requirements to implement SharePoint in a manner that complies with these privacy laws. Keeping track of all the settings can be painful. Lucky for us, Microsoft has published an article on TechNet how to manage the most important privacy features in SharePoint.

TechNet article: Managing privacy (SharePoint Server 2010)

Thursday, September 26, 2013

Alternate Access Mapping (AAM) explained in less than 5 minutes

Do you have trouble to understand how Alternate Access Mapping (AAM) works? Well, here's a great YouTube video from LessThan5Min that explains just that in a very easy way. Check it out.

Why should you prefer A-records over CName in SharePoint

You might have heard that somebody was suggestion to use A-records for DNS instead of CName for your SharePoint installation. This question is often asked to me when I’m in class.

The reason for this is an authentication issue you might experience when using Kerberos and SharePoint. And since SharePoint 2013, were NTLM is deprecated, this issue might hit you when planning an update of your farm. More details can be found in the following Technet article:

Sunday, September 8, 2013

SharePoint Tools: The Caml Designer 2013

The Belux Information Worker User Group has released their new version of the Caml Designer 2013.

If you are a Sharepoint developer this is one tool for you.

Download the Caml Designer 2013

For a great article on how to use this tool check out the blog from Karine Bosch:

CAML Designer for SharePoint 2013

Friday, September 6, 2013

Get ALL of the sessions from SharePoint Conference 2012 in Las Vegas

You couldn't attend last year SharePoint conference in Las Vegas? Well neither could I, but Channel 9 has releases all the videos for the unlucky.

Now I need more time to watch them.

Thursday, August 29, 2013

Create a project management milestone view with the Content Query Web Part

In my last blog post I showed how you can create a nice looking calendar icon for a Content Query Web Part linked to an events list. Now I want to use the same icon to show information from a task list. You can use this for instance as a view for milestones in a project management site. If you haven’t read that article, I suggest you do that first. I will rely in this blog post heavily on information you can read in that article.


Thursday, August 22, 2013

Adding a calendar icon to a Content Query Web Part

I was working on a project the other day, when I stumbled upon this webpage with a nice little calendar done completely in CSS. So I was wondering if it would be possible to create an events list from this:



to this:


Wednesday, August 14, 2013

Eigene CSS Inhalte in einer SharePoint 2010 Seite einfügen

Diese Informationen funktionieren nur mit dem SharePoint 2010 Server und aktiviertem Publishing Feature. Mit SharePoint 2010 Foundation ist ein anderes Vorgehen notwendig, welches hier nicht beschrieben wird.

Die eigene CSS Datei erstellen

Die einfachste Methode eigene CSS Inhalte in einer SharePoint Seite einzufügen, ist die Masterdatei anzupassen. Als erstes sollte man sich immer eine Kopie der Masterdatei erstellen, bevor man Veränderungen daran vornimmt. Am besten kann man dies mit dem SharePoint Designer erledigen, da man damit auch gleich die Änderungen vornehmen kann. Kann man den SharePoint Designer nicht verwenden, so ist es möglich die Masterdatei aus der "Gestaltungsvorlagen und Seitenlayouts" Galerie in den Websiteeinstellungen herunterladen.

In der SiteCollection navigiert man in die Formatbibliothek und erstellt den Unterordner "Custom". Der Unterordner kann auch eine andere Bezeichnung erhalten, allerdings finde ich es in Ordnung wenn man gleich erkennen kann welche Inhalte im Ordner gespeichert werden. Die Formatbibliothek hat im Englischen die Bezeichnung "Style Library" und ist mit folgender URL erreichbar:
http://<SiteCollectionRoot>/Style%20Library/
Mit einem Editor der Wahl erstellt man seine CSS Datei und speichert schließlich diese in dem soeben erstellten Ordner. In diesem Beispiel nennen wir die Datei "customstyles.css". Auch hier gilt, die Datei kann beliebig benannt werden, es müssen aber die Pfade beim Einfügen in die Masterdatei angepasst werden.

Die CSS Datei in der Masterdatei einfügen

Nach einer neuen SharePoint 2010 Installation wird die v4.master Datei als Master verwendet. Wenn man die Datei noch nicht heruntergeladen hat bzw. noch nicht im SharePoint Designer geöffnet, dann tut man es jetzt. Als nächstes suchen wir folgenden Eintrag in der Datei:
<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server">
Jetzt fügen wir eine neue Zeile vor dem asp:ContentPlaceHolder Tag ein.
<SharePoint:CssRegistration name="<% $SPurl:~SiteCollection/Style Library/Custom/customstyles.css %>" After="corev4.css" runat="server"/>
Dieser Abschnitt registriert unsere CSS Datei und lädt diese nach der SharePoint eigenen "corev4.css" Datei. Somit wird sichergestellt, dass Änderungen die wir in unsere CSS Datei vornehmen die Defaulteinstellungen von SharePoint überschreibt.

Wednesday, July 17, 2013

Get 2 ESPC14 Tickets for the Price of 1

Die European SharePoint Conference wirft bereits ihre Schatten voraus. Dieses Jahr werden zwei Eintrittskarten zum Preis von einer verlost. Unter allen Einsendungen werden 30 Teilnehmer ausgelost.

Get 2 ESPC14 Tickets for the Price of 1:

Liste aller SharePoint 2010- und Office Server 2010 SP1-Pakete

Wollten Sie schon immer mal wissen welchen Service Pack Sie für SharePoint 2010 benötigen? Dieser Artikel führt alle Microsoft SharePoint 2010 und Office Server 2010 Service Pack 1 (SP1)-Pakete auf und gibt Informationen, wie Sie sie beziehen können:

http://support.microsoft.com/kb/2510766/de

Hyper-V Remote Management Configuration Utility (HVRemote)

Die Virtualisierungen von Servern ist heute keine große Kunst mehr. Mit Hyper-V stellt Microsoft sogar eine eigene kostenlose Version mit alle notwendigen Komponenten zur Verfügung. Allerdings kann die Konfiguration der RSAT Management Tools auf einem anderen Rechner ziemlich nervenaufreibend sein. Wenn man noch nicht sehr viele Erfahrungen mit den Remoting-Funktionen von Windows gesammelt hat, kann die Konfiguration am Anfang ganz schön frustrieren.

Man kann sich aber auch gleich viel Ärger ersparen indem man das Hyper-V Remote Management Configuration Utility (HVRemote) verwendet. Einfach auf den Servern, welche konfiguriert werden sollen und den Arbeitsplatzrechnern auf dem die RSAT Tools installiert sind, herunterladen und ausführen.

Tuesday, July 16, 2013

Property Bags in SharePoint mit der PowerShell konfigurieren

Ein Property bag in SharePoint ist eine Key/Value Speicher um verschiedenste Informationen in der Site zu speichern. Jede Site verwaltet seinen eigenen Property bag. Der normale Anwender wird diese Informationen nicht zu Gesicht bekommen und auch der Admin hat über die Zentral Administration keine Möglichkeit die Werte in dem Property bag zu verändern. Natürlich könnte ein Entwickler eine solche Komponente bereitstellen, aber das ist ein anderes Thema.

Warum ist die also der Property bag für den Administrator von Interesse? In größeren SharePoint Installationen möchte ich als IT-Professional wissen, wer wann welche Site bestellt hat. Diese Person nenne ich normalerweise den Site Owner. Der Site Owner ist die Person, welche letztlich entscheidet was mit der Site passiert.

Wir benötigen eine Zuordnung von Site Owner zur Site. Eine Möglichkeit wäre z.B. eine Liste zu führen und dort alle URLs und Kontaktdaten der Personen eintragen. Das wäre aber nicht die Art und Weise wie wir eigentlich mit SharePoint arbeiten. In SharePoint arbeiten wir mit Metainformationen und daher wäre es nur logisch, wenn der Site Owner eine Eigenschaft der Site wäre. Mit dem Property bag können wir genau das erreichen.

Als erstes setzten wir den Kontext auf die Site mit der wir arbeiten wollen:
$web = Get-SPWeb http://host.domain.tld/
Wir können uns alle vorhandenen Eigenschaften im Property bag anzeigen lassen:
$web.Properties
Um eine eigene Eigenschaft hinzu zu fügen, können wir die Methode Add() verwenden. Dabei nimmt die Methode zwei Parameter entgegen. Den Key und den Value.
Es spielt dabei keine Rolle, ob der Key Groß- und Kleinbuchstaben verwendet. Der Key wird automatisch in Kleinbuchstaben gewandelt.
$web.Properties.Add(“Key”, “Value”)
Um einen vorhandenen Key zu entfernen verwendet man die Methode Remove():
$web.Properties.remove(“Key”)
Änderungen die bisher am Property bag vorgenommen wurden sind nicht permanent und gehen verloren sobald die PowerShell Session beendet wird. Damit die Änderungen auch übernommen werden, muss der Property bag mittels der Methode Update() gespeichert werden.
$web.Properties.Update()
Vielleicht fallen euch noch andere Fälle ein bei dem man den Property bag gebrauchen kann. Postet eure Ideen einfach bei den Kommentaren.

Tuesday, May 28, 2013

.msg Dateien in einer SharePoint Dokumentenbibliothek mit Outlook öffnen

Eine neue Installation von SharePoint ist nicht unmittelbar in der Lage E-Mails, welche im Format .msg gespeichert wurde, direkt in Outlook zu öffnen. Stattdessen erhält man beim Öffnen der Datei nur die Option zum Speichern angeboten. Dieses Verhalten wird durch die Einstellungen des Browser File Handling in SharePoint gesteuert. Diese Einstellungen sind immer für eine WebApplication gültig und müssen daher ggf. in mehreren WebApplications vorgenommen werden.

Es gibt zwei Methoden die Einstellungen des Browser File Handling zu verändern. Mit der Einstellung „Strict“ werden MIME Typen, welche nicht in der SharePoint Property „AllowedInlineDownloadedMimeTypes“ eingetragen sind, nicht im Browser dargestellt und müssen heruntergeladen werden. Mit der Einstellung „Permissive“ wird es jedem nicht registrierten MIME Typ erlaubt, im Browser dargestellt zu werden.

Die Quick & Dirty Methode

Als Softwareentwickler will man so schnell wie möglich die IDE anwerfen und den ersten Proof of Concept fertigstellen. Leider führt dieser Drang auch dazu, dass die eigene Entwicklungsumgebung nicht so konfiguriert ist, wie es vielleicht der IT-Professional täte. Daher auch die Bezeichnung als Quick & Dirty.
Diese Methode geht sehr einfach an das Problem ran, in dem es die Standard Einstellung von Strict auf Permissive ändert. Für diese Einstellung gibt es aber eigentlich keinen Grund, da hiermit die Sicherheit von SharePoint geschwächt wird. Es sollte daher immer die sichere Methode den Vorzug gegeben werden. Dazu gleich mehr.

•    In der Zentraladministration unter dem Bereich Application Management den Punkt Manage Web Applications auswählen.
•    Die Web Application auswählen die konfiguriert werden soll.
•    Im Ribbon Menü den Punkt General Settings auswählen
•    Bis zur Einstellung Browser File Handling scrollen und die Einstellung auf Permissive ändern.

Nach Änderung Web Application Einstellungen muss noch der verknüpfte Application Pool recycled werden. Alternativ kann auch ein iisreset.exe /noforce ausführen.

Die sichere Methode

In einer Produktionsumgebung will man den Server möglichst Sicher betreiben. Daher ist es möglich die Einstellung für das Browser file handling auf Strict zu belassen und stattdessen den MIME Type zu registrieren. Hierfür sind zwei Schritte notwendig.

Als erstes muss der MIME Type im IIS registriert werden:

•    Start der Internet Information Manager Konsole
•    Den Server der Konfiguriert werden soll in der linken Spalte auswählen
Die Einstellung kann entweder für den ganzen Server oder nur für eine Web Application vorgenommen werden.
•    Die Einstellung für die MIME Typen öffnen und ein neues hinzufügen
•    Bei „File name extension“ die Endung .msg eintragen
Den Punkt vor der Endung mit angeben
•    Bei „MIME Type“ den Wert application/vnd.ms-outlook eintragen

Die Einstellungen müssen auf allen Web Frontend Servern in der SharePoint Farm vorgenommen werden.

Als nächsten Schritt muss man mittels der Powershell die Dateiendung .msg der Eigenschaften der Web Application hinzufügen. Am besten ist es man erstellt sich hierfür ein kleines Skript. Diese Einstellungen muss dann nur auf einem der Server in der Farm ausgeführt
$web = Get-SPWebApplication http://<eigene WebApplication eintragen>
If ($web.AllowedInlineDownloadedMimeTypes -notcontains "application/vnd.ms-outlook")
{
    $web.AllowedInlineDownloadedMimeTypes.Add("application/vnd.ms-outlook")
    $web.Update()
}
Als letztes werden alle Web Frontend Server über iisreset.exe /noforce neu gestartet.

Tuesday, April 16, 2013

Keine Verbindung mit dem SharePoint Administration Service - Windows Event ID 6398

Das Leben mit SharePoint ist immer spannend und abwechslungsreich. Das merkt man vor allem daran, dass man bei der Arbeit immer wieder mit Fehlern konfrontiert wird, welche man so noch nicht kannte. Vor allem dann, wenn die Fehlerbeschreibung einen erst einmal auf die falsche Fährte lockt.
Bei einem meiner Kunden habe ich im Windows Event Log folgenden Fehler vorgefunden:

Log Name: Application
Source: Microsoft-SharePoint Products-SharePoint Foundation
Date: 16.04.2013 05:10:30
Event ID: 6398
Task Category: Timer
Level: Critical
Keywords:
User: Farm account
Computer: Only for me to know ;)
Description: The Execute method of job definition Microsoft.SharePoint.Administration.SPTimerRecycleJobDefinition (ID dd6757f2-1684-4834-b419-8dafc87cdffc) threw an exception. More information is included below.

This operation uses the SharePoint Administration service (spadminV4), which could not be contacted.  If the service is stopped or disabled, start it and try the operation again.

Wie sich herausstellte, wurden auf dem SharePoint Server, auf dem auch der Microsoft Project Server installiert wurde, die Content Datenbanken und die Project Server Datenbanken, mittels des SQL Servers, wieder hergestellt. Dabei wurden die Datenbanken in die Farm eingespielt, ohne vorher den SharePoint Timer Service anzuhalten.

Nach einigem Suchen, habe ich schließlich ein Beitrag im Microsoft Forum gefunden, welcher genau mein Problem beschrieben hat. Leider gibt es im Netz eine Vielzahl verschiedener Ursachen für den Event Eintrag 6398. In meinem Fall hat es sich herausgestellt, dass durch das Wiederherstellen des Backups ein Timer Job zurückgeblieben ist, welches die Probleme verursachte. Mit folgendem Powershell Skript konnte ich schließlich den Timer Job isolieren und löschen.


PS C:\> $job = Get-SPTimerJob | where {$_.DisplayName -eq $null}
PS C:\> $job

Name                 Schedule             Last Run
----                 --------             --------
PWASSP_bd110576-8... daily between 00:... 01.01.0001 00:00:00

PS C:\> $job.Description
Project Server Shared Timer Job

PS C:\> $job.Delete()


Nachdem ich den alten Timer Job gelöscht hatte, konnte ich wieder auf die Liste der Timer Job zugreifen und die Fehler sind nicht mehr im Windows Event Log aufgetreten.

Friday, March 22, 2013

Ermitteln der IO Leistungsfähigkeit eines Windows Servers


Für den Betrieb einer SharePoint Farm ist ein funktionierender Microsoft SQL Server unabdingbar. Ohne geht es nicht. Deshalb bin ich der Meinung, dass es für uns Administratoren wichtig ist sich mit den Grundlagen des SQL Server vertraut zu machen. Wer einen DBA im Haus hat, der ihm die Arbeit abnimmt, ist an dieser Stelle fein raus ;) Der folgende Beitrag richtet sich daher vor allem an SharePoint Administratoren, die keinen SQL Speziallisten zur Hand haben.

Über die Installation und Konfiguration des Servers gibt es ausreichende Informationen. Sei es auf den TechNet Seiten, in Blogs, Zeitschriften oder Bücher. Eine Situation die ich aber häufiger einmal antreffe ist, dass das Thema Performance der SharePoint Farm viel zu spät oder gar nicht betrachtet wird. Da bei einer SharePoint Farm die Leistungsfähigkeit des SQL Clusters, im besonderen die der Festplatten, maßgeblich die Leistungsfähigkeit der SharePoint Farm beeinflusst, lohn es sich in jedem Fall hier zu Überprüfen ob alles so ist wie es sein soll.

Natürlich gibt es bei einer SharePoint Farm noch eine ganze Reihe weiterer Stellschrauben um die Performance zu verbessern. Ziel in diesem Beitrag soll es aber sein, die IO Leistung der Festplatten im SQL Server zu ermitteln. Dazu muss auf den Servern ein Last-Test durchführen und die durchschnittlichen Lese- und Schreibegeschwindigkeit, die IOPS Leistung und Latenz erfasst werden.

Überwachung der Leistungswerte


Warum ist es aber für den späteren Betrieb wichtig diese Werte im Vorfeld zu erfassen und zu dokumentieren? Bei der Überwachung eines Servers kann die Überwachung in zwei Kategorien unterteilt werden:
  • Reaktiv
  • Progressiv
Bei der reaktiven Überwachung wird auf die Änderung eines Indikators reagiert und z.B. eine Benachrichtigung versendet. Icinga ist so eine Lösung. Dabei werden in festgelegten Intervallen ein oder mehrere Dienste überwacht. Wenn sich dieser dann außerhalb der vordefinierten Parameter bewegt, wird Alarm ausgelöst.

Auf der anderen Seite haben wir die progressive Überwachung. Progressiv bedeutet in diesem Fall nicht, dass die Werte in der Überwachung immer weiter steigen, sondern der Begriff bezieht sich auf den zeitlichen Verlauf der Überwachung, also der fortlaufenden Überwachung. Dabei werden verschiedene Leistungswerte eines Servers langfristig protokolliert. Dies wird gemacht um langfristige Trends des Servers erfassen zu können. Die Windows Leistung Sammelungssätze sind ein sehr gutes Beispiel hierfür. Erst durch die Langzeiterfassung können wir erkennen potenzielle Probleme erkennen, dass z.B. die Netzwerkschnittstelle über Monate hinweg immer mehr und mehr Daten transportieren muss und bald die Kapazitätsgrenze erreicht ist.

Nun ist die Leistungsgrenze einer Netzwerkkarte verhältnismäßig  einfach zu ermitteln, da sich diese errechnen lässt. Eine 1Gbit/s Karte wird im Schnitt nicht mehr als 100MB/s transportieren können. Wie sieht es aber bei den Laufwerken aus. Auch hier könnten wir anhand der Datenblätter des Herstellers des SAN bzw. der Platten ungefähr ausrechnen was unser System leisten kann. Bei einem Festplattenspeicher spielen aber noch viel mehr Faktoren eine Rolle, welche sich auf die Leistungsfähigkeit auswirken können. Es ist daher einfacher das System aufzubauen und dann die Gesamtleistung, im Rahmen eines Lasttests, zu erfassen. Diese Leistungsgrenze wird im Englischen auch als “Baseline” bezeichnet. Mit Hilfe der Baseline können wir also in Zukunft, bei der progressiven Überwachung der Server, feststellen ob unser System an seine Leistungsgrenze kommt.

Festlegen der Indikatoren


Um die Baseline erfassen zu können, müssen wir überhaupt erst einmal festlegen, welche Leistungswerte in Zukunft aussagekräftige Informationen über die Leistung unseres Servers bereitstellen. Die Werte ermitteln wir mit Hilfe des Windows Leistungsindikatoren. Wer noch nicht mit den Leistungsindikatoren gearbeitet hat, dem empfehle ich die Artikel zur Einrichtung im TechNet vorher durchzuarbeiten.

Erste Schritte mit der Leistungsüberwachung (http://technet.microsoft.com/de-de/library/dd744567(v=ws.10).aspx)

IOPS



Die Abkürzung IOPS steht für den englischen Begriff “Input/Output Operations” per Second. Diese Angabe beschreibt die Fähigkeit des Datenbusses Kommunikationsbefehle zwischen dem Betriebssystem und dem Speichermedium zu transportieren. Die Angabe für sich alleine ist noch nicht sehr aussagekräftig, denn es gibt viele verschiedene Faktoren die berücksichtigt werden müssen. Ein wesentlicher Faktor ist die Größe der übermittelten Datenblöcke, welche bei einer I/O Operation transportiert wird. Um z.B. 100 MB in 16 kB Blöcken zu übertragen, muss das System doppelt so viele IOPS ausführen als wenn 32 kB Blöcke verwendet werden.


Indikator Beschreibung
Durchschnittl. Warteschlangenlängenlänge des Datenträgers-Lesend Die durchschnittliche Anzahl der Leseanforderungen, die für den gewählten Datenträger während des Abtastintervalls in der Warteschlange aufgenommen wurden.
Durchschnittl. Warteschlangenlängenlänge des Datenträgers-Schreibend Die durchschnittliche Anzahl der Schreibanforderungen, die für den gewählten Datenträger während des Abtastintervalls in der Warteschlange aufgenommen wurden.
Lesevorgänge/s Die Rate von Lesevorgängen auf dem Datenträger.
Schreibvorgänge/s Die Rate von Schreibvorgängen auf dem Datenträger.

Transportleistung


Mit der Transportleistung wird die Fähigkeit beschrieben eine Anzahl an Daten in einem Zeitraum zu transportieren. Diese Werte werden für gewöhnlich mit Bytes oder Megabyte  pro Sekunde angegeben.


Indikator Beschreibung
Bytes gelesen/s Die Rate, mit der Bytes während Lesevorgängen vom Datenträger übertragen werden.
Bytes geschrieben/s Die Rate, mit der Bytes während Schreibvorgängen auf den Datenträger übertragen werden.
Mittlere Bytes/Lesevorgang Die durchschnittliche Anzahl der Bytes, die während Lesevorgängen vom Datenträger übertragen wurden.
Mittlere Bytes/Schreibvorgang Die durchschnittliche Anzahl der Bytes, die während Schreibvorgängen auf den Datenträger übertragen wurden.
Mittlere Sec./Lesevorgang Die durchschnittliche Zeitdauer in Sekunden für das Lesen von Daten auf dem Datenträger.
Mittlere Sec./Schreibvorgang Die durchschnittliche Zeitdauer in Sekunden für das Schreiben von Daten auf den Datenträger.
Teil-E/A/s Gibt die Teilungsrate der E/As auf dem Datenträger an. Ein E/A kann geteilt werden, wenn Daten angefordert werden, die zu groß für einen einzelnen E/A sind oder wenn der Datenträger fragmentiert ist.

 

Andere relevante Messwerte



Zusätzlich zu den Indikatoren die sich mit dem Speicher System beschäftigen, ist es ratsam  auch die Indikatoren der CPU und ggf. der Netzwerkkarte zu Protokollieren. Bei der CPU interessieren uns vor allem die Prozessorzeit (%), die Menge der Interrupts/s und DPC in Warteschlange/s je Core. Bei intensiver Last der Speichermedien sollte die Prozessorzeit nicht sonderlich ansteigen. Dies könnte zum Beispiel beim Einsatz von iSCSI passieren, wenn der HBA kein TCP Off-Load unterstützt. Dann nämlich muss die CPU den zusätzlichen TCP/IP Overhead bearbeiten. Wenn iSCSI verwendet wird kann man die Netzwerkkarte, die mit dem Target verbunden ist, mit in die Überwachung aufnehmen.

SQLIO


Nachdem jetzt festgelegt wurde welche Werte wir ermitteln wollen, müssen wir uns noch Gedanken machen wie wir Last auf das System bringen. Microsoft bietet uns hierfür ein eigenes Tool an, welches auf den Downloadseiten kostenfrei heruntergeladen werden kann.


Nachdem man SQLIO installiert hat, befindet sich im Programme-Verzeichnis ein neuer Ordner mit den Dateien. Da SQLIO von der Befehlszeile aus gestartet wird, öffnet man am besten eine neue Eingabeaufforderung und navigiert in das entsprechende Verzeichnis.

Parameter

Damit SQLIO funktionieren kann, müssen noch einige Parameter konfiguriert bzw. bei Start mitgegeben werden. Alle notwendigen Informationen, damit man brauchbare Ergebnisse erzielen kann, sind in der Datei readme.txt nachzulesen.

Da SQLIO immer nur ein Test zurzeit durchführen kann, muss man wenn unterschiedliche Parameter getestet werden sollen, den Vorgang mit einer Batchdatei automatisieren. Hierfür legt man am besten im Verzeichnis von SQLIO eine neue .bat Datei an und öffnet diese zum Bearbeiten. In jeder Zeile schreibt man dann die Parameter mit der man sein Test ausführen möchte. Beim Schreiben des Logs sollte man darauf achten, dass diese unterschiedliche Namen erhalten. SQLIO überschreibt die vorhandene Logdatei anstatt sie anzuhängen.

Beim festlegen der Größe der Testdatei, sollte man außerdem darauf achten, dass diese größer ist als der im SAN eingesetzte Cache. Grade beim sequenziellen Lesen der Data können sonst die Ergebnisse verfälscht werden.

...und Los

 Sobald die Windows Leistungsindikatoren konfiguriert sind und die Berichte aufgezeichnet werden, kann der SQLIO Batch gestartet werden. Das Ergebnis der Protokollierung kann zu kontrollzwecken ggf. ein zweites Mal gestartet werden. In jedem Fall sollte man die Leistungsdaten aufheben und in der Dokumentation des Servers protokollieren.

Fazit

Bevor eine neue SharePoint Farm in Betrieb genommen wird, sollte die Ermittlung der gesamten Leistungsfähigkeit des Datenspeichersystems erfolgen. Bei der Problemverfolgung, können diese Informationen dem Administrator helfen, zu verstehen wo ggf. ein Engpass vorliegt. Die Ermittlung der Leistungsfähigkeit kann mittels SQLIO, einem Tool von Microsoft, kostenfrei erfolgen.

Zusätzlich bietet der Einsatz von SQLIO die Möglichkeit, beim Server ein Burn-In Test durchzuführen. Dies sollte erfolgen, bevor Produktionsdaten eingespielt werden. Somit wird das Risiko gesenkt, fehlerhafte Festplatten zu verwenden.




Weitere interessante Artikel zum lesen:




Featured Post

The Retro Powershell - Looking good in 8-Bit | Part 1

I wrote a little script that, when placed in your PowerShell Profile, will print a message similar to the old boot message you got from you...