Granular Level Recover für Exchange 2010 mit NMM

Mit dem EMC Networker Module for Microsoft Applications (NMM) lassen sich VSS basierte Backups von Microsoft Exchange 2010 durchführen.

Beim Single Item Recovery greifen viele zu Ontrack Power Controls für MS Exchange und VSS. Snapshots benötigen Speicherplatz. Die Power Controls werden nach Anzahl Postfächern lizensiert. Die Nachteile dieser Lösung sind also finanzieller Natur 😉

Bisher musste man beim single item recovery mit NMM zunächst die zugehörige Datenbank in eine Recovery Database (RDB) zurücksichern. Dann war ein Browsen in der RDB möglich. Nach Auswahl des Items (Postfach, Mail, Kalender, …) konnte dieses zurückgesichert werden. Je nach Größe der Postfach-Datenbank konnte das dauern (z.B. Rücksicherung von 1TB Postfach-DB in RDB um 20kB Mail wiederherzustellen). Das Item stand dann dem Anwender im Outlook im Posteingang unter dem Ordner „Uhrzeit/Datum/Recovered Items“ zur Verfügung.

Mit NMM 2.4.0.388 oder NMM 2.4.1 gibt es nun die Funktionalität Granular Level Recover, die Single Item Recovery deutlich beschleunigt.

In NMM ist zunächst der Mailbox-Server bzw. die Database Availability Group (DAG) auszuwählen. Danach im Menü „Recover > Exchange 2010 Recover session > Granular Level Recover“ auswählen. In der nun folgenden Liste der Postfach-Datenbanken kann die Datenbank sowie die gewünschte Version ausgewählt werden. Es stehen nur Sicherungen mit dem Backup Level „Full“ zur Verfügung. Nach dem Drücken von „Recover > Start Recover“ wird dem Exchange Mailbox Server das VSS Backup im VHD-Format im Verzeichnis C:\Program Files\Legato\nsr\tmp\nwfs\Networker Virtual File System  eingehängt. Die darin befindliche EDB-Datei bzw. Postfach-DB wird als RDB „GLR…“ bereitgestellt. Nun kann über „Recover“ wie gewohnt die RDB durchsucht, eine Mail ausgewählt und rückgesichert werden. Beim Schliessen von NMM wird die RDB entfernt und das virtuelle Dateisystem wieder ausgehängt.

Das Bereitstellen der RDB dauert je nach Größe wenige Minuten. Das Durchsuchen der RDB läuft mit geringfügig schlechterer Performance – dafür erfolgt der Zugriff über Netz. GLR bedingt ein disk-basiertes Backup-Medium, also AFTD oder Data Domain. EMC verwendet für das virtuelle Dateisystem das Eldos Callback File System.

Alternativ zu NMM kann man natürlich auch über das Powershell Restore-Mailbox Commandlet aus der RDB zurücksichern. Dazu darf NMM nicht geschlossen werden (RDB wird ausgehängt). Praktisch ist das für Postfächer im „disconnect“ Status, die NMM nicht anzeigt…

Restore-Mailbox -Identity jdoe -RecoveryDatabase MyRecoveryDatabase -RecoveryMailbox "Doe, John" -TargetFolder Recovery
Veröffentlicht unter howto | Verschlagwortet mit , , , , , , , , , , , , , | Kommentare deaktiviert für Granular Level Recover für Exchange 2010 mit NMM

Wochentag in Windows Batch für PRE und POST Backup in VMware VADP

Im letzten Artikel habe ich das Thema PRE und POST Backup Skripte für VMware behandelt. Das wird i.d.R. eingesetzt um applikationskonsistente Snapshot-Backups (mit VMware VADP kompatibler Backup-Software) zu erzeugen.

Das Verfahren hat einen Nachteil. Egal welcher Wochentag bzw. welches Datum – man kann zunächst keine unterschiedliche Fallbehandlung mehr durchführen.

Workaround / Beispiel:

Eine Pervasive PSQL Datenbank soll sonntags OFFLINE, die restlichen Tage ONLINE gesichert werden.

