Drücke "Enter", um den Text zu überspringen.

Schlagwort: Windows Server

Windows Server 2012 R2: iSCSI Target und Initiator einrichten

Seit dem Windows Server 2012 ist ein Software iSCSI Target mit an Board, welches früher separat beschafft und nachinstalliert werden musst. Dieses kann z.B. wunderbar für die Einrichtung eines Failover-Clusters verwendet werden, oder auch für Datensicherung “off-site”. Die Einrichtung des Targets und eines Initiators möchte ich hier beschreiben:

Das iSCSI-Target

Zu erst einmal muss das iSCSI Target auf einem Windows Server installiert werden. Dies geschieht am besten über den Server-Manager und dort über “Verwalten” / “Rollen und Features hinzufügen”. Dort ist dann in der Liste der Features der “iSCSI-Zielserver” auszuwählen:

iscsi0

Ist dies erledigt, können (ebenfalls über den Servermanager) iSCSI-Disks und –Targets eingerichtet werden. Dies geschieht im Bereich “Datei-/Speicherdienste”. Dort kann man einfach “Starten Sie den Assistenten für neue virtuelle iSCSI-Datenträger…” auswählen:

iscsi1

Auf der ersten Seite des Assistenten ist zu wählen, wo die für die iSCSI-Disk verwendete VHDX-Datei abgelegt werden soll. Man kann entweder nur das Laufwerk wählen, dann wird dort ein neuer Ordner “iSCSIVirtualDisk” angelegt, oder man wählt einen eigenen Pfad:

iscsi2

Auf der nächsten Seite ist einfach nur der Name der künftigen Disk festzulegen:

iscsi3

Im dritten Schritt kann man wählen, ob die iSCSI-VHDX eine Datei “Fester Größe”, eine “Dynamisch erweiterbare” oder eine “Differenzierende” ist. Dynamisch erweiterbar spart dabei erstmal Speicherplatz, da die Datei mit den darin abgelegten Daten mit wächst. Dafür ist hier ein kleines Delay “vorprogrammiert”, weil eben immer wieder neu Speicherplatz angefordert werden muss, wenn die Datei wachsen soll. Für Testumgebungen oder wenn der Speicherplatz sehr knapp ist kann man das aber dennoch verwenden:

iscsi4

In den nächsten Beiden Schritten kann nun gewählt werden, ob ein vorhandenes iSCSI-Target verwendet oder ein neues angelegt werden soll:

iscsi5 iscsi6

In meinem Fall habe ich ein neues Target erstellt.

Nun müssen zulässige Server für den Zugriff ausgewählt werden, die so genannten “Initiatoren”. Dies geschieht durch einen Klick auf “Hinzufügen”:

iscsi7

Die Initiatoren werden für gewöhnlich über einen sogenannten IQN identifiziert. Dieser kann ab Windows 8 und Server 2012 direkt vom Server abgefragt werden (obere Option). Hat man bereits einen IQN abgefragt, so steht dieser dann bei der mittleren Option für weitere Targets zur Verfügung. Als dritte Option kann man das Ziel über DNS, IP oder durch händische Eingabe des IQN bestimmen:

iscsi8

Ich werde hier von einem anderen WS2012R2 zugreifen, daher kann ich die obere Variante wählen:

iscsi9

iscsi11

Wenn das iSCSI-Target später für einen Failover-Cluster genutzt werden soll, dann müssen alle künftigen Knoten eingetragen werden:

iscsi12

Optional kann nun noch CHAP, das “Challenging Handshake Protocol” aktiviert werden, um etwas mehr Sicherheit zu bekommen:

iscsi13

Zum Schluss gibt es noch eine Zusammenfassung:

iscsi14

Sind die Targets eingerichtet, so tauchen diese dann künftig im Servermanager auf:

iscsi15

Der iSCSI-Initiator

Für den Server- oder Clientseitigen Zugriff auf das eingerichtete iSCSI-Target wird der iSCSI-Initiator verwendet, welcher standardmäßig bei den moderneren Client- und Serverbetriebssystemen dabei ist:

iscsi1_0

Beim ersten Start kommt eine Abfrage bezüglich des Dienstes. Diese muss mit “Ja” beantwortet werden. Danach können Ziele eingerichtet werden, in dem die Adresse oder der Hostname des Target-Servers in das oberste Feld eingetragen wird und dann auf “Schnell verbinden” geklickt wird:

