Typo3 installieren

In den System-Voraussetzungen heisst es, dass man GraphicsMagick oder Imagemagick 6 oder neuer installieren muss, wenn man die integrierte Bildbearbeitung zurückgreifen möchte.

Installieren kann man Imagemagick durch den Befehl
sudo apt-get install imagemagick

image

image

Wenn nicht bereits installiert, wird auch noch php5-gd benötigt.
sudo apt-get install php5-gd

Eine Typo3 Installation besteht aus 2 “Teilen”. Zum einen aus der “Typo3 Source” und zum anderen aus den eigentlichen Dateien für die Webseite (da gibt es verschiedene Packages).

Wenn man mehrere Seiten betreibt, kann es sinnvoll sein, diese beiden Teile zu trennen und die Source Dateien an einen separaten Ort zu speichern. So belegen die Source Dateien nur einmal Speicherplatz aber der Hauptvorteil liegt darin, dass man Upgrades am Source Code viel einfacher handhaben kann. Das Trennen der beiden Teile ist in der Datei INSTALL.txt im Stammverzeichnis der Installation unter „Installation:recommended“ beschrieben.

Für eine neue leere Installation lädt man das Blank Package mit den Source Dateien und einem leeren Skelett für die neue Seite herunter. Bei einem Upgrade nur noch das Source Packet. Den Link zur Datei kann man von der Homepage kopieren.

image

Nun kann man das Verzeichnis mit wget herunterladen. Mit einem Rechtsklick kann man die vorher kopierte Verknüpfung in Putty einfügen. Die Endung „?download” sollte man aber löschen, damit die tar.gz Datei heruntergeladen wird.

image

Das Archiv kann man nun entpacken:
sudo tar –xzvpf blankpackage-6.1.7.tar.gz
wobei man hier die Bedeutung der einzelnen Schalter findet.
Durch das Anfügen von z.B. –C /opt kann man direkt in das Verzeichnis /opt entpacken.

Nach dem Entpacken kann man die Dateien verschieben. Dazu verwende ich den Midnight Commander. Diesen kann man durch sudo apt-get install mc installieren und mit sudo mc starten. Mit der Taste F6 kann man vom linken Fenster ins rechte verschieben, im unteren Bild ins Verzeichnis /var/www.

image

Die Source Dateien verschiebe ich ins Verzeichnis /opt und der Rest des Blankpackages wird auf den Namen des Webseitenprojekts umbenannt.

Wenn die Sourcedateien nicht am gleichen Ort wie die restlichen Dateien von Typo3 liegen, muss man den symbolischen Link (symlink) auf den neuen Ort “umbiegen”. Dies kann man mit dem Kommando ln (sudo ln –sf /opt/typo3_src-6.1.7/ /var/www/…/typo3_src) erreichen oder auch ganz komfortabel mit dem Filemanager von Webmin.

image

image

Nun muss man noch die Berechtigungen und Besitzer von bestimmten Ordnern anpassen. In der INSTALL.txt sind die benötigten Befehle aufgeführt.

image

image

Wenn man nun die Seite aufruft, bekommt man folgende Meldung, dass das Install Tool geschützt sei.

image

Nachdem man so eine Datei erstellt hat, kann man die Installation beginnen.

image

Man muss sich mit einer Datenbank verbinden und die Tabellen importieren, wird dabei aber schön vom Assistenten geführt und kann eigentlich nicht viel falsch machen.

Nach der vollständigen Installation sollte man alles überprüfen, z.B. ob alle Bildbearbeitungstests funktionieren. Bei mir gab es da einen Fehler mit Imagemagick bei “Combining images”.

image

Um das zu beheben, muss man unter “All Configuration” den Befehl combine auf composite ändern, weil die neueren Versionen von Imagemagick diesen verwenden.

image

Nun hat man eine leere Seite, jetzt muss man sie noch mit Inhalten füllen.

virtuelle Hosts mit Apache