Mit dem Tool butil kann man Pervasive PSQL Datenbanken in die „continious operation“ Betriebsart versetzen und so konsistent sichern. Dazu führt man vor dem Snapshot Erstellen das Tool butil mit dem Parameter -startbu und danach mit -endbu für jede Datenbank aus.

Für das OFFLINE Backup wird der Pervasive PSQL Datenbank-Dienst gestoppt.

Die Datenbank-Datendateien *.BIS liegen unter S:\DGU, Pervasive PSQL Binaries unter C:\PVSW\Bin.

C:\Program Files\VMware\VMware Tools\backupScripts.d\vcb.bat

echo off
if "%1" == "freeze" goto doFreeze
goto doThaw
:doFreeze
call c:\batch\vadp_backup\pre-freeze-script.bat
goto EOF
:doThaw
call c:\batch\vadp_backup\post-thaw-script.bat
:EOF

c:\batch\vadp_backup\pre-freeze-script.bat

REM *** pre backup ***

@echo off
REM Wochentag berechnen...
FOR /F "tokens=1,2,3 delims=." %%a in ('echo %date%') do set yy=%%c & set mm=%%b & set dd=%%a
set /a "TwoDigitYearMax=2038%%1000"
if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1
If %dow% equ 1 set "WoTa=Montag"
If %dow% equ 2 set "WoTa=Dienstag"
If %dow% equ 3 set "WoTa=Mittwoch"
If %dow% equ 4 set "WoTa=Donnerstag"
If %dow% equ 5 set "WoTa=Freitag"
If %dow% equ 6 set "WoTa=Samstag"
If %dow% equ 7 set "WoTa=Sonntag"
if "%WoTa%" equ "Sonntag" goto OFFLINE

:ONLINE
REM ONLINE Backup Pervasive SQL
echo Heute ist ein %WoTa% - Online-Backup
@echo off
set PVSW=C:\PVSW\Bin
echo %DATE% / %TIME%
SET DGU=S:\DGU
if not exist %DGU%\*.BIS goto ERR1
for %%X in (%DGU%\*.BIS) do (
                echo %%X
                %PVSW%\BUTIL -startbu %%X
                echo ##########
)
goto ENDE

:ERR1
echo Keine Dateien %DGU%\*.BIS gefunden.
goto ENDE

:OFFLINE
REM OFFLINE Backup Pervasive SQL
echo Heute ist ein %WoTa% - Offline-Backup
net stop "Pervasive.SQL (transactional)" /y
goto ENDE

:ENDE

c:\batch\vadp_backup\post-thaw-script.bat

REM *** post backup ***

@echo off
REM Wochentag berechnen...
FOR /F "tokens=1,2,3 delims=." %%a in ('echo %date%') do set yy=%%c & set mm=%%b & set dd=%%a
set /a "TwoDigitYearMax=2038%%1000"
if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1
If %dow% equ 1 set "WoTa=Montag"
If %dow% equ 2 set "WoTa=Dienstag"
If %dow% equ 3 set "WoTa=Mittwoch"
If %dow% equ 4 set "WoTa=Donnerstag"
If %dow% equ 5 set "WoTa=Freitag"
If %dow% equ 6 set "WoTa=Samstag"
If %dow% equ 7 set "WoTa=Sonntag"
if "%WoTa%" equ "Sonntag" goto OFFLINE

:ONLINE
REM ONLINE Backup Pervasive SQL
echo Heute ist ein %WoTa% - Online-Backup
@echo off
set PVSW=C:\PVSW\Bin
echo %DATE% / %TIME%
SET DGU=S:\DGU
if not exist %DGU%\*.BIS goto ERR1
for %%X in (%DGU%\*.BIS) do (
                echo %%XX
                %PVSW%\BUTIL -endbu %%X
                echo ##########
)
goto ENDE

:ERR1
echo Keine Dateien %DGU%\*.BIS gefunden.
goto ENDE

:OFFLINE
REM OFFLINE Backup Pervasive SQL
echo Heute ist ein %WoTa% - Offline-Backup
net start "Pervasive.SQL (transactional)" /y
goto ENDE

:ENDE

Danke an Miniversum für die Formel zur Wochentagsberechnung.