iscsi2

Wenn das Zielsystem sauber kontaktiert werden konnte, dann sollte man nun die eingerichteten Targets sehen können:

iscsi3

Entweder man klickt hier direkt auf “Verbinden” oder erst einmal auf “Fertig” (dann kann man später noch Multipath aktivieren).

Nun sollten die Ziele in etwa so aufgelistet sein:

iscsi4

Wenn man nun eines auswählt und auf “Verbinden” klickt, kann die Verbindung (unter Nutzung von Multipfad) hergestellt werden:

iscsi5

Am Ende sollten die Targets so im Initiator auftauchen:

iscsi6

Nun kann über [WIN]+[X] die Datenträgerverwaltung geöffnet werden:

iscsi7

Dort tauchen die Laufwerke nun auf und können partitioniert und formatiert werden. Das wäre es dann auch schon gewesen…

iscsi8

iscsi9

Schreibe einen Kommentar...

Hyper-V und USB-Datenträger

Oft liest und hört man, dass Hyper-V nicht mit USB-Datenträgern umgehen kann/könne. Dies wird mit der Generation-2-VM unter Windows Server 2012 R2 (Hyper-V 4.0) anders. Dort ist es dank des “Erweiterten Sitzungsmodus” möglich, eine Hyper-V VM auch ohne Netzwerk per RDP anzusprechen und dabei auch Laufwerke mitzunehmen.

Aber: Auch unter den älteren Hyper-V-Versionen bzw. auch bei Generation-1-VMs lassen sich USB-Datenträger mit in die VM “hineinreichen”. Dies klappt allerdings leider nur dann, wenn sich der Datenträger als Festplattenlaufwerk präsentiert (i.A. also bei USB- und Firewire-Festplatten). Dazu muss folgendermaßen vorgegangen werden:

1. Datenträger am Host-System über die Datenträgerverwaltung offline schalten:

hvusb1

(Die Datenträger-Verwaltung erreicht man bei Windows 8 bzw. dem Server 2012 am einfachsten mit [WIN]+[X])

Dann kann man per Rechtsklick auf den gewünschten Datenträger diesen offline schalten:

hvusb2

hvusb3

2. Den Datenträger als Pass-Through-Disk an die Hyper-V VM als neues Laufwerk anbinden:

hvusb4

(Da Hyper-V mit dem SCSI-Controller auch hotplug-fähig ist, klappt dies sogar, während die VM läuft)

hvusb5

Statt einer vorhandenen virtuellen Festplatte wählt man eben unten eine physische Festplatte aus; hier werden nur Datenträger zur Auswahl angeboten, die beim Host offline sind.

3. Datenträger an der VM online schalten und benutzen:

In der Datenträgerverwaltung des Gast-Systems taucht nun eine Festplatte auf, die aber noch offline ist. Analog zum Offline-Schalten im ersten Schritt erfolgt hier nun die Online-Schaltung:

hvusb6

 

Anschließend steht die USB-Festplatte in der Gastbetriebssystem-Umgebung zur Verfügung:

hvusb7

Vor dem Trennen der USB-Platte sollte diese sauber (den bisherigen Weg rückwärts) ausgehangen werden, um Datenverlust o.ä. zu vermeiden.

2 Comments

Problem bei der Installation des DHCP-Servers unter Windows Server 2012, Fehler 0x800f0922

Ein Kollege bat mich, mir ein Problem bei einem DHCP-Server anzusehen. Dieser ließ sich nicht mehr starten und auch ein Entfernen der Rolle brachte insofern keine Abhilfe, da sich die Rolle nicht mehr neu installieren ließ. Es wurde immer der Fehler 0x800f0922 gemeldet:

dhcp-error1

Der Fehler ließ sich auch nicht durch eine Reparatur des Komponentenspeichers mittels “dism /Online /Cleanup-Image /RestoreHealth” beheben.

Eine genauere Analyse zeigte schließlich, dass der Ordner “C:\Windows\System32\DHCP” einen Teil seiner NTFS-ACLs verloren hatte (Vollzugriff bestand nur für eine unbekannte SID statt für “DHCPServer”).

dhcp-error2