Bei uns laufen die Webseiten von verschiedenen Schulgemeinden. Apache bietet eine Möglichkeit, dies über virtuelle Hosts zu realisieren. Diese verwalte ich mit Webmin.

Unter Servers –> Apache Webserver –> Create virtual host kann man für jede eigene Seite einen virtuellen Host angeben.

image

Wenn man nun den virtuellen Host auswählt, kann man unter “Networking and Addresses” die virtuellen Servernamen eintragen.

image

Webmin zur Linux Server Verwaltung installieren

Ein Linuxserver kann komplett auf der Komandozeile (shell) verwaltet werden. Viel komfortabler ist es aber, dies auf einer grafischen Oberfläche zu machen. Ich habe mich da für Webmin entschieden und in den letzten Jahren keine Probleme damit gehabt. Darum werde ich Webmin auch auf dem neuen Server wieder einsetzen.

Webmin is a web-based interface for system administration for Unix. Using any browser that supports tables and forms (and Java for the File Manager module), you can setup user accounts, Apache, DNS, file sharing and so on. (Quelle:http://www.webmin.com/intro.html).

Alternativ zu einer manuellen Installation, kann man Webmin wie hier beschrieben auch über das Paketverwaltungstool “apt” verwalten. Dazu muss man in /etc/apt/sources.list die Zeile für das Repository eintragen. Ich verwende als Editor dazu nano.

Also nano mit “sudo nano /etc/apt/sources.list” starten und ganz zuunterst die Zeile  
deb http://download.webmin.com/download/repository sarge contrib
hinzufügen.

image

image

Wenn man nun mit ctrl+x nano verlässt, wird man noch gefragt, ob man die Änderungen speichern möchte, was man mit y bestätigt.

image

Zum Speichern muss man dann noch den Dateinamen mit der Entertaste bestätigen.

image

Damit man nachher nicht bei jedem apt-get update eine Fehlermeldung wegen dem fehlenden PGP-Schlüssel erhält…

image

…kann man den fehlenden Schlüssel mit
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

installieren. Die mit wget heruntergeladene Schlüsseldatei kann nach dem Import wieder gelöscht werden.

Nun kann webmin normal mit apt installiert werden.
sudo apt-get update
sudo apt-get install webmin

image

Nach erfolgreicher Installation kann man sich mit Webmin über https://server-ip-adresse:10000 verbinden.

image

Obwohl ja viele Administratoren webmin verwenden, ist es eine zusätzliche Anwendung, die auch angegriffen werden könnte. Sicher macht es daher Sinn, webmin wie alle anderen Anwendungen aktuell zu halten. Zusätzlich kann man den Port 10’000 für den Zugriff auf webmin vom Internet her auf der Firewall geschlossen lassen.

Linux auf Hyper-V-Cluster

Wir betreiben ja in unserer DMZ immer noch unseren eigenen Webserver. Da wir als Ersatz für unsere alten Server einen Hyper-V-Cluster/Failovercluster gekauft haben, wollte ich auch den alten Webserver durch einen virtuellen Server auf dem Cluster ersetzen.

Netzwerk
Damit der Webserver weiterhin in der DMZ und nicht im internen Netzwerk steht, muss man ihm einen eigenen Netzwerkanschluss auf den Hyper-V-Hosts zuweisen, der für nichts anderes benutzt wird.

image

Diesen kann man dann mit der DMZ bei der Firewall verbinden. Somit ist gewährleistet, dass der ins Internet exponierte Webserver durch die Firewall vom Rest des internen Netzwerks getrennt ist.

Installation
Um den neuen Server zu installieren, kann man im Failovercluster-Manager “Virtuelle Computer…” –> “Neuer virtueller Computer…” erstellen und den Clusterknoten auswählen, auf dem dieser primär laufen soll.

Als Speicherort muss das CSV (Cluster Shared Volume) ausgewählt sein, auf das alle Clusterknoten Zugriff haben.

image

Für Linux muss Generation 1 ausgewählt werden.

image

Der Arbeitsspeicher kann auch später jederzeit angepasst werden.

image

Hier muss nun eben der Netzwerkadapter ausgewählt werden, der ausschliesslich für die DMZ verwendet und auch so verbunden wird.

image

Für die virtuelle Festplatte habe ich die Standardwerte verwendet.

image

Für den Webserver verwende ich wieder Ubuntu Server in der LTS (long time support) Version, den ich schon für den alten Webserver benutzt habe.

image 

image

Am Schluss bekommt man eine Warnung wegen der virtuellen DVD. Das ISO ist nicht auf dem CSV abgelegt, somit kann die Maschine kein Failover durchführen, da der Pfad auf dem zweiten Knoten nicht verfügbar wäre. Dies macht aber nichts, da ich die DVD nach der Installation eh entferne.

image

Nun kann man den Server starten und installieren.

image   image

Als Land habe ich Schweiz ausgewählt, als Tastaturmodell “ch”. Danach muss man in vielen Dialogen das Netzwerk manuell einrichten, einen Rechnernamen vergeben und ein Benutzerkonto anlegen. 

Jetzt kann man die Festplatten partitionieren lassen.

image

Aktualisierungen sollen nicht automatisch installiert werden, das möchte ich lieber manuell ausführen und kontrollieren.

image

Im nächsten Dialogfeld kann man zusätzliche Software-Sammlungen installieren. Für die Webseite benötige ich den LAMP Server (LAMP steht für Linux, Apache, MySQL, PHP). Der OpenSSH Server wird für einen Zugang auf die Konsole benötigt. Der Mailserver wird benötigt, damit der Inhalt von Formularen als Mail verschickt werden können. Mit Samba biete ich einen Zugang über eine Windowsfreigabe an. So können auf einen Rutsch z.B. sehr viele Bilder auf den Webserver übertragen werden. Aus Sicherheitsgründen öffne ich auf der Firewall die Ports für SSH und Samba nur vom internen Netzwerk. Es soll möglichst nur das notwendigste vom Internet her erreichbar sein.

image

Für MySQL muss man nun noch ein Root Passwort vergeben und für Postfix werden die Mailinformationen abgefragt. Am Schluss muss man noch bestätigen, dass Grub in den MBR installiert werden darf.

image

Die CD wird automatisch “ausgeworfen”. Nun kann man neu starten.

image

Nach dem Neustart empfiehlt sich ein:

sudo apt-get update
sudo apt-get dist-upgrade

um den Server mit den neuesten Updates zu versorgen.

ECDL Zeitplan für Umstieg auf NEW ECDL

Hier habe ich bereits beschrieben, wie die Umstellung zum neuen ECDL ablaufen kann. Wie ich mir schon damals gedacht habe, ist der Zeitplan für die Umstellung sehr ehrgeizig. Auf http://www.ecdl.ch/schulen/fuer-test-center/ heisst es:

Bestehende ECDL Test Center können ab dem 1. Januar 2014 alle Module des neuen ECDL Programms anbieten.

Nur fehlen uns leider dafür die Lehrmittel. Gemäss Telefon mit bitmedia wird es etwa Anfangs Februar, bis wir mit dem Onlinekurs auf Educanet2 die neuen Inhalte der Base Module üben können, die Standard Module kommen dann noch später. Eigentlich wollten wir einen neuen Zertifizierungsanlass mit neuen Lehrkräften zusammen mit einer Rezertifizierung durchführen, aber so muss ich den Termin nochmals nach hinten schieben.

Ist nicht wirklich zufriedenstellend im Moment.

MySQL Befehle

Nur so als Gedankenstütze, damit ich nicht immer im Internet nachforschen muss.

mysql --user=root --password=verysecure
Stellt eine Verbindung zum MySQL Server her. Danach wird in der shell mysql> vorangestellt. Befehle müssen mit einem Semikolon (;) abgeschlossen werden. Wenn man kein Passwort angibt, wird man nach der Eingabe des Befehls danach gefragt.

mysql> show databases;
Zeigt die vorhandenen MySQL-Datenbanken an.

mysql> CREATE DATABASE db_name;
Erstellt eine neuen Datenbank db_name.

mysql> CREATE DATABASE IF NOT EXISTS db_name;
Überprüft vor dem Erstellen einer neuen Datenbank, ob bereits eine mit dem gleichen Namen existiert.

mysql> DROP DATABASE db_name;
Löscht eine ganze Datenbank.

mysql> DROP DATABASE IF EXISTS db_name;
Überprüft vor dem Löschen einer Datenbank, ob eine Datenbank mit dem Namen existiert.

mysql> CREATE USER ‘newuser’@’localhost’ IDENTIFIED BY ‘password’;
Erstellt einen neuen User newuser mit dem Passwort password. Dieser neue User hat aber keine Berechtigungen auf irgendeine Datenbank.

mysql> GRANT [type of permission] ON [database name].[table name] TO ‘newuser’@’localhost’;
Wenn bei type of permission  ALL PRIVILEGES gesetzt wird, bekommt der User alle Berechtigungen auf die Datenbank. Um Berechtigungen auf alle Datenbanken und deren Tabellen zu geben, kann man den Stern verwenden (*.*)
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘newuser’@’localhost’;
Nachdem die Berechtigungen verändert wurden, sollten man sie abschliessen durch
mysql> FLUSH PRIVILEGES;

mysql> REVOKE [type of permission] ON [database name].[table name] FROM ‘newuser’@’localhost’;
Entfernt die Berechtigungen vom Benutzer (analog zu GRANT).

mysql>DROP USER ‘newuser’@’localhost’;
Löscht den Benutzer

mysql> select user, host from mysql.user;
Erstellt eine Liste mit User und Host.

mysql> show grants for ‘newuser’@’localhost’;
Zeigt die Berechtigungen für den entsprechenden Benutzer auf localhost.

mysql> QUIT
Beendet die Verbindung zum MySQL-Server.

Mit dem Programm mysqldump kann man Sicherungen einer MySQL-Datenbank erstellen

Das Programm mysqldump kann direkt auf der shell ausgeführt werden, man muss sich also nicht mit dem Datenbankserver verbinden.

mysqldump --user=root --password=verysecure db_name > dumpfilename.sql
Erstellt ein Backup der Datenbank in die Datei dumpfilename.sql.

mysqldump --user=root --password=verysecure db_name | gzip > /Verzeichnispfad/dumpfilename.gz
Erstellt ein komprimiertes Backup der Datenbank in die Datei dumpfilename.gz. Dies kann sinnvoll bei automatisierten Backups sein.

mysql --user=root --password=verysecure db_name < dumpfilename.sql
Spielt das Backup aus der Datei dumpfilename.sql in die Datenbank db_name. Die Datenbank muss vorher erstellt werden.

Access Control Lists (ACL) auf HP Switch

In grösseren Netzwerken sollte aus Performance- und Sicherheitsüberlegungen mit VLAN’s gearbeitet werden. Für einen ersten Überblick zu VLAN’s bietet sich der Blog Schulnetz.info von Edi Pfisterer an. Später wird man sich mit der Anleitung des eigenen Switches auseinandersetzen müssen, die dann aber oft viel technischer verfasst ist.

Hier habe ich bereits ein paar Befehle zusammengefasst, die ich immer mal wieder benötige. Neu kann unser Switch nun auch mit ACL’s umgehen. VLAN’s ohne ACL’s bringen (nur) mehr Performance, weil Broadcastverkehr eingeschränkt wird.
(Broadcasts sind Datenpakete, die ins ganze Netzwerk gesendet werden, weil nicht bekannt ist, an welcher Adresse sich der Empfänger befindet. Je mehr solcher Broadcasts durch das Netzwerk übermittelt werden, desto weniger “Platz” hat es auf der verwendeten Leitung für “Nutzverkehr”, das Netzwerk wird also langsamer).

Wenn Datenverkehr von VLAN zu VLAN übermittelt werden muss, spricht man von Routing. Häufig wird Routing benötigt, um z.B. auf das VLAN mit den Servern zu kommen. Mit eingestelltem Routing bringen VLAN’s also nur weniger Broadcastverkehr, aber keinen Sicherheitsgewinn. Dafür werden ACL’s benötigt, in denen angegeben werden kann, was genau von einem VLAN in das andere darf. Unser neuer Switch kann nun auch mit ACL’s umgehen. So gibt es Zugangspunkte in unserem Netzwerk, die aus Sicherheitsüberlegungen nicht von allen VLAN’s aus zugänglich sein sollten (wie z.B. die Hyper-V-Hosts oder die Verwaltungswebseiten von Servern und Storage, …). Trotzdem wäre es praktisch, wenn ich zur Verwaltung Zugang von meinem Rechner aus hätte und nicht einen Verwaltungsrechner nur für diesen Zweck einsetzen müsste.

Die folgenden Dinge treffen für unseren HP Switch zu. Bei anderen Herstellern muss man zu deren Dokumentation greifen.

Eine ACL (Access Control List) besteht aus einer oder mehreren ACE(s) (Access Control Entry). HP unterscheidet zwischen “standard ACLs” und “extended ACLs”. Bei den “standard ACLs” werden nur die “source addresses” (SA) betrachtet, also sind nur Regeln möglich, die den Verkehr VON xy regeln. Besser geeignet für meine Vorhaben sind die “extended ACLs”, die den Verkehr VON xy NACH uv regeln können.

image

(config)# ip access-list extended <name-str>
Mit diesem Befehl kann man eine extended ACL bearbeiten oder neu erstellen, falls es noch keine ACL mit diesem Namen gibt. Falls der <name-str> Leerzeichen enthält, muss man den Namen in einfache oder doppelte Anführungszeichen setzen. Die Namen dürfen aus 64 Zeichen (alphanumeric) bestehen.

(config-ext-nacl)# deny ip any host 192.168.1.15
Erstellt eine ACE die den Verkehr von allen Netzwerken zum Host 192.168.1.15 verhindert.
image

Um eine neue ACE in eine bereits bestehende Liste einzufügen, kann man einfach die gewünschte Zahl voranstellen, also z.B. 15 deny ip any host 192.168.1.15.

# show access-list
Zeigt eine Übersicht über die eingetragenen ACLs.

# show access-list config
Zeigt Konfigurationsdetails der eingetragenen ACLs an.

#show access-list vlan <vid>
Zeigt die ACLs an, die dem angegebenen VLAN zugeordnet sind.

# vlan <vid> ip access-group <identifier> <in out>
Ordnet eine ACL einem VLAN zu. Wenn man “no” dem Befehl voranstellt, wird die Zuordnung wieder gelöscht. <identifier> muss mit dem Namen (oder der Nummer) der ACL ersetzt werden.
image

Implicit Deny
Wenn eine ACL einem Port oder einem VLAN zugeordnet ist, werden alle nicht explizit erlaubten Fälle abgelehnt.
image

Konkret
Viel einfacher wäre es gewesen, alle Verwaltungsadressen in ein eigenes VLAN zu stecken, aber wie so oft ist man schlauer, wenn alles schon gemacht ist und eine Änderung aufwendig wird. Unsere Server sind im gleichen Subnetz/VLAN wie die Hyper-V-Hosts und die Verwaltungswebseiten von Storage/Hyper-V-Hosts. Also müssen alle Clients aus ihren VLANS Zugang zum Server-VLAN haben, aber nicht zu den einzelnen dieser Ausnahmen. Dies kann mit den ACLs erreicht werden.

Die ACL kann so angelegt werden:
ip access-list extended „Server out“
deny ip any host 192.168.13.25
deny ip any host 192.168.13.28
deny ip any host 192.168.13.35
deny ip any host 192.168.13.36
deny ip any host 192.168.13.50
deny ip any host 192.168.13.51
permit ip any any
exit

Nun muss die ACL noch dem entsprechenden Server VLAN zugewiesen werden
vlan 207 ip access-group “Server out” out

Backup wiederherstellen nach einem “Worst Case”

Wir haben unser Backup auf DPM von Microsoft umgestellt. Hier ist beschrieben, wie man DPM installiert und hier, wie man DPM konfiguriert.

Der DPM Server steht in einem anderen Schulhaus als die Server und ist über eine Glasfaserverbindung mit den Servern verbunden. Grundsätzlich sollten also bei einem Desasterfall die Backups sicher sein. Trotzdem wollte ich testen, was passieren würde, wenn wir in einem “Worst Case” die Server und den DPM Server verlieren würden. Aus diesem Grund setzen wir auch noch eine Langzeitarchivierung auf virtuelle Bänder ein. Aus Kosten- und Performancegründen wollte ich keine physikalische Tape-Library einsetzen. Mit Firestreamer kann man virtuelle Tape-Libraries simmulieren. So kann man Backups statt auf Band auch auf externe USB-Disks oder sogar Netzwerkfreigaben (in nochmals einem anderen Schulhaus) sichern.

Nun wollte ich also testen, ob ich ein Backup aus so einem virtuellen Tape wiederherstellen könnte, wenn tatsächlich die Server und der DPM Server gleichzeitig ausfallen würden. Dazu habe ich in einer virtuellen Maschine nochmals einen DPM Server und auch die virtuelle Library Firestreamer installiert. Auf dem “richtigen” DPM wurde dann die Library deaktiviert, damit nicht zwei Server gleichzeitig auf die Netzwerkfreigabe zugreifen können.

Auf dem neuen DPM Server habe ich nun das bestehende virtuelle Band eingelesen.

image

image

image

Nun muss man das Band in DPM einlesen. Dazu muss die Türe der virtuellen Tape-Library entriegelt, das Band eingelesen und die Tür wieder verriegelt werden.

image

Danach habe ich ein Inventar durchgeführt. Um den Inhalt anzuzeigen, muss man dann das Band noch neu katalogisieren.

image

Nun kann man überprüfen, ob man das richtige “Band” “eingelegt” hat.

image

Unter “Wiederherstellen” wird nun der wiederherzustellende virtuelle Server angezeigt. Man kann ihn auswählen und wieder herstellen. Man kann nur auf Maschinen mit installiertem DPM Agent wiederherstellen. Nur für diesen Test habe ich keine neuen Agents installiert und die virtuelle Maschine lokal wiederhergestellt.

image

image

Nach der erfolgreichen Wiederherstellung habe ich den wiederhergestellten virtuellen Server in Hyper-V importiert und getestet, ob er wieder zu laufen kommt. Dies hat problemlos funktioniert.

image

Damit sollten wir also genügend geschützt sein. Tägliches und wöchentliches Backup auf den DPM Server in einem anderen Gebäude. Quartalsweises Backup auf externe USB-Disks oder ein NAS an einem dritten Standort mit Firestreamer. Im Desasterfall lässt sich schnell und einfach vom DPM Server wieder herstellen und im “Worst-Case-Desasterfall”, wenn beide Standorte betroffen wären, kann zumindest aus dem Backup vom letzten Quartal wiederhergestellt werden. Somit sind die geplanten Tests mit DPM gelungen. Für Schulen, die so günstig zu DPM Lizenzen kommen, definitiv eine Empfehlung wert.  

DPM 2012 R2 konfigurieren und testen

Als erstes muss man über “Verwaltung” –> “Datenträger” –> “Hinzufügen” einen Datenträger für die Backups hinzufügen. Auf diesem Datenträger sollten noch keine Volumes angelegt sein.

image

Nun kann man einen Agent auf den gewünschten Servern installieren. Gemäss KB2621989 soll man für diesen Vorgang die Firewall (auf dem Server, auf den der Agent installiert werden soll) deaktivieren und danach wieder aktivieren, oder man erstellt eine Firewallregel.

Netsh advfirewall firewall add rule name = "dpmac" dir=in program="C:\Windows\Microsoft Data Protection Manager\DPM\ProtectionAgents\AC\4.2.1205.0\dpmac.exe" action=allow

image

image

image

image

image

image

Sicherung erstellen
Über Schutz –> Neu kann man eine neue Schutzgruppe auswählen.

image

Nun kann man die Ressourcen auswählen. Hier wurde eine virtuelle Hyper-V Maschine ausgewählt, die von “aussen” gesichert wird, also selber gar keinen Agent installiert hat.

image

image

Unter Beibehaltungsdauer kann man angeben, wie lange zurück man aus der Sicherung wiederherstellen möchte.

image

image

image

image

image

image

Wiederherstellung
Ein Backup ist aber nur so gut, wie die Wiederherstellung funktioniert. Daher wollte ich testen, ob DPM die virtuelle Maschine von einem früheren Zeitpunkt wieder auf den Failover-Cluster herstellen kann.

image

image

image

image

image

Nach der Wiederherstellung ist die virtuelle Maschine heruntergefahren. Man kann sie aber problemlos im Failovercluster-Manager starten.

image

Dies ist das Vorgehen, wenn die Maschine noch im Cluster vorhanden ist, und zum Beispiel durch eine Fehlmanipulation oder ein fehlerhaftes Update auf einen vorherigen Zustand zurückgesetzt werden müsste. Im Desasterfall wäre aber so eine Maschine nicht mehr auf dem Cluster vorhanden. Um das zu simulieren, habe ich die Maschine vom Failover-Cluster entfernt und danach vom Hyper-V-Manager gelöscht. Die Dateien bleiben aber im Cluster Shared Volume (CSV) bestehen und müssen auch noch manuell gelöscht werden. Manuelle Eingriffe auf dem CSV sollten immer auf dem Knoten mit dem Quorum (in meinem Fall mit zwei Nodes ist das derjenige mit der Witness Partition) durchgeführt werden.

Wenn man die Wiederherstellung nun gleich wie oben beschrieben durchführt, erhält man die folgende Fehlermeldung.

Auf die Clusterressourcengruppe … für \Online\… der Schutzgruppe … konnte nicht zugegriffen werden. Stellen Sie die Datenquelle mithilfe des Workflows für alternative Speicherorte wieder her. (ID 32579).

image

Also habe ich es mit dem zweiten Wiederherstellungstyp versucht. Unten wird darauf hingewiesen, dass man den Netzwerkadapter für die virtuelle Maschine nach der Wiederherstellung konfigurieren muss.

image

Nun kann man ein Wiederherstellungsziel angeben. Eine direkte Wiederherstellung auf das CSV hat bei mir zu einer Fehlermeldung beim Start der virtuellen Maschine geführt. Daher habe ich einen Unterordner ausserhalb des CSV auf dem Clusternode mit der Witness Partition erstellt. 

image

Nach der Wiederherstellung findet man die Maschine im Hyper-V-Manager, aber nicht im Failovercluster-Manager. Nun muss man sie wieder hochverfügbar machen. Dazu müssen die Dateien zuerst auf das CSV verschoben werden.

image

image

In der nächsten Auswahl muss man “Speicher des virtuellen Computers verschieben” auswählen, da das Ziel ja auf dem gleichen Computer liegt.

image

image

Am besten erstellt man auf dem CSV einen Unterordner für die entsprechende virtuelle Maschine (nicht wie im Bild direkt ins CSV)

image

Nun ist die Maschine zwar im CSV gespeichert, aber noch nicht hochverfügbar. Um das auch noch zu erreichen, muss man im Failovercluster-Manager unter Rollen “Rolle konfigurieren” auswählen und “Virtueller Computer” auswählen. 

image

Nach der Wiederherstellung kann die Maschine erfolgreich im Failovercluster-Manager gestartet werden und ist wieder hochverfügbar. Über diesen Weg könnte also auch im Desasterfall wiederhergestellt werden.