Veröffentlicht unter howto | Verschlagwortet mit , , , , , , , | Kommentare deaktiviert für Wochentag in Windows Batch für PRE und POST Backup in VMware VADP

PRE und POST Backup Skripte mit VMware

Wie bereits vor kurzem geschrieben lassen sich mit VMware applikationskonsistente Snapshots mit Windows VSS-Writern erstellen. Was aber tun wenn die Applikation keinen VSS-Writer mitbringt oder gar auf Linux läuft?

Über die VMware Tools ist es möglich Skripte vor und nach dem Erstellen von Snapshots laufen zu lassen. VMware beschreibt dies im Handbuch unter „Grundlegendes zu VMware Data Recovery„.

Windows

Im VMware-Tools Installationsverzeichnis ist ein Unterverzeichnis „backupScripts.d“ anzulegen. Dort abgelegte *.bat-Dateien werden mit dem Argument „freeze“ vor und „thaw“ (Snapshot erfolgreich) bzw. „freezeFail“ (Snapshot Fehler)  nach dem Snapshot Erstellen aufgerufen.

C:\Program Files\VMware\VMware Tools\backupScripts.d\vcb.bat

@echo off
SET LOG="C:\batch\vadp.log"
echo %date% %time% >> %LOG%

if "%1%" == "" goto noparam
if "%1%" == "freeze" goto freeze
if "%1%" == "thaw" goto thaw
if "%1%" == "freezeFail" goto freezeFail
goto wrongparam

:freeze
REM before snapshot
echo "Freeze" >> %LOG%
REM net stop "example service"
goto end

:thaw
REM after snapshot
echo "Thaw" >> %LOG%
REM net start "example service"
goto end

:freezeFail
REM snapshot failed
echo "freezeFail" >> %LOG%
goto end

:noparam
REM invalid program usage
echo "Parameter not specified" >> %LOG%
goto end

:wrongparam
REM invalid program usage
echo "Invalid parameter" >> %LOG%

:end
echo "End reached" >> %LOG%

Linux

Bei Linux wird vor dem Snapshot Erstellen die Datei /usr/sbin/pre-freezescript aufgerufen, danach /usr/sbin/postthaw-script.

/usr/sbin/pre-freezescript

# before snapshot
/etc/init.d/dummy-daemon stop

/usr/sbin/postthaw-script

# after snapshot
/etc/init.d/dummy-daemon start

Für Linux gibt es einen experimentellen VMware-Treiber um die Filesysteme vor dem Snapshot zu syncen (Benutzung auf eigenes Risiko). Durch Aufruf von „vmware-config-tools.pl“ kann die Konfiguration der VMware Tools unter Linux wiederholt und bei Bedarf „VMware FileSystem Sync Driver (vmsync)“ nachinstalliert werden.

Eine weitere Variante ist die Nutzung des Linux Befehls fsfreeze. Mehr dazu im Blog virten.net.

Allgemeines

Der Snapshot muss über die Funktion „Gast-Dateisystem stilllegen“ erfolgen damit die VMware Tools entsprechend aufgrufen werden.

VMware Snapshot erzeugen

VMware Snapshot erzeugen

Wird der Snapshot über eine VADP-kompatible Backup-Software gestartet muss in den Optionen die „Quiesce“-Funktion aktiviert werden (Prozedur abhängig von Backup-Software).

 

 

Veröffentlicht unter howto | Verschlagwortet mit , , , , , , , , | 1 Kommentar

Backup Microsoft SQL Server 2012 Analysis Services

Business Intelligence?

In nahezu jedem Unternehmen finden sich Business Intelligence Software-Lösungen. Dabei werden mittels geeigneter Konnektoren regelmäßig Geschäftsdaten aus einem ERP-System in eine relationale Datenbank überführt. In einer multidimensionalen Datenbank werden sog. OLAP Cubes definiert, die als Datenbasis die zuvor genannte rel. Datenbank nutzen. Die Cubes werden zur schnelleren Analyse in den RAM des BI-Systems geladen. Personen der Führungsebene analysieren in diesem System Geschäftsdaten anhand unterschiedlicher Kriterien. Das geschieht i.d.R. ad hoc (OLTP).