Nachdem dies korrigiert war, konnte der Ordner gelöscht werden und schlussendlich ließ sich dann auch die DHCP-Rolle wieder sauber installieren!

So sollten dann die ACLs für den DHCP-Folder aussehen:

dchp-error3

Schreibe einen Kommentar...

Daten-Deduplizierung in Windows Server 2012

Eine unglaublich praktische und einfach zu nutzende Neuerung im Windows Server 2012 ist die Daten-Deduplizierung der Dateiserver-Rolle. Diese Funktion ermöglicht es, je nach Zusammensetzung der Dateien, sehr viel Speicherplatz auf einem Dateiserver zu sparen.

Die Deduplizierung arbeitet dabei nicht wie bei anderen Produkten auf Dateibasis, sondern blockbasiert. Alle Dateien eines Volumes, bei dem die Deduplizierung aktiviert ist, werden nach mehrfach vorkommenden “Chunks” durchsucht. Chunks sind variable Einheiten zwischen 32 und 128 Kilobyte (Dateien kleiner als 32kB werden nicht betrachtet). Die Chunks selber werden zusätzlich komprimiert. Kommt nun ein Chunk mehrfach vor, muss er nur einmal gespeichert werden.

Weitere Eigenschaften der Deduplizierung:

  • Transparent (Der Anwender sieht seine Files weiterhin wie bisher)
  • On-Schedule statt On-Access (Deduplizierung findet nicht beim Schreiben statt, sondern “später” laut Zeitplan)
  • Alters-basiert (Dateien werden erst ab einem gewissen Alter dedupliziert; Dateien, die sich jeden Tag ändern sind eher ungeeignet für die Deduplizierung)
  • Ressourcenschonend
  • Redundanz (Wenn ein Chunk von min. 100 Dateien referenziert wird, wird er mehrfach abgespeichert)

Was geht mit der Deduplizierung NICHT bzw. welche Einschränkungen gelten:

  • Lässt sich nicht auf dem Betriebssystem-Volume nutzen
  • Nur für NTFS-Volumes verfügbar (auch nicht für ReFS!)
  • Laufende VMs (bzw. deren VHDs) lassen sich nicht deduplizieren
  • Cluster Shared Volumes können nicht dedupliuziert werden

Wie lässt sich die Deuplizierung nun verwenden? Als erstes muss der Rollendienst installiert werden. Dies geht z.B. per Servermanager:

dedup1

Hinzufügen der Rollen & Features via Servermanager

dedup2

Rollenbasierte Installation

dedup3

Auswahl des gewünschten Zielservers

dedup4

Auswahl des Rollendienstes “Datendeduplizierung” in der Rolle “Datei- und Speicherdienste”

dedup5

Features werden keine benötigt

dedup6

Zusammenfassung der Auswahl, Start der Installation

dedup7

Abschluss der Installation

Nach Abschluss der Installation muss nun noch die Deduplizierung konfiguriert werden. Dies geschieht ebenfalls über den Servermanager, dort über die “Datei-/Speicherdienste”:

dedup8

Dann wird die Deduplizierung für das gewünschte Volume konfiguriert/aktiviert:

dedup9

Wichtig ist, dass hier einerseits die Deduplizierung aktiviert wird, das Mindestalter für zu deduplizierende Dateien festgelegt wird und der Zeitplan festgelegt wird.

dedup10

Zusätzlich könnte man hier noch Dateierweiterungen ausschließen oder sogar ganze Speicherorte (Ordner).

Beim Zeitplan ist grundsätzlich die Hintergrundoptimierung aktiv, die wirksam wird, wenn der Server gerade nichts zu tun hat. Dazu kann man dann bis zu 2 Zeitpläne für die Durchsatzoptimierung festlegen, bevorzugt zu Zeiten, in denen der Server regulär keine Last hat. (Hintergrundoptimierung kann bei VMs mitunter schwierig sein, weil sich der IO auf dem Storage nicht von einer einzelnen VM bewerten lässt).

dedup11

Nun noch eine kleine “Demo”: Ich habe auf einem Volume einige Beispieldaten vorbereitet:

dedup12

Hier liegen also 50 Dateien (Inhaltlich identisch, ist aber natürlich kein Muss). Diese belegen zusammen etwa 5GB.

Nach der Deduplizierung sieht es dann so aus:

dedup13

