Windows Server und iSCSI Boot-from-SAN

Hallo liebe Leser,

an dieser Stelle ein Hinweis betreffend der Verwendung von Windows Server mit Boot-from-SAN mit Hilfe von iSCSI.

KEIN iSCSI-Boot-From-SAN mit Windows Server!

Ich habe leider mehrfach die Erfahrung gemacht, daß verschiedene Hersteller sagen: nimm für eine hohe Flexibilität Deiner Umgebung doch Boot-from-SAN. Dieser Aussage würde ich prinzipiell zustimmen, jedoch mit einer großen Einschränkung: Wenn Windows Server zum Einsatz kommt und in der Umgebung kommt iSCSI als Storageprotkoll zum Einsatz – dann laßt es bitte sein.

Ich möchte an dieser Stelle deutlich machen, daß es zwar funktioniert, aber es macht immer solche Umstände und erfordert diverse Anpassungen, so daß ich aus mehreren Implementierungsprojekten (verschiedene Server und Storagehersteller wurden verwendet) in den vergangenen Jahren die Erfahrung mitgenommen habe, daß ich persönlich diese Konfiguration nicht empfehle, ja sogar aktiv ablehne. Eine Verwendung von iSCSI zum Anschluß von SAN-basierten Disks als Datenspeicher (z. B. Festplatte D: oder als Cluster Shared Volume) ist problemlos.

Als Gründe kann ich zum aktuellen Zeitpunkt keine technischen Artikel verlinken, aber die Summe der Erklärungen nachfolgend aus meinem Gedächtnis mal niedergeschrieben:

  • Der Windows Installer ist nicht Multipath-fähig
  • bei Verwendung von SAS oder FibreChannel kann der Installer die Pfade zum Storage dynamisch deaktivieren, so daß während der Installation immer nur ein definierter Storagepfad verwendet wird
    • dies funktioniert nicht bei iSCSI, daß heißt
      • der Server muß von außen so konfiguriert werden, daß nur eine iSCSI-Netzwerkkarte aktiv ist (z. B. durch Deaktivierung der NIC über ein WebBIOS des Servers oder aber das Netzwerkkabel eines iSCSI-Ports am Server abziehen)
      • wenn zwei Netzwerkkarten aktiv sind, sieht der Windows Server aufgrund des fehlenden Multipathings 2 Festplatten (die ja aber nur eine Festplatte im SAN sind) und schreibt die Installationsdaten dann falsch auf die Platte
      • der Installer läuft zwar durch, aber beim ersten Reboot nach der Installation erscheint zu 95 % ein Bluescreen (Initialize Disk Error)

funktionierender Installationsweg:

  • eine iSCSI-NIC deaktivieren
  • Windows installieren
  • anschließend im Windows OS das Multipathing konfigurieren
    • iSCSI Support aktivieren
    • ggf. DSM des Storageherstellers installieren
  • die deaktivierte Netzwerkkarte wieder aktivieren
  • im iscsicpl die Verbindung ganz sauber konfigurieren
    • Server-iSCSI-IP1 (Subnetz1) zu StorageNIC1 (Subnetz1)
    • Server-iSCSI-IP1 (Subnetz1) zu StorageNIC2 (Subnetz1)
    • Server-iSCSI-IP2 (Subnetz2) zu StorageNIC3 (Subnetz2)
    • Server-iSCSI-IP2 (Subnetz2) zu StorageNIC4 (Subnetz2)
  • reboot des Servers

Dieses notwendige Vorgehen funktioniert für eine kleine Anzahl ganz gut, bei manueller Installation, jedoch bei Umgebungen mit vielen Server oder vor dem Hintergrund einer Automation des Serverdeployments halte ich das notwendige Prozedere für nur schwer praktikabel.

Sollte jemand eine zuverlässige und herstellerunabhängige Lösung für dieses Problem besitzen, bitte schreibt mich an, ich korrigiere gern meine pauschale Aussage. Das Update wird dann selbstverständlich auf dieser Seite veröffentlicht.

Viele Grüße, David

Advertisements