Microsoft SQL Server 2012

Microsofts aktuelle Plattform für BI-Lösungen ist der SQL Server 2012. Neben der wohl gut bekannten relationen Datenbank von Microsoft gibt es noch die sog. Analysis Services, die Microsofts Variante der multidimensionalen Datenbank darstellt.

Backup Varianten

SQL Server 2012 – relationale Datenbank

  • Dump der DB in Filesystem (via Skript oder SQLAgent), dann Filesystem-Backup
  • Backup via VSS-Snapshots (VSS-Writer wird mitgeliefert)
  • Backup via VDI-Schnittstelle (benötigt Agent/Client für Backup, ermöglicht Point in time recovieries)

SQL Server 2012 Analysis Services – multidimensionale Datenbank

  •  Dump der  Analysis Services DB (Cube-Definitionen) in Filesystem (via Skript), dann Filesystem-Backup

Backup SQL Server 2012 Analysis Services – Beispiel

Ich erstelle für Skripte am BI-System den Ordner C:\batch

Unter E:\OLAP\Backup\ ist ein Ordner für das Backup der Analysis Services DB „BIS_OLAP“ angelegt.

Die Datei backup_olap.cmd wird als PRE-Skript für die Dateisystemsicherung verwendet. Damit wird vor der Sicherung des Dateisystems ein alter Dump gelöscht und ein neuer erzeugt.

Datei backup_olap.cmd

e:
del E:\OLAP\Backup\BIS_OLAP_psbackup.abf
powershell.exe c:\batch\backup_olap.ps1

Datei backup_olap.ps1

# import modules for sql
Import-Module SQLPS –DisableNameChecking
Import-module SQLASCmdlets

# backup analysis db
Backup-ASDatabase -BackupFile E:\OLAP\Backup\BIS_OLAP_psbackup.abf -Name BIS_OLAP -ApplyCompression

exit

Ggf. ist es erforderlich das Importieren von Modulen zu erlauben. In diesem Fall die Powershell als Admin starten und folgendes ausführen:

Set-ExecutionPolicy unrestricted

Restore SQL Server 2012 Analysis Services – Beispiel

Für den Restore der Analysis Services DB die Powershell als Admin starten und folgendes ausführen:

Import-Module SQLPS –DisableNameChecking
Import-module SQLASCmdlets
Restore-ASDatabase -Name BIS_OLAP -RestoreFile E:\OLAP\Backup\BIS_OLAP_psbackup.abf

Nach dem Restore der Analysis Services DB müssen die Cubes neu in den RAM des BI-Systems geladen werden.

Dank

Vielen Dank an The MAK für seinen großartigen Artikel über Analysis Services und Powershell.

 

Veröffentlicht unter howto | Verschlagwortet mit , , , , , , , , | Kommentare deaktiviert für Backup Microsoft SQL Server 2012 Analysis Services

Backup is (not) sexy!

Blogger-Kollege Solarix, Freund von Sonnen-Clustern und metallhaltiger Musik, hat mir folgende Frage gestellt:

Gemäss dem Motto… wir können Backup, aber können wir auch Restore?

Worauf zielt die Frage ab? Auf ein grundlegendes Problem in vielen IT-Abteilungen, das mein schottischer Oracle DBA Kollege auf den Punkt gebracht hat:

Backup is not sexy!

Backups einzurichten und zu überwachen wird als lästige Aufgabe empfunden. Restore-Tests sind zeitaufwendig, oft stehen nicht genügend Resourcen dafür zur Verfügung. Deshalb wird dieses ungeliebte Kind der IT gern an diejenigen übergeben, die sich nicht dagegen wehren können: die Neuzugänge!

Man kennt die Umgebung unzureichend, Dokumentation und SLAs zu den Systemen sind u.U. nicht vorhanden, genausowenig ein Sicherheitskonzept. Dafür gibt es eine heterogene Systemlandschaft, gerne auch mit vielen Backup-Insellösungen, wenn überhaupt.

Irgendwann kommt dann ein Anwender und erdreistet sich eine Wiederherstellung eines alten Systemzustands anzufordern. Es folgt eine Blut, Schweiß und Tränen Geschichte.