Hier ergibt sich also eine extrem hohe Einsparung: 200 Kilobyte statt 5 Gigabyte! Wäre die Blockgröße auf dem Volume noch kleiner, wäre noch weniger belegt, denn die 200kB ergeben sich aus 50 Files x 4kB Blocksize. Jedes der 50 Files belegt nur noch 4 Kilobyte, also insgesamt ist schon jedes File für sich kleiner als vorher!

(Dieses Beispiel ist etwas konstruiert. Die Dateien enthalten jede die Zeichenkette “0123456789” so oft, bis sich 100MB ergeben. Dadurch ist auch innerhalb der Dateien eine gute Deduplizierung möglich)

Im Servermanager wird dies nun auch noch entsprechend angezeigt:

dedup15

Interessant ist jetzt noch ein Blick in das Ereignisprotokoll:

dedup16

Hier sieht man u.a., dass der gesamte Vorgang in meinem Beispiel nur 54 Sekunden gedauert hat! (Und zwar auf einer einzelnen, klassischen (Nicht-SSD) Notebook-Festplatte, also weder schnelles RAID noch SAN oder so und in einer Hyper-V-VM)

Schreibe einen Kommentar...

Walk-Through: Bereitstellen einer IPAM-Umgebung unter Windows Server 2012

Mit dem Windows Server 2012 hält auch ein neues Werkzeug Einzug in den Administrations-Alltag: Der IP-Adress-Verwaltungsserver, kurz IPAM. Dieses Werkzeug ist in der Lage, die gewachsenen IP-Address-Strukturen zu verwalten, zu analysieren und auch abzufragen. Dabei greift er auf folgende Quellen zu:

  • Domänen-Controller
  • DHCP-Server
  • DNS-Server
  • NPS-Server

Damit bietet er die Möglichkeit, die IP-Address-Verwaltung per Excel-Tabelle durch ein modernes, leistungsfähiges Werkzeug zu ersetzen.

Leider ist die Installation bzw. Einrichtung nicht ganz trivial, daher möchte ich diese hier Schritt für Schritt erläutern.

Bereits vorbereitet für dieses “Walk-through” ist eine kleine Demo-Umgebung bestehend aus einem Domänencontroller samt DNS (DC.hertes.lab), ein DHCP-Server samt Scope (DHCP.hertes.lab) sowie ein Member-Server für die künftig Aufgabe als IPAM (IPAM.hertes.lab).

WICHTIG: IPAM darf nicht auf einem Domänencontroller installiert werden. Das TechNet liefert hierfür zwar keine Erklärung, ich vermute aber, dass dies an der nötigen Datenbank (hier: Windows Internal Database, WID) liegt. Ab Server 2012 R2 ist auch ein “richtiger” SQL-Server möglich.

Als erstes muss der IPAM als Feature auf dem entsprechenden Server installiert werden. Dies geschieht über den Servermanager (alternativ per PowerShell):

ipam1

ipam2

ipam3

ipam4

ipam5

ipam6

Die benötigten, abhängigen Komponenten wie eben die WID oder auch die GPO-Verwaltung, werden automatisch mit installiert:

ipam7

ipam8

ipam9

ipam10

ipam11

Ein Neustart nach der Installation ist im Allgemeinen nicht erforderlich. Selbst wenn man den Haken für den automatischen Reboot gesetzt hat, wird nur neugestartet, wenn dies nötig ist.

Nach der Installation erfolgt die Einrichtung des IPAMs durch den entsprechenden Bereich im Servermanager (ein eigenständiges Werkzeug oder MMC-SnapIn existiert nicht). Die Administration inkl. Einrichtung kann auch remote erfolgen. Dazu ist über die Remoteserververwaltungstools (Feature) der IP-Adressverwaltungsclient zu installieren:

ipam_rsat

Die Einrichtung selber besteht aus 6 (bzw. eigentlich 7) Schritten, welche in einer Art Assistenten im Servermanager (links im Menü unter “IPAM”) abzuarbeiten sind:

  1. Verbindung mit IPAM-Server herstellen
  2. IPAM-Server bereitstellen
  3. Serverermittlung konfigurieren
  4. Serverermittlung starten
  5. Server zum Verwalten und Überprüfen des IPAM-Zugriffs auswählen oder hinzufügen
  6. Daten von verwalteten Servern abrufen

