

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Migrieren Sie Db2 for LUW zu Amazon EC2 mit hochverfügbarer Disaster Recovery
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery"></a>

*Feng Cai, Aruna Gangireddy und Venkatesan Govindan, Amazon Web Services*

## Zusammenfassung
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-summary"></a>

Wenn Kunden ihren IBM Db2 LUW-Workload (Linux, UNIX und Windows) zu Amazon Web Services (AWS) migrieren, ist die Verwendung von Amazon Elastic Compute Cloud (Amazon EC2) mit dem Bring Your Own License (BYOL) -Modell der schnellste Weg. Die Migration großer Datenmengen von lokalem Db2 nach AWS kann jedoch eine Herausforderung sein, insbesondere wenn das Ausfallfenster kurz ist. Viele Kunden versuchen, das Ausfallfenster auf weniger als 30 Minuten festzulegen, sodass wenig Zeit für die Datenbank selbst bleibt.

Dieses Muster beschreibt, wie eine Db2-Migration mit einem kurzen Ausfallfenster mithilfe von Db2 High Availability Disaster Recovery (HADR) durchgeführt werden kann. Dieser Ansatz gilt für Db2-Datenbanken, die sich auf der Little-Endian-Linux-Plattform befinden und die Datenpartitionsfunktion (DPF) nicht verwenden.

## Voraussetzungen und Einschränkungen
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ Eine Db2-Instance, die auf einer Amazon EC2 EC2-Instance ausgeführt wird und den lokalen Dateisystem-Layouts entspricht
+ Ein Amazon Simple Storage Service (Amazon S3) -Bucket, auf den die EC2-Instance zugreifen kann
+ Eine Richtlinie und Rolle für AWS Identity and Access Management (IAM) für programmatische Aufrufe an Amazon S3
+ Synchronisierte Zeitzone und Systemuhren auf Amazon EC2 und dem lokalen Server
+ Das lokale Netzwerk, das über AWS [ Site-to-SiteVPN oder AWS AWS](https://aws.amazon.com/vpn/) [Direct](https://aws.amazon.com/directconnect/) Connect verbunden ist
+ Kommunikation zwischen dem lokalen Server und Amazon EC2 über HADR-Ports

**Einschränkungen**
+ [Die lokale Db2-Instance und Amazon EC2 müssen sich auf derselben Plattformfamilie befinden.](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ HADR wird in einer partitionierten Datenbankumgebung nicht unterstützt.
+ HADR unterstützt die Verwendung von RAW I/O (direkter Festplattenzugriff) für Datenbank-Logdateien nicht.
+ HADR unterstützt keine unendliche Protokollierung.
+ `LOGINDEXBUILD`muss auf gesetzt sein`YES`, wodurch die Protokollnutzung für die Neuerstellung des Index erhöht wird.
+ Die lokale Db2-Arbeitslast muss protokolliert werden. `blocknonlogged=yes`In der Datenbankkonfiguration so eingestellt, dass alle nicht protokollierten Transaktionen blockiert werden.

**Versionen der Produkte**
+ Db2 für LUW Version 11.5.9 und höher

## Architektur
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-architecture"></a>

**Quelltechnologie-Stack**
+ Db2 auf Linux x86\$164****

**Zieltechnologie-Stack**
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Amazon S3
+  Site-to-SiteAWS-VPN

**Zielarchitektur**

In der folgenden Abbildung wird Db2 on Premises `db2-server1` als primäres System ausgeführt. Es hat zwei HADR-Standby-Ziele. Ein Standby-Ziel befindet sich vor Ort und ist optional. Das andere Standby-Ziel,`db2-ec2`, befindet sich auf Amazon EC2. Nachdem die Datenbank auf AWS umgestellt wurde, `db2-ec2` wird sie zur primären Datenbank.

![\[Workflow für die Migration eines lokalen Db2 mit einem kurzen Ausfallfenster mithilfe von Db2 HADR.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2db43e4b-f0ea-4a92-96da-4cafb7d3368b/images/5295420e-3cd8-4127-9a18-ade971c36339.png)


1. Protokolle werden von der lokalen Primärdatenbank zur lokalen Standby-Datenbank gestreamt.

1. Mithilfe von Db2 HADR werden Protokolle von der primären lokalen Datenbank über Site-to-Site VPN zu Db2 auf Amazon EC2 gestreamt.

1. DB2-Backup- und Archivierungsprotokolle werden von der primären lokalen Datenbank an den S3-Bucket auf AWS gesendet.

## Tools
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-tools"></a>

**AWS-Services**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) verbindet Ihr internes Netzwerk über ein Standard-Ethernet-Glasfaserkabel mit einem Direct Connect-Standort. Mit dieser Verbindung können Sie virtuelle Schnittstellen direkt zu öffentlichen AWS-Services erstellen und dabei Internetdienstanbieter in Ihrem Netzwerkpfad umgehen.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) bietet skalierbare Rechenkapazität in der AWS-Cloud. Sie können so viele virtuelle Server wie nötig nutzen und sie schnell nach oben oder unten skalieren.
+ Mit [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) können Sie den Zugriff auf Ihre AWS-Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ Mit [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) können Sie den Datenverkehr zwischen Instances, die Sie auf AWS starten, und Ihrem eigenen Remote-Netzwerk weiterleiten.

**Andere Tools**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) ist der interaktive Db2-CLI-Befehl.