Gerne wird bei der anspruchsvollen Aufgabe Backups einzurichten und zu überwachen vergessen, warum man das eigentlich macht.

Backups dienen als Vorsorgemaßnahme, quasi als Lebensversicherung gegen IT-Ausfälle, Bedienfehler und andere Katastrophen. Wer die Aufgabe der Datensicherung übertragen bekommt sollte sich dieses Tatsache bewusst sein.

Daraus folgt, dass man für die Vorsorgemaßnahmen (Backup) kein Lob zu erwarten hat und solange nichts brennt ggf. wenig Stress hat. Tritt der Ernstfall ein merkt man schnell, dass nur erfolgreiche Restores und Recoverys von Belang sind. Darauf sollte man seinen Fokus legen.

Was bedeutet das in der Praxis?

Erfolgreiche Restores und Recoverys wird man dann erzielen, wenn man seiner Sache sicher ist. Das bedeutet bei der Planung und Einrichtung sich intensiv mit dem zu schützenden System, den laufenden Anwendungen/Datenbanken beschäftigen und den Schutzbedarf / SLAs klären. Daraus kann man geeignete Sicherungsverfahren ableiten, bepreisen und einrichten. Ein Test der Verfahren ist dringend anzuraten bevor das System live geht. Allgemein ist anzuraten sich eine geeignete Testumgebung für regelmäßige Restore-Tests aufzubauen.

Veröffentlicht unter Allgemein | Verschlagwortet mit , | Kommentare deaktiviert für Backup is (not) sexy!

EMC Networker Bug bei incremental VADP

Beim Durchführen von inkrementellen VMware VADP Backups mit EMC Networker wird eine Liste der geänderten Dateien erstellt, die über CBT bereitgestellt wird. Beim Abarbeiten dieser Liste kommt es zum Fehler wenn im Dateinamen Multibyte Zeichen vorkommen, z.B. Umlaute.

Status: leider noch „work in progress“ siehe unten…

Workaround: „full“ statt „incr“ Backups in der schedule im Networker angeben

EMC Knowledgebase esg134881 / Bug NW149264 / kb126676

„No such file or directory“.
— Message from savegrp.log and the sso files in \nsr\logs\sg\<group_name> —
83034:nsrvadp_save: Using CBT for identifying modified files.
Started Backup Operation.
6999:nsrvadp_save: NAME> : No such file or directory
90292:nsrvadp_save: Unable to build the save list.

Update 19.07.

Status: funktionierender Patch ist verfügbar – allerdings ist der noch in keinem aktuellen cumulative hotfix enthalten – bitte beim Support nachfragen…

Veröffentlicht unter Bug | Verschlagwortet mit , , , , , , , , , | Kommentare deaktiviert für EMC Networker Bug bei incremental VADP

Applikationskonsistente Snaphots mit Windows 2008R2 auf VMware

Mit VMware VSphere/ESXi kann man Snaphots von virtuellen Mascinen erstellen. Sind in den virtuellen Maschinen die VMware Tools und ein Microsoft Windows Betriebssystem installiert kann man mit Hilfe der Windows-integrierten Snapshot-Funktionalität VSS applikationskonsistente Snapshots erstellen. Die Applikation muss dazu „VSS aware“ sein, d.h. sie muss einen VSS Writer mitliefern.

Ein Beispiel für eine solche Applikation stellt Microsofts Datenbank SQL Server dar. Hier wird der SQL Writer Dienst bereitgestellt. Damit läßt sich also ein Snapshot eines NTFS Filesystems erzeugen, das einen konsistenten Stand einer SQL Server Datenbank beinhaltet. In manchen Fällen ist das eine attraktive Alternative für traditionelle SQL Server Backups, da die VDI-Schnittstelle nicht bemüht werden muss (Man verliert aber auch einige Funktionen, z.B. die Fähigkeit Transaktionsprotokolle zu sichern.).

Microsoft SQL Express 2012

Microsoft SQL Express 2012

SQL VSS Writer

SQL VSS Writer

