NetWorker mit Data Domain Retention Lock

In meinem vorherigen Beitrag bin ich auf die Eigenschaften von Retention Lock eingegangen.
Nun kommen wir zum praktischen Teil: Die Einbindung in NetWorker.

Ich gehe einmal davon aus, dass bereits mit NetWorker gesichert wird. Dementsprechend gibt es auf der Data Domain auch bereits einen Mtree für den NetWorker Server. Im Normalfall heißt der wie der NetWorker Server.
In meinem Fall heißt mein NetWorker Test-Server ddp-e01-vst-139.
Und der dazu passende Mtree auf der Data Domain /data/col1/ddp-e01-vst-139

Retention Lock kann man entweder über die Data Domain WebGUI aktivieren (Data Management -> Mtree -> Dort den gewünschten Mtree selektieren und nach unten scrollen. Ganz unten rechts steht DD Extended Retention Lock. Dort auf Edit und Enable) oder aber über die Kommandozeile mit dem Befehl „mtree retention lock enable mode {compliance | governance} mtree  <mtree-path>“.

Da ich die Governance Edition nutze, heißt der Befehl bei mir also:
mtree retention lock enable mode governance mtree /data/col1/ddp-e01-vst-139
Wenn man möchte, kann man nun (entweder über die GUI oder über die Kommandozeile mit „mtree retention-lock set {min-retention-period | max-retention-period} <period> mtree <mtree-path>“) noch die min & max Retention-Zeiten anpassen. Achtung: Bei Compliance lässt sich die Max-Zeit nicht verringern. D.h. hier hat man immer mindestens die Default-Zeit.
Und das war es auch schon auf der Data Domain. Abgesehen davon, dass man nun Retention Lock aktiviert hat, hat sich nichts getan. Die bereits geschriebenen Backups werden nicht verändert und auch zukünftige Backups sind von der Änderung erst einmal nicht betroffen.

Hier einmal eine Ansicht von der Kommandozeile nach erfolgter Aktivierung:

sysadmin@xxx# mtree list /data/col1/ddp-e01-vst-139
Name Pre-Comp (GiB) Status 
-------------------------- -------------- -------
/data/col1/ddp-e01-vst-139 306.3 RW/RLGE
-------------------------- -------------- -------
D : Deleted 
Q : Quota Defined
RO : Read Only
RW : Read Write
RD : Replication Destination
RLGE : Retention-Lock Governance Enabled
RLGD : Retention-Lock Governance Disabled
RLCE : Retention-Lock Compliance Enabled
sysadmin@xxx# mtree retention-lock show min-retention-period mtree /data/col1/ddp-e01-vst-139
Retention-lock min-retention-period of mtree /data/col1/ddp-e01-vst-139 is: 720 minutes.
sysadmin@xxx# mtree retention-lock show max-retention-period mtree /data/col1/ddp-e01-vst-139
Retention-lock max-retention-period of mtree /data/col1/ddp-e01-vst-139 is: 1827 days.
sysadmin@xxx#

Retention Lock Governance ist aktiv, die minimale Aufbewahrungszeit liegt bei 720 Minuten und die maximale Aufbewahrungszeit bei 1827 Tagen. Dabei handelt es sich um die Default-Werte.

Damit sich jetzt auch tatsächlich etwas ändert, müssen wir NetWorker mitteilen, dass wir Retention Lock aktiviert haben und dass er es nutzen soll.
Dafür benötigen wir als erstes ein entsprechendes DDBoost-Device. Hier kann man ein neues Device wie gewohnt über den New Device Wizard erstellen. Der Wizard fragt irgendwann, ob man Retention-Lock aktivieren möchte. Dort wählt man dann den entsprechenden Modus (Governance oder Compliance) aus und fährt ansonsten wie gewohnt fort. Wenn man Retention-Lock nur für ausgewählte Backups aktivieren möchte, sollte man dabei auch einen neuen Pool für diese Backups erstellen.
Alternativ kann man aber auch ein bestehendes Device benutzen und dort Retention Lock nachträglich aktivieren.
Ggf. muss man dafür den Diagnostic Mode in der NMC aktivieren (View -> Diagnostic Mode).
Nach einem Doppelklick auf das entsprechende Device wechselt man in den Reiter Configuration und findet rechts unten ein Kästchen für Retention-Lock.

DD Retention Lock Mode ändert man von None in den gewünschten Modus, also bei mir in Governance.
Damit wäre Schritt 2 erledigt und wir hätten nun ein passendes Device. Aber auch jetzt passiert tatsächlich noch nichts mit ggf. auf dem Device vorhandenen, bzw. zukünftigten Backups.

In Schritt 3 geht es nun damit weiter, dass wir dem NetWorker mitteilen, Retention Lock aktiv zu nutzen.
Hierfür gehen wir unter Protection zu den Policies. Hier können wir entweder einen neuen Workflow erstellen oder einen vorhandenen abändern. Retention-Lock wird in der jeweiligen Action (z.B. Backup- oder Clone-Action) aktiviert.

Bei einem Clone geschieht dies beim Punkt „Specifiy the Clone Options“.

Dort setzt man das Häkchen bei „Apply DD Retention Lock“ und wählt die gewünschte Aufbewahrungszeit aus. Diese kann von der normalen Aufbewahrungszeit abweichen, jedoch logischerweise nicht größer sein. NetWorker weist einen darauf hin, wenn man es trotzdem versucht.

Bei einer Backup-Action funktioniert es genauso, nur eben bei „Specify the Backup Options“.
In meinem Fall habe ich einen eigenen Pool für Retention Lock Backups namens RTBackup erstellt und diesen ausgewählt. Und ich hätte gerne, dass die Backups für ein Jahr aufbewahrt werden und solange auch durch Retention Lock geschützt werden sollen. Auch hier kann die Retention Lock Aufbewahrungszeit nicht höher als die generelle Aufbewahrungszeit sein.

Herzlichen Glückwunsch! Damit ist Retention Lock jetzt aktiv.

Wer dies einmal testen möchte, kann z.B. versuchen, ein solches Backup mal zu löschen. Auf der Kommandozeile z.B: mit „nsrmm -d -y -S <ssid>“
NetWorker verweigert den Befehl und weist einen darauf hin, dass das Backup geschützt ist.
Ich habe sämtliche mir bekannten Wege (einschließlich Löschen des ganzen Devices) probiert, aber keine Möglichkeit gefunden, mit NetWorker ein solches Saveset zu löschen. Alle Versuche wurden verweigert. Nun, so soll es ja schließlich auch sein. 🙂