DPM 2012 R2 UR7 re-release

Hallo,

gestern (am 02.09.2015) hat Microsoft das UR7 für den Data Protection Manager 2012 R2 erneut veröffentlicht. Grund dafür ist, daß beim bisherigen UR7 abgelaufene Wiederherstellungspunkte nicht von der Disk gelöscht werden, was zur Folge hat daß unnötig Speicherplatz belegt wird. (http://blogs.technet.com/b/dpm/archive/2015/09/02/dpm-2012-r2-ur7-re-released.aspx).

Alle, die das UR7 bereits instaliert haben, sollten sich das aktualisierte DPM 2012 R2 UR7 von Microsoft herunterladen (https://support.microsoft.com/en-us/kb/3065246) und einfach auf der bestehenden Installation anwenden. Ein Update der DPM Clients ist nicht notwendig, auch die Versionsnummer bleibt gleich (4.2.1338).

Alle die das UR7 noch nicht installiert haben sollten dies jetzt nachholen und das Updatepaket anwenden. Das UR7 wird nicht über Microsoft Update ausgeliefert.

Viele Grüße, David

Empfehlung: TechNet Blog – Installation und Upgrade DPM 2012 (SP1 / R2)

Hallo,

auf dem TechNet Blog für DPM hat der Microsoft Mitarbeiter J. C. Hornbeck mal einen ausführlichen (englischen) Blogpost zur Installation bzw. zum Upgrade eines Standalone DPM 2012 Servers veröffentlicht. Ich finde den Eintrag empfehlenswert, da er auf diverse zu beachtende Punkte eingeht und die Installation gut beschreibt: http://blogs.technet.com/b/dpm/archive/2015/08/10/how-to-setup-or-upgrade-a-dpm-2012-standalone-server.aspx

Viele Grüße, David

Installation DPM 2012 R2 UR7

Hallo,

nachdem gestern das UR7 für den DPM 2012 R2 veröffentlicht wurde, habe ich heute mal eine Testinstallation aktualisiert.

Das Ergebnis:

versionNrDPMUR7

die Installation ist problemlos und hat bei mir keine Fehler verursacht.

Installationsschritte gültig für DPM Server mit lokal installierter Datenbank:

  1. Upgradepaket runterladen
  2. Backup der DPM DB anfertigen
  3. das Paket „Detectoid for System Center 2012 R2 – Data Protection Manager Server-all-dataprotectionmanager2012r2-kb3065246_412609add0d2e4da18e19e4386fc39c3b1b44c42.exe“ ausführen und den Anweisungen folgen
  4. Agenten über die DPM-Konsole aktualisieren (bei mir war kein Reboot der Clients notwendig)
  5. für Server 2003 gelten fast die angegebenen Schritte vom KB-Artikel (https://support.microsoft.com/en-us/kb/3065246)
    • kopieren des Agentinstallers auf den zu schützenden Server 2003 von
      • 64-bit:DPM_Installation_Location\DPM\agents\RA\4.2.1338.0\amd64\1033\DPMAgentInstaller_Win2K3_AMD64.exe
      • 32-bit:DPM_Installation_Location\DPM\agents\RA\4.2.1338.0\i386\1033\
        DPMAgentInstaller_Win2K3_i386.exe
    • auf dem zu schützenden Server 2003 öffnen einer Admin-CMD und folgenden Befehl ausführen
      • [DPM Agent Installation Location]\DPM\bin setdpmserver.exe –dpmservername FQDN_DPM_Server_Name
      • auf dem DPM Server Refresh auf den 2003 Server um Agenten zu kontaktieren
      • HINWEIS: im KB-Artikel wird für W2K3 immer noch auf VC++ 2008 und .NET3.5 verwiesen, sollten bei der Installation des UR7-Agenten Fehler auftreten empfehle ich folgenden Artikel: https://it-rumpelkammer.de/2015/06/23/dpm-2012-u6-agent-auf-server-2003-installieren/

Damit ist das Upgrade durchgeführt. Es gilt, wie für alle anderen Softwareprodukte, der Hinweis das Upgrade evtl. in einer unkritischen Zeit surchzuführen, es kann nie ausgeschlossen werden daß ein zu schützender Server einen Reboot nach der Agentenaktualisierung benötigt.

Weiterer Hinweis: ist eine DPM Installation mit mehreren Servern vorhanden, so ist zumindest bei DPM Chaining ein Upgrade aller Server zwingend notwendig, bei zwei eigenständigen Servern wird ein gleicher Upgradestand der DPM Server zumindest empfohlen.

Bis zum nächsten Mal!

DPM 2012 R2 Update Rollup 7

Hallo,

das Update Rollup 7 für den Data Protection Manager 2012 R2 wurde veröffentlicht. Zu finden sind die Infos und der Download unter (englischer Artikel): https://support.microsoft.com/en-us/kb/3065246

Foglende Neuerungen werden dadurch implementiert:

  • Support für Windows 10 als Backupquelle
  • Nutzung eines alternativen DPM Servers beim Recovery von Daten aus einem Azure Backup Vault
    • Voraussetzung dafür ist, daß alle DPM Server, welche für das Recovery genutzt werden auf den gleichen Azure Backup Vault registriert sind

Zusätzlich zu den neuen Features werden wie immer ein paar Fehler korrigiert, unter anderem (für eine vollständige Übersicht siehe den KB-Artikel):

  • Hyper-V Replica: es wird jetzt immer die bei der Einrichtung angegebene VM gesichert, bisher kam es sporadisch zu einem Wechsel der Backuquelle (Original-/Replica-VM) ohne eine Möglichkeit der manuellen Steuerung
  • beim Anlegen einer Schutzgruppe wurde nicht immer der aktuelle Stand der Quellserver-Im Filestruktur angezeigt
  • Im Wiederherstellungstab wurden die Online Wiederherstellungspunkte bisher nicht angezeigt
  • und noch mehr

Sobald ich das Update Rollup mal installiert habe werde ich mögliche Probleme hier auf diesem Blog mitteilen. Wenn Ihr in nächster Zeit nichts hört, gibt es keine Probleme.

David

P.S. Auch für die anderen System Center Produkte ist das UR7 erschienen. Mein Kollege Robert Lehmann zeigt Euch das UR7 für den Virtual Machine Manager 2012 R2: http://cloud-os-blog.com/2015/07/29/update-rollup-7-for-system-center-2012-r2-virtual-machine-manager/

DPM 2012 U6 – Agent auf Server 2003 installieren

Obwohl ja Server 2003 bald ein definitves Support Ende erfährt, habe ich noch einmal ein Erlebnis dazu. Und zwar sollte der DPM Agent auf einem Server 2003 installiert werden. Der DPM Server war frisch aufgesetzt, das heißt erst DPM 2012 R2 vom Medium installert und dann direkt UR6.

Wenn man die Anleitung unter https://support.microsoft.com/de-de/kb/3030574 befolgt, muß man den Agenten manuell installieren. Dazu wird als Voraussetzung genannt, daß DonNet3.5 und die Visual C++ 2008 Redistributable benötigt werden.

Alles ausgeführt, allerdings zeigt der DPM den Agenten nach der Installation und Aktualisierung eine falsche Versionsnummer (4.1.3313.0).

DPMagentW2K3wrongversion

Eine Aktualisierung über den DPM Server schlug fehl. Jedoch bekommt man bei der Aktualisierung drei Hinweise:

1. Agent über Systemsteuerung – Software vom 2003er Server entfernen

2. DonNet 4 installieren

3. Visual C++ 2010 installieren

Also einen neuen Durchgang gestartet. Agent deinstalliert, DotNet4 und vcredist2010 auf den Server installiert.

Dann mußte auf dem DPM Server mit Hilfe von „Remove-Productionserver.ps1“ noch der 2003er Server aus der DPM Konsole entfernt werden.

Anschließend erneut den Agenten manuell auf dem 2003er Server installiert, auf dem DPM Server den Agenten verbunden und siehe da -> es funktioniert:

DPMagentW2K3working

Zusammenfassung der notwendigen Schritte wenn bereits ein fehlerhafter DPM 2012 R2 UR6 Agent auf einem Server 2003 ist:

  1. Deinstallation Agent auf dem W2K3 Server über „Systemsteuerung – Software“
  2. Entfernen des Hosts aus der DPM-Agentenanzeige mit Hilfe des Powershell Skriptes „Remove-ProductionServer.ps1“ (auf dem DPM Server)
  3. Installation vcredist_2010_x86 auf dem W2K3 Server (in der Anleitung zum UR6 steht vcredist_2008_x86)
  4. Installation DotNet4 x86 auf dem W2K3 Server (in der Anleitung steht DotNet35)
  5. Installer für den Agent auf dem W2K3 Server erneut installieren
  6. Auf dem W2K3 Server „setdpmserver –dpmservername [FQDN.DPM.Server]
  7. Auf dem DPM im Agententab den Agenten des W2K3 Servers verbinden

Bis zum nächsten Mal!

Active Directory – Gruppenfilterung aller GPOs als CSV ausgeben

Hallo,

und noch ein Skript. Mit dem nachfolgenden Skript werden von allen Gruppenrichtlinienonjekten die Gruppen oder Benutzer ausgegeben, auf welche die GPO angewendet bzw. gefiltert wird (siehe Screenshot) .

GPO-Sicherheitsfilterung

Ausgabe ist eine kommaseparierte Textdatei.

Aufruf:

GPOPermAsCSV.ps1

–> Ausgabe erfolgt nach C:\Temp\GPOPerm.csv

mit Parameter eigener Filename möglich:

GPOPermAsCSV.ps1 -Outputfile C:\temp\GPOfilteredGroups.csv

Skript: GPOPermAsCSV.ps1

#Beim Aufruf den Pfad für Output abfragen, Standard ist C:\Temp\GPOPerm.csv
param (
    [Parameter(HelpMessage='Bitte Pfad und Dateiname für Output angeben (z. B. C:\Ordner1\Datei1.csv)')]
    $Outputfile = 'C:\Temp\GPOPerm.csv'
      )

#Prüfen ob Datei bereits vorhanden, wenn ja, dann löschen
if ((Test-Path $Outputfile) -eq $true) {del $Outputfile}

#Variablen initialisieren
$i=0
$a=0
$GPOs = @()
$GPOs += 'Name'
$output =@()
$outputneu = @()

#Alle GPOs mit deren Eigenschaften auslesen
$AllGPOs = Get-GPO -All

#Anzahl GPOs messen
$GPOcount = $AllGPOs.Count

#GPO-Namen in Variable $GPOs schreiben
for ($a; $a -le $GPOcount; $a++) {$GPOs += ,$AllGPOs[$a].DisplayName}

#Da $GPOs[0] den Wert 'Name' hat, ab 1 beginnen
$a = 1

#Spaltenüberschrift schreiben
$Spaltenüberschrift = "GPO-Name,AD-Objekt,Berechtigung,vererbt"
$Spaltenüberschrift >> $Outputfile

#Für jede GPO die Permissions auslesen
for ($a; $a -le $GPOcount; $a++)  {
                        $output = Get-GPPermissions -All -Name $GPOs[$a]
                        $Anzahl = $output.Count
                        for ($i; $i -le $Anzahl; $i++)
                        {
#und wenn das GpoApply (Gruppenrichtlinien anwenden) auftaucht, die berechtigte(n) Gruppe(n) rausschreiben
                         if ($output.Permission[$i] -eq "GpoApply")
                         {
#Zuweisen der einzelnen Werte in eigene Variablen um am Ende einen String zu erhalten
                            $GPOName = $GPOs[$a]
                            $ADObject = $output.Trustee[$i].Name
                            $Permission = $output.Permission[$i]
                            $vererbt = $output.Inherited[$i]
                            $GPORight = [string]::Join(",", $GPOName, $ADObject, $Permission, $vererbt)
                            $GPORight >> $Outputfile
                         }
                        }
                        $i = 0
                     }
Write-Host "Done"

Viel Spaß!