Nach dem Schritt 3 ist ein weiterer Schritt nötig, der hier nicht aufgeführt wird und nur per PowerShell erledigt werden kann. Darauf gehe ich später gesondert ein.

Die GUI zeigt die 6 Schritte. Der erste Schritt wird automatisch ausgeführt, wenn die IPAM-Konsole auf dem IPAM-Server selber gestartet wird.

ipam13

Ansonsten ist durch einen Klick auf den ersten Punkt eine Verbindung mit dem gewünschten IPAM-Server herzustellen:

ipam14

Als nächstes wird der IPAM-Server bereitgestellt. Dies kann manuell (nicht zu empfehlen) oder per GPO (sehr komfortabel) erfolgen. Bei der GPO-Variante ist nur ein Präfix anzugeben, der den künftigen drei GPOs namentlich vorangestellt wird:

ipam14-2

ipam15

ipam16

ipam17

ipam18

Nach diesem Schritt existieren die GPOs nur auf dem IPAM-Server, noch nicht auf dem Domänencontroller. Dazu kommen wir gleich…

In Schritt 3 werden die zu verwaltenden Domänen und Server ausgewählt:

ipam19

ipam20

Hier findet sich auch – etwas unglücklich platziert – der Hinweis auf den (zwingend nötigen) “siebten Schritt”: Das Schreiben der GPOs auf den DC mittels PowerShell-Cmdlet “Invoke-IpamGpoProvisioning”:

ipam20a

ipam20b

Schickt man den Befehl ohne Parameter ab, werden diese danach automatisch abgefragt.

Wichtig: Das Ausführen dieses Cmdlets muss (interaktiv) auf dem IPAM-Server erfolgen. Es funktioniert weder per Enter-PSSession noch per Invoke-Command!

Im Schritt 4 werden nun die Server der ausgewählten Umgebung ermittelt:

ipam21

Dabei wird eine “IP-Adress-Verwaltungsaufgabe” gestartet, deren Fertigstellung man abwarten muss:

ipam22

ipam23

Nun können im Schritt 5 die zu verwaltenden Server ausgewählten werden. Dabei werden diese jeweils in den Zustand “Verwaltet” gesetzt.

ipam24

ipam25

ipam26

ipam27

Dies muss für jeden Server separat erfolgen. Ist dies abgeschlossen, stehen die Server auf “Blockiert”. Die Blockierung wird aufgehoben, sobald die erzeugten und nun auch per Sicherheitsfilterung für die jeweiligen Server geltenden GPOs wirken. Am einfachsten kann man dies durch ein GPUpdate forcieren.

ipam-gpo

Sobald die GPOs wirken, kann man durch einen Rechtsklick den “Status des Serverzugriffs aktualisieren”. Dies muss wieder für alle Server einzeln und nacheinander erfolgen.

ipam-serverzugriff

Wenn diese Aufgabe erledigt ist, kann man die Ansicht aktualisieren (Kringel / Kreisel oben rechts). Nun sollten alle Server “grün” sein:

Falls nicht, hilft etwas warten bzw. müssen die jeweiligen Server evtl. noch einmal mit GPUpdate aktualisiert werden. Alternativ hilft “Invoke-GPUpdate SRVNAME –RandomDelayInMinutes 0 –Force”.

invoke-gpupdate

ipam28

Nun darf man den Schritt 6 nicht vergessen! Dieser ruft schließlich (einmalig manuell, später automatisch) die jeweiligen Daten von den verwalteten Servern ab.

ipam29

Auch hier muss man wieder auf Fertigstellung der IP-Adressverwaltungsaufgabe warten.

Ist der Schritt 6 fertiggestellt, kann man sich nun den verschiedenen Möglichkeiten im Baum auf der linken Seite widmen.

Unter IP-ADRESSRAUM / IP-Adressblöcke kann man z.B. den/die DHCP-Scope(s) sehen:

ipam30

Durch einen Rechtsklick auf diesen lässt sich die nächstfreie IP-Adresse suchen und zordnen:

ipam31

ipam32

Hier kann man beispielsweise einen Eintrag in DNS oder auch eine DHCP-Reservierung vornehmen. Allerdings werden diese Daten vorerst nur am IPAM-Server gespeichert. Möchte man die Informationen auch auf die jeweiligen Server übertragen, so ist dies unter “IP-Adressbestand” möglich:

ipam33

 

In der Rubrik “Überwachen und Verwalten” kann man u.a. den Zustand der involvierten Server und DHCP-Scopes sehen.

Im Ereigniskatalog werden einerseits Konfigurationsereignisse angezeigt, andererseits kann man gezielt nach IP-Adressen, MAC-Adressen, Hostnamen und Benutzernamen suchen, um damit verbundene Vorgänge (DHCP-Lese-Generation, –Renewal, DC-Authentifizierung, …) zu finden:

ipam34ipam35

Da der IPAM seine Daten in einer Datenbank ablegt, kann man hier auch Daten der Vergangenheit abrufen. Die Daten werden 3 Jahre lang in der Datenbank vorgehalten.

Schreibe einen Kommentar...

Windows Server 8 / 2012 – Wie man einen Domain Controller klont

Eine der Neuerungen in Windows Server 8 (oder  evtl. auch Windows Server 2012, offiziell gibt es wohl noch keinen endgültigen Namen) wird die Möglichkeit sein, Domänen-Controller klonen zu können (dies bezieht sich auf virtuelle Server). Das ganze möchte ich hier einmal kurz erläutern.

Bedingung:

  • Hypervisor muss „VM-Generation ID“ unterstützen. Hyper-V 3.0 tut dies zum Beispiel
  • Der Inhaber der FSMO-Rolle „PDC-Emulator“ muss unter Windows Server 8 laufen und erreichbar sein
  • Der zu klonende DC muss unter Server 8 laufen

Was ist zu tun?

  • Der zu klonende Domänen-Controller muss in die AD-Gruppe „Klonbare Doänen-Controller“ („Clonable Domain Controllers“) aufgenommen werden
  • In dem Pfad, in dem die ntds.dit (Default: C:\Windows\NTDS) liegt, muss eine Datei mit dem Namen DCCloneConfig.xml liegen (Inhalt siehe unten)
  • Es müssen diejenigen Anwendungen auf dem DC identifiziert werden, die nicht kompatibel mit dem Klon-Vorgang sind (Get-ADDCCloningExcludedApplicationList)
  • Diese Anwendungen müssen in die Datei CustomDCCloneAllowList.xml eingetragen werden, welche ebenfalls im NTDS-Ordner abgelegt werden muss (Beispiel-Inhalt siehe unten)
  • Nun muss nur noch eine Kopie der virtuellen Festplatte erzeugt werden und diese mit einem neuen virtuellen Server verbunden werden (für Tests kann man auch zwei differenzierende VHDs erzeugen und diese auf VHD des Quell-DCs verweisen; der Quell-DC bekommt die eine, der neue DC die andere differenzierende VHD)
  • Zuerst den Quell-DC booten, danach den Klon
  • Nach der Installation von Treibern und Systemdiensten sollte der Klon nun beginnen, sich als DC-Klon zu erzeugen

Beispiel-Dateien:

DCCLoneConfig.xml

<?xml version="1.0"?>
<d3c:DCCloneConfig xmlns:d3c="uri:microsoft.com:schemas:DCCloneConfig">
    <ComputerName>VirtualDC3</ComputerName>
    <SiteName>Default-First-Site-Name</SiteName>
    <IPSettings>
        <IPv4Settings>
            <DynamicSettings>
                <DNSResolver></DNSResolver>
                <DNSResolver></DNSResolver>
                <DNSResolver></DNSResolver>
                <DNSResolver></DNSResolver>
                <PreferredWINSServer></PreferredWINSServer>
                <AlternateWINSServer></AlternateWINSServer>
            </DynamicSettings>
        </IPv4Settings>
        <IPv6Settings>
            <DynamicSettings>
                <DNSResolver></DNSResolver>
                <DNSResolver></DNSResolver>
                <DNSResolver></DNSResolver>
                <DNSResolver></DNSResolver>
            </DynamicSettings>
        </IPv6Settings>
    </IPSettings>
</d3c:DCCloneConfig>

 

CustomDCCloneAllowList.xml

<AllowList>
    <Allow>
      <Name></Name>
      <Type>Service</Type>
    </Allow>
    <Allow>
      <Name></Name>
      <Type>Program</Type>
    </Allow>
</AllowList>
Schreibe einen Kommentar...