Under Construction

Funktionsweise der Datenreplikation

Sobald auf einer HMC die Datenreplikation aktiviert wird, wird für jeden Datentyp eine Versionsnummer (Level) bei jeder Änderung hochgezählt. Diese Versionsnummer (Level) kann mit dem Kommando „hmc lsdatarep“ angezeigt werden, z.B. für die HMC hmc01:

$ hmc lsdatarep hmc01
DATA_TYPE  LEVEL  UPDATED_SINCE_START  UPDATED_TIME  SOURCE_HMC_NAME  NOT_IN_SYNC_SLAVES
pwdpolicy  0      0                    -             -                -
user       0      0                    -             -                -
kerberos   0      0                    -             -                -
customer   0      0                    -             -                -
outbound   0      0                    -             -                -
ldap       0      0                    -             -                -
mfa        0      0                    -             -                -
$

Solange die Datenreplikation nicht aktiviert ist, ändert sich der Level bei einer Änderung der Daten nicht. Ändert man beispielsweise einen Benutzer-Account

$ hmc chhmcusr hmc01 testuser description="update1 from hmc01"
Shared connection to hmc01 closed.
$

bleibt der Level unverändert:

$ hmc lsdatarep hmc01
DATA_TYPE  LEVEL  UPDATED_SINCE_START  UPDATED_TIME  SOURCE_HMC_NAME  NOT_IN_SYNC_SLAVES
pwdpolicy  0      0                    -             -                -
user       0      0                    -             -                -
kerberos   0      0                    -             -                -
customer   0      0                    -             -                -
outbound   0      0                    -             -                -
ldap       0      0                    -             -                -
mfa        0      0                    -             -                -
$

Wird jedoch die Datenreplikation auf der HMC aktiviert

$ hmc enabledatarep hmc01
$

ändert sich dieses Verhalten sofort. Wird erneut ein Benutzer-Account geändert, so wird die Versionsnummer (Level) sofort um eins hochgezählt:

$ hmc lsdatarep hmc01
DATA_TYPE  LEVEL  UPDATED_SINCE_START  UPDATED_TIME         SOURCE_HMC_NAME  NOT_IN_SYNC_SLAVES
pwdpolicy  0      0                    -                    -                -
user       1      1                    05/18/2023 17:32:58  hmc01            -
kerberos   0      0                    -                    -                -
customer   0      0                    -                    -                -
outbound   0      0                    -                    -                -
ldap       0      0                    -                    -                -
mfa        0      0                    -                    -                -
$

Die Ausgabe zeigt das sich der Wert von LEVEL für den Datentyp user von 0 auf 1 geändert hat. Außerdem wird in der Spalte UPDATED_SINCE_START angezeigt das es beim Datentyp user eine Änderung seit der Aktivierung der Datenreplikation gab. In weiteren Spalten wird der Zeitstempel der letzten Änderung und die Quelle (Master) der Änderung angegeben.

Durch die Aktivierung der Datenreplikation alleine erfolgt aber noch keine Replizierung von Daten! Dazu muss konfiguriert werden, welche HMC für welche Datentypen welche andere HMC als Quelle (Master) verwendet.

Die Angabe einer Quelle (oder Master) kann mit dem Kommando „hmc adddatarep“ erfolgen, dabei können optional ein oder mehrere Datentypen angegeben werden, die vom angegebenen Master repliziert werden sollen:

$ hmc adddatarep hmc02 hmc01 data_types=user
$

Die HMC hmc02 ist dabei bezüglich des Datentyps user ein Slave von HMC hmc01. Die HMC hmc01 ist für HMC hmc02 ein sogenannter Master. Änderungen von Benutzer-Accounts auf dem Master (hier hmc01), werden automatisch zum Slave (hier hmc02) repliziert. Der Slave übernimmt die Version des Masters, dementsprechend ist der Level des Datentyps der repliziert wird auf dem Slave der gleiche, wie auf dem Master.

Wird auf dem Master eine Änderung durchgeführt, wird auf dem Master entsprechend der Level um eins hoch gezählt und die Änderung wird an den Slave weitergegeben. Dabei wird der Level auf dem Slave auf den gleichen Wert wie auf dem Master gesetzt.