Migrasi Db2 untuk LUW ke EC2 Amazon dengan pemulihan bencana ketersediaan tinggi - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Migrasi Db2 untuk LUW ke EC2 Amazon dengan pemulihan bencana ketersediaan tinggi

Feng Cai, Aruna Gangireddy, dan Venkatesan Govindan, Amazon Web Services

Ringkasan

Saat pelanggan memigrasikan beban kerja IBM Db2 LUW (Linux, UNIX, dan Windows) mereka ke Amazon Web Services (AWS), menggunakan Amazon Elastic Compute Cloud ( EC2Amazon) dengan model Bring Your Own License (BYOL) adalah cara tercepat. Namun, memigrasikan sejumlah besar data dari Db2 lokal ke AWS dapat menjadi tantangan, terutama ketika jendela pemadaman pendek. Banyak pelanggan mencoba mengatur jendela pemadaman menjadi kurang dari 30 menit, yang menyisakan sedikit waktu untuk database itu sendiri.

Pola ini mencakup cara menyelesaikan migrasi Db2 dengan jendela pemadaman pendek dengan menggunakan Db2 high availability disaster recovery (HADR). Pendekatan ini berlaku untuk database Db2 yang berada di platform Linux kecil dan tidak menggunakan Fitur Partisi Data (DPF).

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • Instans Db2 yang berjalan pada EC2 instans Amazon yang cocok dengan tata letak sistem file lokal

  • Bucket Amazon Simple Storage Service (Amazon S3) yang dapat diakses oleh instans EC2

  • Kebijakan dan peran AWS Identity and Access Management (IAM) untuk melakukan panggilan terprogram ke Amazon S3

  • Zona waktu dan jam sistem yang disinkronkan di Amazon EC2 dan server lokal

  • Jaringan lokal yang terhubung ke AWS melalui AWS Site-to-SiteVPN atau AWS Direct Connect

  • Komunikasi antara server lokal dan Amazon EC2 di port HADR

Keterbatasan

  • Instans lokal Db2 dan Amazon EC2 harus berada di keluarga platform yang sama.

  • HADR tidak didukung dalam lingkungan database yang dipartisi.

  • HADR tidak mendukung penggunaan mentah I/O (akses disk langsung) untuk file log database.

  • HADR tidak mendukung logging tak terbatas.

  • LOGINDEXBUILDharus disetel keYES, yang akan meningkatkan penggunaan log untuk membangun kembali indeks.

  • Beban kerja lokal Db2 harus dicatat. Tetapkan blocknonlogged=yes dalam konfigurasi database untuk memblokir transaksi yang tidak tercatat.

Versi produk

  • Db2 untuk LUW versi 11.5.9 dan yang lebih baru

Arsitektur

Tumpukan teknologi sumber

  • Db2 di Linux x86_64

Tumpukan teknologi target

  • Amazon EC2

  • AWS Identity and Access Management (IAM)

  • Amazon S3

  • AWS Site-to-Site VPN

Arsitektur target

Dalam diagram berikut, Db2 di tempat berjalan db2-server1 sebagai primer. Ini memiliki dua target siaga HADR. Satu target siaga ada di tempat dan bersifat opsional. Target siaga lainnya,db2-ec2, ada di Amazon EC2. Setelah database dipotong ke AWS, db2-ec2 menjadi yang utama.

Alur kerja untuk bermigrasi dengan jendela pemadaman singkat Db2 lokal dengan menggunakan Db2 HADR.
  1. Log dialirkan dari database lokal utama ke database lokal siaga.

  2. Menggunakan Db2 HADR, log dialirkan dari database lokal utama melalui VPN Site-to-Site ke Db2 di Amazon. EC2

  3. Pencadangan Db2 dan log arsip dikirim dari database lokal utama ke bucket S3 di AWS.

Alat

Layanan AWS

  • AWS Command Line Interface (AWS CLI) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.

  • AWS Direct Connect menautkan jaringan internal Anda ke lokasi Direct Connect melalui kabel serat optik Ethernet standar. Dengan koneksi ini, Anda dapat membuat antarmuka virtual langsung ke layanan AWS publik sambil melewati penyedia layanan internet di jalur jaringan Anda.

  • Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.

  • AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

  • AWS Site-to-Site VPN membantu Anda meneruskan lalu lintas antar instans yang Anda luncurkan di AWS dan jaringan jarak jauh Anda sendiri.

Alat lainnya

Praktik terbaik

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Tetapkan variabel lingkungan.