VMware stellt mit VADP eine Schnittstelle zur Verfügung um Snapshots virtueller Maschinen zu erstellen und diese mit Hilfe von Backupsoftware zu sichern.

3rd party Backupsoftware > VADP > VCenter > ESXi > VM > VMware Tools > VSS provider: NTFS, VSS Writer: SQL Server

VMware Snapshot erzeugen

VMware Snapshot erzeugen

Beim Erstellen eines VMware Snapshots wird über die Option „Gast-Dateisystem still legen“ via VMware Tools ein VSS-Snapshot in der Windows VM angefordert.

Dabei kommt es zu Fehlermeldungen in der Ereignisanzeige im Anwendungsprotokoll.

event id 12289

event id 12289

Die Event ID 12289 erscheint weil ein Snapshot des virtuellen Diskettenlaufwerks fehlschlägt. Deshalb sollte man Diskettenlaufwerk und -controller wenn möglich deaktivieren.

disable floppy

disable floppy

disable floppy

disable floppy

disable floppy controller

disable floppy controller

disable floppy controller

disable floppy controller

Leider kommt es zu NTFS-Fehlermeldungen in der Ereignisanzeige im Systemprotokoll..

event id 57

event id 57

event id 137

event id 137

Laut VMware Knowledgebase Artikel 2006849 können diese Fehlermeldungen ignoriert werden. Beim Snapshot Erstellen werden Disks in der VM erzeugt auf die z.T. nur lesend zugegriffen werden kann.

Gerne wird als Abhilfe gegen diese Fehlermeldungen empfohlen eine der folgenden Maßnahmen durchzuführen:

  • VM Konfigurationsparameter disk.EnableUUID von TRUE auf FALSE setzen
  • In der VMware Tools Konfigurationsdatei C:\ProgramData\VMware\VMware Tools\Tools.conf die Einträge [vmbackup] vss.disableAppQuiescing = true hinzuzufügen

Wie man dem VMware Knowledgebase Artikel 1031298 entnehmen kann wird damit aber die VSS-Integration einfach abgeschaltet. Applikationskonsistente Snaphots werden unterbunden und durch Snapshots mit crash consistency ersetzt. Ein Restore eines solchen Snapshots vertraut darauf, dass die crash recovery Funktionialitäten des Betriebs- bzw. Filesystems und der Anwendung hoffentlich funktionieren. Aus meiner Sicht sind applikationskonsistente Snapshots dem vorzuziehen…

Weitere empfehlenswerte VMware Knowledgebase Artikel in diesem Zusammenhang sind

 

Veröffentlicht unter howto | Verschlagwortet mit , , , | 3 Kommentare

8GB VSS bug

Snapshots sind eine coole Sache und werden häufig im Rahmen von Datensicherungen eingesetzt.

Microsoft hat sich hier einen Bug geleistet, der ziemlich übel ist. Man merkt erst beim Restore, dass ein Snapshot ggf. korrupt war. Betroffen sind alle Verfahren die VSS nutzen, also auch 3rd party Backup-Produkte oder VMware VADP application consistent snapshots für Windows Systeme. Die Wahrscheinlichkeit vom Bug betroffen zu sein erhöht sich, wenn eine Partition 8GB groß ist oder um 8GB bzw. eine Vielfaches erweitert wurde.

Hier Details zum Bug und Patches für Windows:
Backup files that are created by using the Windows Volume Shadow Copy feature are corrupted in Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, or Windows Server 2008 R2

Microsoft kb2748349 via EMC technical advisory alert

 

Veröffentlicht unter News | Verschlagwortet mit , , , , , , , | Kommentare deaktiviert für 8GB VSS bug

EMC Backup & Recovery Manager 1.0

Wie kürzlich im Blog Networker Lounge zu lesen war hat EMC die Version 1.0 der Software EMC Backup & Recovery Manager bereitgestellt.

Mit BRM kann man rudimentäres Monitoring und Reporting für EMC Networker, EMC Avamar und Datadomain Appliances in mehreren Datazones durchführen.

  • Echtzeit-Monitoring von Alerts, Activities, Events und Systems
  • Reporting
  • Konfiguration von Replikationen
