Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
de:services:storage_services:backup:tsm:anleitungen:inclexcl [2021/10/25 11:55] – [Verschlüsselung] bnachtwde:services:storage_services:backup:tsm:anleitungen:inclexcl [2024/04/15 14:49] (aktuell) – [Anmerkung] jbruene
Zeile 1: Zeile 1:
 +====== Verwendung von INCLude/EXCLude-Regeln ======
  
 +===== Anmerkung =====
 +
 +Zum Erstellen von In- und Exclude-Regeln widmet sich die TSM/SP-Dokumentation an verschiedenen Stellen ausführlich (z.B. [[https://www.ibm.com/docs/en/tsm/7.1.0?topic=classes-include-exclude-list#r_mplmntpol_nclxclist|hier für Version 7.1]] bzw. [[https://www.ibm.com/docs/de/storage-protect/8.1.22?topic=reference-include-options | hier für SP-8.1.22]]).
 +
 +Nachfolgend sind die wichtigsten Aussagen zusammengefasst:
 +
 +**HINWEIS:**
 +
 +Die Beispiele beziehen sich in der Regel auf Linux-Systeme, die Aussagen sind aber nahezu identisch (''/'' => ''\'') auf Windows-Systeme übertragbar. Die Konfiguration findet dort natürlich nicht in der ''dsm.sys.'', sondern in der ''dsm.opt'' statt.
 +
 +<WRAP center round important 90%>
 +Die Konfiguration von Include-, insbesondere aber **''EXCLUDE''**-Regeln bedarf höchster Sorgfalt, falsche oder falsch positionierte Regeln führen zum Ausschluss von Dateien vom Backup! Bei nachträglicher Änderung werden ggfs. auch bestehende Sicherungen verworfen!
 +
 +**//Die GWDG//** kann daher nur Vorschläge und Empfehlungen für Regeln machen, **//übernimmt aber keine Gewährleistung für die Richtigkeit der Beispiele//**!
 +
 +Überprüfen Sie Ihre gewählten Regeln vor dem Einsatz entweder durch eine Sicherung mit der Option //preview// in der GUI oder dem Aufruf von //dsmc preview backup//!
 +</WRAP>
 +
 +===== zur Verwendung von Wildcards und Maskieren von Sonderzeichen =====
 +
 +TSM erlaubt die Verwendung von Wildcards bei der Definition der In- und Exclude-Regeln:
 +  * ''?'' repräsentiert genau ein beliebiges Zeichen.
 +
 +  * ''*'' repräsentiert beliebig viele beliebige Zeichen.
 +
 +  * ''/.../'' repräsentiert beliebig viele Verzeichnisse im Sinne von Verzeichnis-Ebenen<code>/home/.../public</code> beschreibt also alle Verzeichnisse ''public'' unterhalb von ''/home'', egal wo und in welcher Verzeichnis-Ebene sie liegen <code>/srv/.../*.zip</code>erfasst alle Datein vom Typ ''.zip'' unterhalb des Verzeichnisses von ''/srv''.
 +
 +  * Gruppen von Zeichen können analog zu einfachen regulären Ausdrücken zusammengefasst werden: ''[<Liste von Zeichen>]'', der Bindestrich erlaubt die Angabe von Bereichen. Beispiele<code>exclude /Volumes/Vol[1-4]/.../*.cpp</code> schließt alle Dateien mit der Endung ''.cpp'' aus, die in den Verzeichnissen ''Vol1'',''Vol2'', ''Vol3'' oder ''Vol4'' unterhalb ''/Volumes'' liegen. <code>exclude /home/[a-c,A-C]*/.../*.cpp</code> schließt alle Dateien in Home-Verzeichnissen aus, die mit ''a'',''b'',''c'',''A'',''B'' oder ''C'' beginnen
 +
 +
 +Enthalten Dateinamen oder Verzeichnisname Sonderzeichen, so sind sie zu maskieren
 +  * Leerzeichen können üblicherweise durch das Einfassen des Ausdrucks in Anführungszeichen erfasst werden:<code>"Meine Dateien"</code>.
 +  * Die Sonderzeichen <code> * ? : [ ]</code> sind gesondert per <code> [\<Zeichen]</code> zu maskieren, also z.B. um die Datei <code>Text[2].txt</code> auszuschließen ist die folgende Regel notwendig:<code>exclude /.../Text[\[]2[\]]</code> um den Order Datei <code>/usr/src/classes/project::tmp</code> auszuschließen ist die folgende Regel notwendig:<code>exclude.dir  /usr/src/classes/project[\:][\:]tmp</code>.
 +
 +===== Auslagern von InExClude-Regeln =====
 +
 +In- und Exclude-Regeln können leicht umfangreich werden und beeinträchtigen dann in erheblicherweise die Lesbarkeit der Konfigurationsdatei. Es bietet sich daher an, die Regeln in eine eigene Datei auszulagern, möchte man Regeln gruppieren sind mehrere Dateien hilfreich.
 +
 +Die Dateien mit den In- und Exclude-Regeln werden über den Parameter ''INCLExcl <Dateiname>'' in die ''dsm.sys'' eingebunden, z.B.
 +
 +  INCLExcl  inclexcl.user
 +  INCLExcl  inclexcl.linux
 +  INCLExcl  inclexcl.gwdg
 +\\
 +<WRAP center round important 90%>
 +Soll eine Datei mit ''INCLExcl'' eingebunden werden, die nicht existiert, kommt es zu einem Fehler, also bitte die ''dsm.sys'' testen.
 +</WRAP>
 +
 +=====  InExClude-Hierarchie =====
 + 
 +  * Grundsätzlich arbeitet der TSM-Client die Regeln **vom Ende zum Anfang** der dsm.sys ab.
 +  * Es gelten **immer die ersten zutreffenden Regeln**, später ausgewertete Regeln kommen nicht zum Zuge.
 +<WRAP center round tip 90%>
 +=== Beispiel1: ===
 +
 +  include /Users/user01/Documents/includefile.cpp
 +  exclude /Users/user01/Documents/.../*
 +=> Die Datei ''includefile.cpp'' **wird nicht gesichert**, da zuvor der gesamte Ordner ''/Users/user01/Documents'' ausgeschlossen wurde.
 +
 +=== Beispiel2: ===
 +
 +  exclude /Users/user01/Documents/.../*
 +  include /Users/user01/Documents/includefile.cpp
 +=> Die Datei ''includefile.cpp'' **wird gesichert**, da sie vor dem Ausschluss des gesamten Ordners ''/Users/user01/Documents'' explizit per ''include'' eingeschlossen wurde.
 +</WRAP>
 +
 +
 +  * Regeln, die das Ausschließen ganzer //filespaces// (''include**.fs**'') oder //Verzeichnisse// (''exclude**.dir**'') beschreiben, werden vor den übrigen Regeln ausgewertet.
 +
 +  * Regeln, die in einer eigenen Datei stehen (''INEXClude <file>'') werden an der Stelle in die ''dsm.sys'' eingereicht, wo die Einbindung erfolgt.
 +===== Management-Klassen =====
 +
 +Über Include-Regeln kann auch gesteuert werden, in welcher Management-Klasse die zu sichernden Dateien auf dem TSM-Server abgelegt werden:
 +  include <Pfad oder Datei | Suchmuster> <Management-Klasse>
 +
 +Diese Funktion kommt beim Backup-Dienst der GWDG nur im Einzelfall zur Anwendung. Wir sprechen Sie dann direkt an.
 +
 +===== Kompression =====
 +
 +
 +Da für die Datenübertragung Kompression verwendet wird (serverseitige Voreinstellung), werden alle Daten komprimiert. Auch bereits komprimierte Daten (z.B. .zip, .gz aber auch .jpg, etc.) werden erneut zu komprimieren versucht. Dies führt in der Regel nur zu hohem Rechenaufwand seitens des Clients, aber zu keiner nennenswerten Datenreduktion.
 +
 +Um diesen unnötigen Aufwand zu vermeiden, sollten komprimierte Dateien von der Kompression ausgenommen werden, die hierfür notwendigen Regeln sind am Ende der Konfigurationsdatei ''dsm.sys'' (Unix, Linux) bzw. ''dsm.opt'' (Windows) einzutragen (vgl. //Hierarchie//, weiter oben):
 +
 +//Vorschlag für Regeln zum Ausschluss bereits komprimierter Dateien://
 +
 +  exclude.compression     /.../*.z
 +  exclude.compression     /.../*.Z
 +  exclude.compression     /.../*.gz
 +  exclude.compression     /.../*.GZ
 +  exclude.compression     /.../*.bz
 +  exclude.compression     /.../*.BZ
 +  exclude.compression     /.../*.bz2
 +  exclude.compression     /.../*.BZ2
 +  exclude.compression     /.../*.tgz
 +  exclude.compression     /.../*.TGZ
 +  exclude.compression     /.../*.gif
 +  exclude.compression     /.../*.GIF
 +  exclude.compression     /.../*.jpg
 +  exclude.compression     /.../*.JPG
 +  exclude.compression     /.../*.mpg
 +  exclude.compression     /.../*.MPG
 +  exclude.compression     /.../*.mp4
 +  exclude.compression     /.../*.MP4
 +  exclude.compression     /.../*.wmv
 +  exclude.compression     /.../*.WMV
 +  exclude.compression     /.../*.mp3
 +  exclude.compression     /.../*.MP3
 +  exclude.compression     /.../*.aac
 +  exclude.compression     /.../*.AAC
 +  exclude.compression     /.../*.wma
 +  exclude.compression     /.../*.WMA
 +  exclude.compression     /.../*.zip
 +  exclude.compression     /.../*.ZIP
 +  exclude.compression     /.../*.rar
 +  exclude.compression     /.../*.RAR
 +  exclude.compression     /.../*.pdf
 +  exclude.compression     /.../*.PDF
 +  exclude.compression     /.../*.cdr
 +  exclude.compression     /.../*.CDR
 +  exclude.compression     /.../*.ppt
 +  exclude.compression     /.../*.PPT
 +  exclude.compression     /.../*.pst
 +  exclude.compression     /.../*.PST
 +  exclude.compression     /.../*.rpm
 +  exclude.compression     /.../*.deb
 + 
 +\\
 +===== Verschlüsselung =====
 +
 +TSM erlaubt das Verschlüsseln von Dateien vor der Übertragung zum Server. Neben dem unbestrittenen Sicherheitsgewinn sind jedoch auch Nachteile hiermit verbunden:
 +  * Durch die Verschlüsselung kann kein Zugriff auf die Dateien erfolgen auch nicht vom TSM/SP-Administrator.
 +  * Beim Verlust des Verschlüsselungspassworts gibt es keine Möglichkeit, die Daten zu entschlüsseln!
 +Einige Nachteile sind aber auch vernachlässigbar:
 +  * Die Kompressionsrate ist üblicherweise geringer.
 +  * Funktionen wie //subfile backup// oder //client side deduplictaion// funktionieren mit Verschlüsselung nicht -- beide werden im Rahmen des Filebackups aber durch die GWDG sowieso nicht angeboten. //server side deduplication// funktioniert auch nicht, wird aber ebenfalls nicht genutzt.
 +
 +Verschlüsselung wird benutzt, indem Regeln definiert werden, welche Dateien zu verschlüsseln sind, hierzu ist das Schlüsselwort //.encrypt// zusammen mit den //in/exclude//-Ausdrücken zu verwenden, z.B.
 +
 +  include.encrypt /home/.../*
 +  exclude.encrypt /home/.../public/.../*
 +\\
 +**WICHTIG:**\\
 +SP8-Clients nutzen in voreingestellt eine //AES128//-Verschlüsselung, AES256 kann aber durch eine Option im Konfigurationsfile ("''dsm.sys''" für Linux / BSD bzw. "''dsm.opt''" für Windows) genutzt werde:
 +
 +   encryptiontype aes256
 +\\
 +TSM-/SP-Clients in Version 7 erlaubten sogar noch eine DES56-Verschlüsselung. Noch ältere Clients nutzen diese sogar als Voreinstellung.
 +===== Ausschluss von TSM/SP-Dateien =====
 +
 +Die Sicherung des TSM-Verzeichnisses selbst ist in der Regel wenig sinnvoll, es könnte also per ''exclude.dir''-Regel ausgeschlossen werden. Sollen aber die Konfigurationsdateien gesichert werden, sind zwei Ansätze möglich:
 +  - Die Dateien werden unter einem andern Pfad abgelegt und nur per Symlink / Verknüpfung im TSM/SP-Klienten-Verzeichnis abgelegt, das TSM/SP-Verzeichnis per Regel ausgeschlossen.
 +  - Der Ausschluss des TSM-Verzeichnisses erfolgt mittels Wildcards und nicht per ''exclude.dir''-Regel. Der explizite Einschluss der TSM/SP-Konfigurationsdateien ist natürlich anzugeben:
 +
 +  exclude /opt/tivoli/tsm/.../*
 +  include /opt/tivoli/tsm/client/ba/bin/dsm.sys
 +  include /opt/tivoli/tsm/client/ba/bin/dsm.opt
 +  include /opt/tivoli/tsm/client/ba/bin/tsmjbbd.ini
 +\\
 +===== Serverseitige Include-Exclude-Regeln =====
 +Serverseitige Include-Exclude-Regeln überschreiben die Konfiguration des Clients. Da nur die Administratoren der zu sichernden Systeme festlegen können, welche Daten auszuschließen oder zu verschlüsseln sind, verzichtet die GWDG weitestgehend auf serverseitige Regelen. 
 +
 +Derzeit (Datum dieses Textes) wird nur für die Sicherung des Systemstates (nur Windows-Systeme) die Management-Klasse //3COPIES// vorgegeben, um die Anzahl der Versionen für den Systemstate auf drei Versionen zu beschränken. Der //Systemstate// ist nur für //Bare Metal//-Restores relevant, belegt aber übermäßig viel Platz. Die Systemwiederherstellungspunkte in Windows bieten eine einfachere Möglichkeit, laufende Systeme wieder auf ältere System-Zustände zurückzubringen.