Pola ini menggunakan nama dan port berikut:

  1. Nama host lokal Db2: db2-server1

  2. Nama host siaga HADR: db2-server2 (jika HADR saat ini berjalan di tempat)

  3. EC2 Nama host Amazon: db2-ec2

  4. Nama instans: db2inst1

  5. Nama database: SAMPLE

  6. Port HADR:

    • db2-server1: 50010

    • db2-server2: 50011

    • db2-ec2: 50012

Anda dapat mengubahnya agar sesuai dengan lingkungan Anda.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan AWS CLI.

Untuk mengunduh dan menginstal AWS CLI versi terbaru, jalankan perintah berikut:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
Administrator Linux

Siapkan tujuan lokal untuk log arsip Db2.

Kondisi seperti pekerjaan batch pembaruan berat dan perlambatan jaringan dapat menyebabkan server siaga HADR mengalami lag. Untuk catch up, server siaga membutuhkan log transaksi dari server utama. Urutan tempat untuk meminta log adalah sebagai berikut:

  • Direktori log aktif di server utama

  • LOGARCHMETH2Lokasi LOGARCHMETH1 atau di server siaga

  • LOGARCHMETH2Lokasi LOGARCHMETH1 atau di server utama

Dalam pengaturan ini, /db2logs diatur oleh LOGARCHMETH2 pada sumber sebagai area pementasan. Log yang diarsipkan di direktori ini akan disinkronkan ke Amazon S3 dan diakses oleh Db2 di Amazon. EC2 Pola yang digunakan LOGARCHMETH2 karena LOGARCHMETH1 mungkin telah dikonfigurasi untuk menggunakan alat vendor pihak ketiga yang tidak dapat diakses oleh perintah AWS CLI:

db2 connect to sample db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs
DBA

Jalankan backup database online.

Jalankan backup database online, dan simpan ke sistem file backup lokal:

db2 backup db sample online to /backup
DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat ember S3.

Buat bucket S3 untuk server lokal untuk mengirim image Db2 cadangan dan file log ke AWS. Bucket akan diakses oleh Amazon EC2:

aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1
Administrator AWS

Buat kebijakan IAM.