## Best Practices
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-best-practices"></a>
+ Verwenden Sie in der Zieldatenbank [Gateway-Endpunkte für Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html), um auf das Datenbank-Backup-Image und die Protokolldateien in Amazon S3 zuzugreifen.
+ Verwenden Sie in der Quelldatenbank [AWS PrivateLink für Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html), um das Datenbank-Backup-Image und die Protokolldateien an Amazon S3 zu senden.

## Epen
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-epics"></a>

### Festlegen von Umgebungsvariablen
<a name="set-environment-variables"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Legen Sie Umgebungsvariablen fest. | Dieses Muster verwendet die folgenden Namen und Ports:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)Sie können sie an Ihre Umgebung anpassen. | DBA | 

### Konfigurieren Sie den lokalen Db2-Server
<a name="configure-the-on-premises-db2-server"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie die AWS-CLI ein. | Führen Sie die folgenden Befehle aus, um die neueste Version von AWS CLI herunterzuladen und zu installieren:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Linux-Administrator | 
| Richten Sie ein lokales Ziel für Db2-Archivprotokolle ein. | Bedingungen wie umfangreiche Batch-Aktualisierungsaufträge und Netzwerkverlangsamungen können dazu führen, dass der HADR-Standby-Server verzögert wird. Um catch, benötigt der Standby-Server die Transaktionsprotokolle des Primärservers. Die Reihenfolge der Stellen, an denen Logs angefordert werden, ist wie folgt:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)In diesem Setup `/db2logs` wird von `LOGARCHMETH2` auf der Quelle als Staging-Bereich festgelegt. Die archivierten Protokolle in diesem Verzeichnis werden mit Amazon S3 synchronisiert und von Db2 auf Amazon EC2 abgerufen. Das Muster verwendet`LOGARCHMETH2`, weil `LOGARCHMETH1` es möglicherweise für die Verwendung eines Drittanbietertools konfiguriert wurde, auf das der AWS-CLI-Befehl nicht zugreifen kann:<pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Führen Sie eine Online-Datenbanksicherung durch. | Führen Sie eine Online-Datenbanksicherung aus und speichern Sie sie im lokalen Backup-Dateisystem:<pre>db2 backup db sample online to /backup </pre> | DBA | 