EMC Backup & Recovery Manager

EMC Backup & Recovery Manager – screenshot

Die Software wird in zwei Passwort-geschützten zip-Dateien ausgeliefert. Das Passwort kann über den EMC Vertrieb in Erfahrung gebracht werden. Zusammengefügt und entpackt bekommt man eine vApp für vCenter >= 5.0 und Agenten für Avamar und Networker, die auf Windows oder Linux installiert werden müssen. Avamar benötigt zwingend einen Hotfix, d.h. EMC Support anfragen.

Die Software ist noch in einem frühen Stadium, entsprechend gering ist noch der Funktionsumfang. Trotzdem hat es in meinem Schnelltest einen guten Eindruck hinterlassen.

Veröffentlicht unter News | Verschlagwortet mit , , , , , , | 1 Kommentar

App-Konfiguration bzw. Postgres DBs auf Synology NAS sichern

Die Postgres-Datenbanken, die von den Synology apps video station, photo station, media server, usw. als Repository verwendet werden sind bis dato nur teilweise von den Synology Backup Tools abgedeckt. Eine Sicherung dieser Datenbanken ist für folgende Einsatzzwecke sinnvoll:

  • Sicherung der Datenbanken gegen Administrationsfehler, etc. (selbe Diskstation, HDDs bleiben gleich)
  • Migration von einer Diskstation auf ein anderes Modell ohne Verlust der Datenbanken (neue Diskstation, HDDs bleiben gleich)
  • Synchronisierung gemeinsamer Ordner für Desaster Recovery, kein Verlust der Datenbanken (Backup/Desaster Recovery-Diskstation, separate HDDs)
  • Reduzierung der Laufzeiten für Index/Thumbnail-Erstellung nach Umstellungen (vor allem für Diskstation ohne floating point unit)

Skripte für Backup und Restore

Zunächst einmal lege ich einen gemeinsamen Ordner „config“ an in dem später ein Shell-Skript für Backup und Restore der Postgres Datenbanken erstellt wird. Das erzeugt das Verzeichnis /volume1/config/ auf der Festplatte des NAS.

Beim Anlegen der Shellskripte über Windows ist auf korrekten Zeilenumbruch im Editor zu achten! Deshalb bevorzuge ich das Anlegen im Editor vi auf Linux. Eine Alternative unter Windows wäre z.B. notepad++.

Nun mit dem Windows-Programm Putty bzw. unter Linux mit ssh als Benutzer root am Synology NAS anmelden… (Administrator-Kennwort erforderlich!)

Zunächst lasse ich mir die vorhandenen Postgres Datenbanken sowie die installierte Version anzeigen und wechsle dann in den gemeinsamen Ordner config.

nas> /usr/syno/pgsql/bin/psql -U admin -l
         List of databases
      Name      | Owner | Encoding
----------------+-------+-----------
 download       | admin | SQL_ASCII
 mediaserver    | admin | SQL_ASCII
 photo          | admin | SQL_ASCII
 postgres       | admin | SQL_ASCII
 synolog        | admin | SQL_ASCII
 synosnmp       | admin | SQL_ASCII
 template0      | admin | SQL_ASCII
 template1      | admin | SQL_ASCII
 video_metadata | admin | SQL_ASCII
(9 rows)
nas> /usr/syno/pgsql/bin/psql -U admin -c "select version();" template1
                                                  version
-----------------------------------------------------------------------------------------------------------
 PostgreSQL 8.3.21 on powerpc-unknown-linux-gnu, compiled by GCC powerpc-none-linux-gnuspe-gcc (GCC) 4.3.2
(1 row)
nas> /usr/syno/pgsql/bin/psql --version
psql (PostgreSQL) 8.3.21
nas> cd /volume1/config/
nas> vi backup_postgres.sh 

Zunächst wird das Backup-Skript angelegt: mit i wie insert in den Eingabemodus wechseln, nun folgenden Text einfügen (bei Putty Zwischenablage via Rechtsklick einfügen):