db2bucket.jsonFile berisi kebijakan IAM untuk mengakses bucket S3:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::hadrmig-db2/*", "arn:aws:s3:::hadrmig-db2" ] } ] }

Untuk membuat kebijakan, gunakan perintah AWS CLI berikut:

aws iam create-policy \ --policy-name db2s3hapolicy \ --policy-document file://db2bucket.json

Output JSON menunjukkan Nama Sumber Daya Amazon (ARN) untuk kebijakan, yang mewakili ID aws_account_id akun Anda:

"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"
Administrator AWS, administrator sistem AWS

Lampirkan kebijakan IAM ke peran IAM.

Biasanya, EC2 instance dengan Db2 berjalan akan memiliki peran IAM yang ditetapkan oleh administrator sistem. Jika tidak ada peran IAM yang ditetapkan, Anda dapat memilih Ubah peran IAM di konsol Amazon EC2 .

Lampirkan kebijakan IAM ke peran IAM yang terkait dengan instance. EC2 Setelah kebijakan dilampirkan, EC2 instance dapat mengakses bucket S3:

aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole
TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan AWS CLI di server Db2 lokal.

Konfigurasikan AWS CLI dengan Access Key ID dan Secret Access Key yang Anda buat sebelumnya:

$ aws configure AWS Access Key ID [None]: ************* AWS Secret Access Key [None]: *************************** Default region name [None]: us-east-1 Default output format [None]: json
Administrator AWS, administrator sistem AWS

Kirim gambar cadangan ke Amazon S3.

Sebelumnya, cadangan database online disimpan ke direktori /backup lokal. Untuk mengirim gambar cadangan itu ke bucket S3, jalankan perintah berikut:

aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup
Administrator AWS, administrator sistem AWS

Kirim log arsip Db2 ke Amazon S3.

Sinkronkan log arsip Db2 lokal dengan bucket Amazon S3 yang dapat diakses oleh instans Db2 target di Amazon: EC2

aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS

Jalankan perintah ini secara berkala dengan menggunakan cron atau alat penjadwalan lainnya. Frekuensi tergantung pada seberapa sering database sumber mengarsipkan file log transaksi.

TugasDeskripsiKeterampilan yang dibutuhkan

Buat PKCS12 keystore.

Db2 menggunakan keystore enkripsi Public-Key Cryptography Standards (PKCS) untuk menjaga kunci akses AWS tetap aman. Buat keystore, dan konfigurasikan sumber Db2 untuk menggunakannya:

gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"
DBA

Buat alias akses penyimpanan Db2.

Db2 menggunakan alias akses penyimpanan untuk mengakses Amazon S3 secara langsung denganINGEST,,, LOAD atau perintah. BACKUP DATABASE RESTORE DATABASE

Karena Anda menetapkan peran IAM ke EC2 instance, USER dan tidak PASSWORD diperlukan:

db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"

Misalnya, skrip Anda mungkin terlihat seperti berikut:

db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'"

DBA

Atur area pementasan.

Sebaiknya gunakanDB2_ENABLE_COS_SDK=ON,DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore, dan tautan ke awssdk perpustakaan untuk melewati area pementasan Amazon S3 untuk pencadangan dan pemulihan basis data:

#By root: cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/ #By db2 instance owner: db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage db2set DB2_ENABLE_COS_SDK=ON db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage db2stop db2start
DBA

Kembalikan database dari gambar cadangan.

Kembalikan database target di Amazon EC2 dari gambar cadangan di bucket S3:

db2 create db sample on /data1 db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing
DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan server Db2 lokal sebagai yang utama.

Memperbarui pengaturan konfigurasi database untuk HADR pada db2-server1 (sumber lokal) sebagai primer. Setel HADR_SYNCMODE ke SUPERASYNC mode, yang memiliki waktu respons transaksi terpendek:

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

Beberapa penundaan jaringan antara pusat data lokal dan AWS diharapkan terjadi. (Anda dapat menetapkan HADR_SYNCMODE nilai yang berbeda berdasarkan keandalan jaringan. Untuk informasi selengkapnya, lihat bagian Sumber daya terkait).

DBA

Ubah tujuan arsip log database target.

Ubah tujuan arsip log database target agar sesuai dengan EC2 lingkungan Amazon:

db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully
DBA

Konfigurasikan HADR untuk Db2 di server Amazon. EC2

Perbarui konfigurasi database untuk HADR aktif db2-ec2 sebagai siaga:

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

Verifikasi pengaturan HADR.

Verifikasi parameter HADR pada sumber dan target server Db2.

Untuk memverifikasi pengaturandb2-server1, jalankan perintah berikut:

db2 get db cfg for sample|grep HADR HADR database role = PRIMARY HADR local host name (HADR_LOCAL_HOST) = db2-server1 HADR local service name (HADR_LOCAL_SVC) = 50010 HADR remote host name (HADR_REMOTE_HOST) = db2-ec2 HADR remote service name (HADR_REMOTE_SVC) = 50012 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

Untuk memverifikasi pengaturandb2-ec2, jalankan perintah berikut:

db2 get db cfg for sample|grep HADR HADR database role = STANDBY HADR local host name (HADR_LOCAL_HOST) = db2-ec2 HADR local service name (HADR_LOCAL_SVC) = 50012 HADR remote host name (HADR_REMOTE_HOST) = db2-server1 HADR remote service name (HADR_REMOTE_SVC) = 50010 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = HADR log write synchronization mode (HADR_SYNCMODE) = SUPERASYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

HADR_REMOTE_SVCParameter HADR_LOCAL_HOSTHADR_LOCAL_SVC,HADR_REMOTE_HOST,, dan menunjukkan pengaturan HADR satu primer dan satu siaga.

DBA

Mulai instance Db2 HADR.

Mulai instance Db2 HADR di server siaga terlebih dahulu: db2-ec2

db2 start hadr on db sample as standby DB20000I The START HADR ON DATABASE command completed successfully.

Mulai Db2 HADR di server utama (sumber): db2-server1

db2 start hadr on db sample as primary DB20000I The START HADR ON DATABASE command completed successfully.

Koneksi HADR antara Db2 di tempat dan di Amazon kini EC2 telah berhasil dibuat. Server utama Db2 db2-server1 memulai streaming catatan log transaksi db2-ec2 secara real time.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Tambahkan Db2 di Amazon EC2 sebagai siaga tambahan.

Jika HADR berjalan pada instans Db2 lokal, Anda dapat menambahkan Db2 di Amazon EC2 sebagai siaga tambahan menggunakan HADR_TARGET_LIST dengan menjalankan perintah berikut pada: 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

Tambahkan informasi siaga tambahan ke server lokal.

Pembaruan HADR_TARGET_LIST pada dua server lokal (primer dan siaga).

db2-server1Aktif, jalankan kode berikut:

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.

db2-server2Aktif, jalankan kode berikut:

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

Verifikasi pengaturan HADR.

Verifikasi parameter HADR pada sumber dan target server Db2.

db2-server1Aktif, jalankan kode berikut:

db2 get db cfg for sample|grep HADR HADR database role = PRIMARY HADR local host name (HADR_LOCAL_HOST) = db2-server1 HADR local service name (HADR_LOCAL_SVC) = 50010 HADR remote host name (HADR_REMOTE_HOST) = db2-server2 HADR remote service name (HADR_REMOTE_SVC) = 50011 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012 HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

db2-server2Aktif, jalankan kode berikut:

db2 get db cfg for sample|grep HADR HADR database role = STANDBY HADR local host name (HADR_LOCAL_HOST) = db2-server2 HADR local service name (HADR_LOCAL_SVC) = 50011 HADR remote host name (HADR_REMOTE_HOST) = db2-server1 HADR remote service name (HADR_REMOTE_SVC) = 50010 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012 HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

db2-ec2Aktif, jalankan kode berikut:

db2 get db cfg for sample|grep HADR HADR database role = STANDBY HADR local host name (HADR_LOCAL_HOST) = db2-ec2 HADR local service name (HADR_LOCAL_SVC) = 50012 HADR remote host name (HADR_REMOTE_HOST) = db2-server1 HADR remote service name (HADR_REMOTE_SVC) = 50010 HADR instance name of remote server (HADR_REMOTE_INST) = db2inst1 HADR timeout value (HADR_TIMEOUT) = 120 HADR target list (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011 HADR log write synchronization mode (HADR_SYNCMODE) = SUPERASYNC HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMATIC(52000) HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0 HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 HADR SSL certificate label (HADR_SSL_LABEL) = HADR SSL Hostname Validation (HADR_SSL_HOST_VAL) = OFF

HADR_TARGET_LISTParameter HADR_LOCAL_HOSTHADR_LOCAL_SVC,HADR_REMOTE_HOST,HADR_REMOTE_SVC,, dan menunjukkan satu pengaturan HADR utama dan dua siaga.

Berhenti dan mulai Db2 HADR.

HADR_TARGET_LISTsekarang diatur di ketiga server. Setiap server Db2 mengetahui dua lainnya. Hentikan dan mulai ulang HADR (pemadaman singkat) untuk memanfaatkan konfigurasi baru.

db2-server1Aktif, jalankan perintah berikut:

db2 stop hadr on db sample db2 deactivate db sample db2 activate db sample

db2-server2Aktif, jalankan perintah berikut:

db2 deactivate db sample db2 start hadr on db sample as standby SQL1766W The command completed successfully

db2-ec2Aktif, jalankan perintah berikut:

db2 start hadr on db sample as standby SQL1766W The command completed successfully

db2-server1Aktif, jalankan perintah berikut:

db2 start hadr on db sample as primary SQL1766W The command completed successfully

Koneksi HADR antara Db2 di tempat dan di Amazon sekarang berhasil EC2 dibuat. Server utama Db2 db2-server1 memulai streaming catatan log transaksi ke keduanya db2-server2 dan db2-ec2 secara real time.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Pastikan tidak ada lag HADR di server siaga.

Periksa status HADR dari server db2-server1 utama. Jangan khawatir ketika HADR_STATE dalam REMOTE_CATCHUP status, yang normal ketika HADR_SYNCMODE diatur keSUPERASYNC. PRIMARY_LOG_TIMEDan STANDBY_REPLAY_LOG_TIME menunjukkan bahwa mereka sinkron:

db2pd -hadr -db sample HADR_ROLE = PRIMARY REPLAY_TYPE = PHYSICAL HADR_SYNCMODE = SUPERASYNC STANDBY_ID = 2 LOG_STREAM_ID = 0 HADR_STATE = REMOTE_CATCHUP ..... PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292) STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292) STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)
DBA

Jalankan pengambilalihan HADR.

Untuk menyelesaikan migrasi, buat database db2-ec2 utama dengan menjalankan perintah pengambilalihan HADR. Gunakan perintah db2pd untuk memverifikasi HADR_ROLE nilai:

db2 TAKEOVER HADR ON DATABASE sample DB20000I The TAKEOVER HADR ON DATABASE command completed successfully. db2pd -hadr -db sample Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988 HADR_ROLE = PRIMARY REPLAY_TYPE = PHYSICAL

Untuk menyelesaikan migrasi ke AWS, arahkan koneksi aplikasi ke Db2 di Amazon. EC2

Pemecahan Masalah

IsuSolusi

Jika Anda menggunakan NAT untuk alasan firewall dan keamanan, host dapat memiliki dua alamat IP (satu internal dan satu eksternal), yang dapat menyebabkan kegagalan pemeriksaan alamat IP HADR. START HADR ON DATABASEPerintah akan mengembalikan pesan berikut:

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.

Untuk mendukung HADR di lingkungan NAT, Anda dapat mengonfigurasi HADR_LOCAL_HOST dengan alamat internal dan eksternal. Misalnya, jika server Db2 memiliki nama internal host1 dan nama eksternalhost1E, HADR_LOCAL_HOST bisa. HADR_LOCAL_HOST: "host1 | host1E"

Sumber daya terkait