### Richten Sie den S3-Bucket und die IAM-Richtlinie ein
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen S3-Bucket. | Erstellen Sie einen S3-Bucket für den lokalen Server, an den die Backup-DB2-Images und Protokolldateien auf AWS gesendet werden sollen. Auf den Bucket wird von Amazon EC2 zugegriffen:<pre>aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1 </pre> | AWS-Administrator | 
| Erstellen Sie eine IAM-Richtlinie. | Die `db2bucket.json` Datei enthält die IAM-Richtlinie für den Zugriff auf den S3-Bucket:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::hadrmig-db2/*",<br />                "arn:aws:s3:::hadrmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Verwenden Sie den folgenden AWS-CLI-Befehl, um die Richtlinie zu erstellen:<pre>aws iam create-policy \<br />      --policy-name db2s3hapolicy \<br />      --policy-document file://db2bucket.json </pre>Die JSON-Ausgabe zeigt den Amazon-Ressourcennamen (ARN) für die Richtlinie, wobei `aws_account_id` es sich um Ihre Konto-ID handelt:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"</pre> | AWS-Administrator, AWS-Systemadministrator | 
| Fügen Sie die IAM-Richtlinie an die IAM-Rolle an. | Normalerweise würde der EC2-Instance, auf der Db2 läuft, vom Systemadministrator eine IAM-Rolle zugewiesen. Wenn keine IAM-Rolle zugewiesen ist, können Sie in der Amazon EC2 EC2-Konsole die Option **IAM-Rolle ändern** auswählen.Fügen Sie die IAM-Richtlinie der IAM-Rolle hinzu, die der EC2-Instance zugeordnet ist. Nachdem die Richtlinie angehängt wurde, kann die EC2-Instance auf den S3-Bucket zugreifen:<pre>aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole   </pre> |  | 

### Senden Sie das Backup-Image und die Protokolldateien der Quelldatenbank an Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie AWS CLI auf dem lokalen Db2-Server. | Konfigurieren Sie die AWS-CLI mit dem `Access Key ID` und`Secret Access Key`, das Sie zuvor generiert haben:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre> | AWS-Administrator, AWS-Systemadministrator | 
| Senden Sie das Backup-Image an Amazon S3. | Zuvor wurde ein Online-Datenbank-Backup im `/backup` lokalen Verzeichnis gespeichert. Führen Sie den folgenden Befehl aus, um dieses Backup-Image an den S3-Bucket zu senden:<pre>aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup</pre> | AWS-Administrator, AWS-Systemadministrator | 
| Senden Sie die Db2-Archivprotokolle an Amazon S3. | Synchronisieren Sie die lokalen Db2-Archivprotokolle mit dem Amazon S3 S3-Bucket, auf den die Ziel-Db2-Instance auf Amazon EC2 zugreifen kann:<pre>aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS</pre>Führen Sie diesen Befehl regelmäßig mithilfe von Cron oder anderen Planungstools aus. Die Häufigkeit hängt davon ab, wie oft die Quelldatenbank Transaktionsprotokolldateien archiviert. |  | 

### Connect Db2 auf Amazon EC2 mit Amazon S3 und starten Sie die erste Datenbanksynchronisierung
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-initial-database-sync"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen PKCS12 Keystore. | Db2 verwendet einen PKCS-Verschlüsselungs-Keystore (Public-Key Cryptography Standards), um den AWS-Zugriffsschlüssel zu schützen. Erstellen Sie einen Keystore und konfigurieren Sie den Quell-Db2 so, dass er ihn verwendet:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Erstellen Sie den Alias für den Db2-Speicherzugriff. | Db2 verwendet einen Speicherzugriffsalias, um mit den `RESTORE DATABASE` Befehlen`INGEST`, `LOAD``BACKUP DATABASE`, oder direkt auf Amazon S3 zuzugreifen. Weil Sie der EC2-Instance eine IAM-Rolle zugewiesen haben `USER` und nicht erforderlich `PASSWORD` sind:`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Ihr Skript könnte beispielsweise wie folgt aussehen: `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'" ` | DBA | 
| Stellen Sie den Bereitstellungsbereich ein. | Wir empfehlen`DB2_ENABLE_COS_SDK=ON`,`DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore`, und den Link zur `awssdk` Bibliothek zu verwenden, um den Amazon S3 S3-Staging-Bereich für Datenbank-Backups und -Wiederherstellungen zu umgehen:<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2stop<br />db2start</pre> | DBA | 
| Stellen Sie die Datenbank aus dem Backup-Image wieder her. | Stellen Sie die Zieldatenbank auf Amazon EC2 aus dem Backup-Image im S3-Bucket wieder her:<pre>db2 create db sample on /data1<br />db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing</pre> | DBA | 

### Richten Sie HADR ohne HADR vor Ort ein
<a name="set-up-hadr-with-no-hadr-on-premises"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie den lokalen Db2-Server als primären Server. | Aktualisieren Sie die Datenbankkonfigurationseinstellungen für HADR on `db2-server1` (die lokale Quelle) als Primärserver. Stellen Sie `HADR_SYNCMODE` den `SUPERASYNC` Modus ein, der die kürzeste Transaktionsantwortzeit hat:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-server1 HADR_LOCAL_SVC 50010 HADR_REMOTE_HOST db2-ec2 HADR_REMOTE_SVC 50012 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully`Es wird mit einigen Netzwerkverzögerungen zwischen dem lokalen Rechenzentrum und AWS gerechnet. (Sie können je nach Netzwerkzuverlässigkeit einen anderen `HADR_SYNCMODE` Wert festlegen. Weitere Informationen finden Sie im Abschnitt [Verwandte Ressourcen](#migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources).) | DBA | 
| Ändern Sie das Ziel des Zieldatenbank-Logarchivs. | Ändern Sie das Zielziel des Datenbank-Logarchivs so, dass es der Amazon EC2 EC2-Umgebung entspricht:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF<br />DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully</pre> | DBA | 
| Konfigurieren Sie HADR für Db2 auf dem Amazon EC2-Server. | Aktualisieren Sie die Datenbankkonfiguration für HADR im Standby-Modus: `db2-ec2``db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully` | DBA | 
| Überprüfen Sie das HADR-Setup. | Überprüfen Sie die HADR-Parameter auf den Quell- und Ziel-DB2-Servern.Führen Sie den folgenden Befehl aus, um zu überprüfen`db2-server1`, ob das Setup aktiviert ist:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-ec2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50012<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre> Führen Sie den folgenden Befehl aus, um zu überprüfen`db2-ec2`, ob das Setup aktiviert ist:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Die `HADR_REMOTE_SVC` Parameter`HADR_LOCAL_HOST`, `HADR_LOCAL_SVC``HADR_REMOTE_HOST`, und geben das eine primäre und ein Standby-HARD-Setup an. | DBA | 
| Starten Sie die Db2 HADR-Instanz. | Starten Sie zuerst die Db2 HADR-Instanz auf dem Standby-Server: `db2-ec2`<pre>db2 start hadr on db sample as standby<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>Starten Sie Db2 HADR auf dem Primärserver (Quellserver): `db2-server1`<pre>db2 start hadr on db sample as primary<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>Die HADR-Verbindung zwischen Db2 vor Ort und Amazon EC2 wurde jetzt erfolgreich hergestellt. Der Db2-Primärserver `db2-server1` beginnt, Transaktionsprotokolleinträge in Echtzeit zu `db2-ec2` streamen. | DBA | 

### Richten Sie HADR ein, wenn HADR lokal vorhanden ist
<a name="set-up-hadr-when-hadr-exists-on-premises"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Fügen Sie Db2 auf Amazon EC2 als Auxiliary Standby hinzu. | Wenn HADR auf der lokalen Db2-Instance ausgeführt wird, können Sie Db2 auf Amazon EC2 als Auxiliary Standby hinzufügen, `HADR_TARGET_LIST` indem Sie die folgenden Befehle auf ausführen: `db2-ec2``db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-server2:50011" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | DBA | 
| Fügen Sie die zusätzlichen Standby-Informationen zu den lokalen Servern hinzu. | Update `HADR_TARGET_LIST` auf den beiden lokalen Servern (Primär- und Standby-Server).Führen Sie auf `db2-server1` den folgenden Code aus:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server2:50011\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.`Führen Sie `db2-server2` unter den folgenden Code aus:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.` | DBA | 
| Überprüfen Sie das HADR-Setup. | Überprüfen Sie die HADR-Parameter auf den Quell- und Ziel-DB2-Servern.Führen Sie auf `db2-server1` den folgenden Code aus:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50011<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Führen Sie `db2-server2` unter den folgenden Code aus:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50011<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Führen Sie `db2-ec2` unter den folgenden Code aus:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Die `HADR_TARGET_LIST` Parameter`HADR_LOCAL_HOST`, `HADR_LOCAL_SVC``HADR_REMOTE_HOST`, und geben an`HADR_REMOTE_SVC`, dass ein primäres und zwei Standby-HADR-Setup vorhanden sind. |  | 
| Stoppen und starten Sie Db2 HADR. | `HADR_TARGET_LIST`ist jetzt auf allen drei Servern eingerichtet. Jeder Db2-Server kennt die anderen beiden. Beenden Sie HADR (kurzer Ausfall) und starten Sie es erneut, um die Vorteile der neuen Konfiguration zu nutzen.Führen Sie `db2-server1` unter die folgenden Befehle aus:<pre>db2 stop hadr on db sample<br />db2 deactivate db sample<br />db2 activate db sample</pre>Führen Sie bei `db2-server2` aktivierter Option die folgenden Befehle aus:<pre>db2 deactivate db sample<br />db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>Führen Sie bei `db2-ec2` aktivierter Option die folgenden Befehle aus:<pre>db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>Führen Sie bei `db2-server1` aktivierter Option die folgenden Befehle aus:<pre>db2 start hadr on db sample as primary<br />SQL1766W  The command completed successfully</pre>Die HADR-Verbindung zwischen Db2 vor Ort und Amazon EC2 wurde jetzt erfolgreich hergestellt. Der Db2-Primärserver `db2-server1` beginnt mit dem Streaming von Transaktionsprotokolldatensätzen an beide Server `db2-server2` und `db2-ec2` zwar in Echtzeit.  | DBA | 

### Machen Sie Db2 auf Amazon EC2 während des Umstellungsfensters als primäres Objekt
<a name="make-db2-on-amazon-ec2-as-primary-during-the-cutover-window"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie sicher, dass es auf dem Standby-Server keine HADR-Verzögerung gibt. | Überprüfen Sie den HADR-Status vom Primärserver aus. `db2-server1` Seien Sie nicht beunruhigt, wenn der `REMOTE_CATCHUP` Status `HADR_STATE` aktiviert ist, was normal ist, wenn er auf eingestellt `HADR_SYNCMODE` ist. `SUPERASYNC` Die `PRIMARY_LOG_TIME` und `STANDBY_REPLAY_LOG_TIME` zeigen, dass sie synchron sind:<pre>db2pd -hadr -db sample<br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL<br />                        HADR_SYNCMODE = SUPERASYNC<br />                           STANDBY_ID = 2<br />                        LOG_STREAM_ID = 0<br />                           HADR_STATE = REMOTE_CATCHUP<br />.....<br />                     PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />                     STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />              STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)</pre> | DBA | 
| Führen Sie HADR Takeover aus. | Um die Migration abzuschließen, erstellen Sie `db2-ec2` die Primärdatenbank, indem Sie den Befehl HADR Takeover ausführen. Verwenden Sie den Befehl`db2pd`, um den `HADR_ROLE` Wert zu überprüfen:<pre>db2 TAKEOVER HADR ON DATABASE sample<br />DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.<br /><br />db2pd -hadr -db sample<br />Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988<br /><br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL</pre>Um die Migration zu AWS abzuschließen, verweisen Sie die Anwendungsverbindungen auf Db2 in Amazon EC2. |  | 

## Fehlerbehebung
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Wenn Sie NAT aus Firewall- und Sicherheitsgründen verwenden, kann der Host zwei IP-Adressen haben (eine interne und eine externe), was dazu führen kann, dass die HADR-IP-Adressüberprüfung fehlschlägt. Der `START HADR ON DATABASE` Befehl gibt die folgende Meldung zurück:`HADR_LOCAL_HOST:HADR_LOCAL_SVC (-xx-xx-xx-xx.:50011 (xx.xx.xx.xx:50011)) on remote database is different from HADR_REMOTE_HOST:HADR_REMOTE_SVC (xx-xx-xx-xx.:50011 (x.x.x.x:50011)) on local database.` | Um [HADR in einer NAT-Umgebung zu unterstützen,](https://www.ibm.com/docs/en/db2/11.5?topic=support-hadr-nat) können Sie die sowohl `HADR_LOCAL_HOST` mit der internen als auch mit der externen Adresse konfigurieren. Wenn der Db2-Server beispielsweise den internen Namen `host1` und den externen Namen hat`host1E`, `HADR_LOCAL_HOST` kann das sein. `HADR_LOCAL_HOST: "host1 \| host1E"` | 

## Zugehörige Ressourcen
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources"></a>
+ [Sicherungs- und Wiederherstellungsvorgänge von DB2 zwischen verschiedenen Betriebssystemen und Hardwareplattformen](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Richten Sie Db2 STORAGE ACCESS ALIAS und REMOTE ein DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Db2-Disaster Recovery mit hoher Verfügbarkeit](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr)
+ [hadr\$1syncmode — HADR-Synchronisationsmodus für Protokollschreibvorgänge im Peer-State-Konfigurationsparameter](https://www.ibm.com/docs/en/db2/11.5?topic=dcp-hadr-syncmode-hadr-synchronization-mode-log-writes-in-peer-state)