Es sollen die Datenbanken der Synology apps gesichert werden, d.h. es muß nur ein Teil der Postgres DBs gesichert werden. Technisch gesehen wird das Postgres Sicherungskommando pg_dump als Benutzer admin (schema owner) ausgeführt. Dabei ist wichtig zu wissen, dass Synology auch BLOBs verwendet, die standardmäßig nicht gedumpt werden.

# list postgres databases
/usr/syno/pgsql/bin/psql -U admin -l
# backup postgres databases (media server, photo/video/download station)
# backup im ASCII-mode inkl. blobs
rm /volume1/config/mediaserver.sql 
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/mediaserver.sql mediaserver
rm /volume1/config/photo.sql
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/photo.sql photo
rm /volume1/config/video_metadata.sql
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/video_metadata.sql video_metadata
rm /volume1/config/download.sql
/usr/syno/pgsql/bin/pg_dump -U admin -C -F p -b -v -f /volume1/config/download.sql download

>> mit ESC in den Befehlsmodus wechseln und mit :wq speichern und schließen

nas> vi restore_postgres.sh

Nun wird das Restore-Skript angelegt:

Im Skript werden zunächst abhängige Dienste gestoppt, alle zuvor im Backup-Skript gesicherten Datenbanken explizit gelöscht und wiederhergestellt aus den Dumps und zum Schluß wieder die Dienste gestartet.

# stop indexing and thumbnails
/usr/syno/etc/rc.d/S66synoindexd.sh stop
/usr/syno/etc/rc.d/S77synomkthumbd.sh stop
/usr/syno/etc/rc.d/S88synomkflvd.sh stop

# list postgres databases
/usr/syno/pgsql/bin/psql -U admin -l

# drop and restore postgres databases (media server, photo/video/download station)
su - admin
/usr/syno/pgsql/bin/dropdb mediaserver
/usr/syno/pgsql/bin/dropdb photo
/usr/syno/pgsql/bin/dropdb video_metadata
/usr/syno/pgsql/bin/dropdb download
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/mediaserver.sql
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/photo.sql
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/video_metadata.sql
/usr/syno/pgsql/bin/psql -U admin -d template1 -f /volume1/config/download.sql

# list postgres databases
/usr/syno/pgsql/bin/psql -U admin -l

# start indexing and thumbnails
/usr/syno/etc/rc.d/S66synoindexd.sh start
/usr/syno/etc/rc.d/S77synomkthumbd.sh start
/usr/syno/etc/rc.d/S88synomkflvd.sh start

regelmäßiges Backup

Das Backup-Skript kann dann z.B. über den Aufgabenplaner regelmäßig gestartet werden. Im Synology diskstation manager:
Erstellen > Benutzerdefiniertes Skript > Vorgang „backup_postgres“ > Benutzer „root“ > benutzerdef. skript „/volume1/config/backup_postgres.sh“ > Zeitplan …
Der gemeinsame Ordner „config“ mit den skripten kann regelmäßig via Datensicherung / Synchronisierung gemeinsamer Ordner gesichert werden.

Restore

Zunächst media server, photo/video/download station stoppen.
Zum Wiederherstellen der Postgres Datenbanken via Putty/shh anmelden und das Skript als root auf der gewünschten DS ausführen.

/volume1/config/restore_postgres.sh

Vorsicht! Alle DBs die im Skript aufgeführt sind werden vor dem Restore gelöscht. Benutzen sollte das nur jemand, der verstanden hat, was im Skript passiert…

Man kann natürlich auch nur einzelne Datenbanken rücksichern.

Erfahrung

Ich habe meine HDDs von einer DS411j auf DS413 laut Synology-Leitfaden migriert und mit obiger Lösung einen Verlust der mühsam erstellten video station Datenbank, etc. entgegengewirkt.
Es war auch problemlos möglich die Ordner audio/video/photo mittels gemeinsamer Ordner Synchronisierung auf eine DS110j zu replizieren und mit obiger Lösung die postgres-DBs mitzunehmen. Die Applikationen sollten zuvor auf der Ziel-DS bereits installiert und angehalten sein.

Veröffentlicht unter howto | Verschlagwortet mit , , , , , | Kommentare deaktiviert für App-Konfiguration bzw. Postgres DBs auf Synology NAS sichern