2 Zero Downtime Migrationソフトウェアの設定

Zero Downtime Migrationソフトウェアをインストールするときは、最後にインストールを実行してから変更が加えられている可能性があるため、この項をよくお読みください。

Zero Downtime Migrationソフトウェア・キットでは、物理移行と論理移行の両方がサポートされています。1つのキットのみをインストールして、すべての機能を取得できます。

既知の問題の最新情報は、必ずZero Downtime Migrationリリース・ノートを参照してください。また、ソフトウェアのインストールおよび更新の詳細は、ダウンロードしたZero Downtime Migrationソフトウェアに同梱されているREADMEファイルを参照してください。

Zero Downtime Migrationソフトウェアがすでにホストにインストールされている場合は、それが利用可能な最新のリリースであることを常に確認する必要があります。Zero Downtime Migrationソフトウェアの更新では、既存のジョブ情報、メタデータおよびログ・ファイルを保持しながら、最新の機能と修正が提供されます。常にバージョンを確認し、ダウンロード・ページで入手できるものと比較して最新かどうかを判断してください。

既存のソフトウェアの最新リリースへの更新、ソフトウェアの削除およびZero Downtime Migrationサービスの起動と停止の詳細は、Zero Downtime Migrationサービスの管理を参照してください。

2.1 Zero Downtime Migrationソフトウェアのインストールのためのホストの準備

ホストにZero Downtime Migrationソフトウェアがまだインストールされていない場合は、要件に準拠していることを確認し、インストール前タスクを実行してから、ソフトウェアをダウンロードしてインストールします。ソフトウェアがにインストールされると、ホストはZero Downtime Migrationサービス・ホストと呼ばれます。

次の前提条件でホストをプロビジョニングし、次のインストール前タスクを完了してから、Zero Downtime Migrationソフトウェアをインストールします。

  • Zero Downtime Migrationサービス・ホストは、専用システムである必要がありますが、他の目的で共有できます。

    ただし、RHPサーバーがデプロイされている同じホストにZero Downtime Migrationサービスがインストールされている場合の詳細は、同じホストでのRHPおよびZero Downtime Migrationサービスの実行に関する項を参照してください。

  • Zero Downtime Migrationソフトウェアでは、次のいずれかのプラットフォームで実行されているスタンドアロンLinuxホストが必要です:

    Oracle Linux 7、Oracle Linux 8またはRed Hat Enterprise Linux 8。

  • Zero Downtime Migrationサービス・ホストは、ソースおよびターゲットのデータベース・サーバーに接続できる必要があります。

  • Linuxホストに100 GBの空き格納領域があることを確認します。

  • 既存のユーザーを使用するか、Zero Downtime Migrationサービス・ホストでrootユーザーとして、zdmグループを作成し、zdmuserユーザーをグループに追加します。

    たとえば、

    root> groupadd zdm
    root> useradd –g zdm zdmuser
  • glibc-develおよびexpectパッケージがインストールされていることを確認します。

    ベース環境"最小インストール"を使用したOracle Linux 8インストールの場合は、unzip libaio oraclelinux-developer-release-el7 libnsl パッケージとncurses-compat-libsパッケージをインストールする必要もあります。
    - Minimum OS version Oracle Linux 7
     - Ensure Packages 'glibc-devel' and 'expect' are installed
     - For higher versions such as Oracle Linux 8:
     - Ensure Packages 'libnsl' and 'ncurses-compat-libs' are also installed
     - glibc-devel' and 'expect are a must for either versions
     - unzip libaio oraclelinux-developer-release-el7 libnsl and ncurses-compat-libs are required for Oracle Linux 8
  • ホスト名およびIPアドレスの/etc/hostsエントリが想定どおりに構成されていることを確認し、Zero Downtime Migrationソフトウェアのインストールに選択されているホストで正しいIPアドレスに解決され、IPアドレスがpingで到達可能となるようにします。

    ノート:

    別名の使用はサポートされていません。
  • インストール時に、カーネル・パラメータに適切な値を設定するために、欠落しているパッケージおよび指示がスクリプトからレポートされる場合があります。Zero Downtime Migrationソフトウェアをインストールする前に、必ず欠落しているパッケージをインストールしてカーネル・パラメータを設定します。

  • オプションで、ZDM_HOME環境変数をZero Downtime Migrationソフトウェアがインストールされるディレクトリの絶対パスに設定します。このマニュアルでは、すべての例で$ZDM_HOMEを使用します。

    zdmuser> export ZDM_HOME=absolute_path_to_zdm_home
  • リリース情報ファイルにはZDMのjar依存関係が含まれています。含まれているバージョンのzdm.release.infoは、zdm home:./zdm_home/rhp/zdm.release.infoにあります。
    Example:
    cat rhp/zdm.release.infoFeb 10 2024 01:32:57
    UTCjlib/jipher-jce.jar 10.31jlib/jipher-pki.jar 10.15jlib/sshd-common.jar
    2.10.0jlib/jersey-common.jar 2.36.0jlib/jackson-core.jar
    2.15.2jlib/json-java.jar 20231013.0.0jlib/org-everit-json-schema.jar
    1.14.2rhp/zdm/lib/autoupgrade.jar
    23.4.230921rhp/zdm/lib/cpat/lib/premigration.jar
    23.12.0rhp/zdm/lib/opc_install.jar
    RDBMS_MAIN_LINUX.X64_170816tomcat/lib/catalina.jar
    N/Amicronaut/jlib/micronaut-core.jar 3.8.5-2
  • インターネットへのアクセスがZDMサーバーから制限されている保護された環境では、ネットワーク・ファイアウォールでOCIエンドポイントを許可する必要がある場合があります。これらのエンドポイントは、ZDMによって、Oracle Cloud for AutonomousターゲットへのAPIコールに使用されます。次のサービスに対してリージョン固有のエンドポイントを許可します:

2.2 Zero Downtime Migrationソフトウェアのインストール

コマンドはすべて、zdmuserとして実行されます。

  1. Zero Downtime Migrationソフトウェア・キットをhttps://www.oracle.com/database/technologies/rac/zdm-downloads.htmlからZero Downtime Migrationサービス・ホストにダウンロードします。

    ノート:

    必要に応じて、パッチ33509650: ZDM PATCH USING MOSを詳しく調べて、新しいパッチを検討します。
  2. ホーム・ディレクトリとベース・ディレクトリを作成します。

    ホーム・ディレクトリは、Zero Downtime Migrationソフトウェアがインストールされる場所です。

    ベース・ディレクトリは、Zero Downtime Migrationの構成ファイル、ログおよびその他のアーティファクトすべてが格納される場所です。

    たとえば:

    /u01/app/zdmhome

    /u01/app/zdmbase

  3. Zero Downtime Migrationソフトウェアをroot以外のユーザーとしてインストールします。

    この例では、インストール・ユーザーはzdmuserです。

    1. Zero Downtime Migrationソフトウェアがダウンロードされるディレクトリに移動し、ソフトウェアを解凍します。
      zdmuser> cd zdm_download_directory
      zdmuser> unzip zdmversion.zip 
    2. Zero Downtime Migrationのインストール・スクリプトを実行します。
      zdmuser>./zdminstall.sh setup oraclehome=zdm_oracle_home oraclebase=zdm_base_directory
              ziploc=zdm_zip_location
      • zmdinstall.shは、インストール・スクリプトです。
      • oraclehomeは、Zero Downtime MigrationソフトウェアがインストールされるOracleホーム・ディレクトリの絶対パスです
      • oraclebaseは、Zero Downtime Migrationのすべての構成ファイル、ログおよびその他のアーティファクトが格納されるベース・ディレクトリの絶対パスです
      • ziplocは、Zero Downtime Migrationキットに含まれる圧縮ソフトウェア・ファイル(zip)の場所です

      たとえば、

      zdmuser>./zdminstall.sh setup oraclehome=/u01/app/zdmhome
              oraclebase=/u01/app/zdmbase ziploc=/u01/app/oracle/zdm/shiphome/zdm_home.zip
              

    Zero Downtime Migrationサービス・ホストでは、インストール・スクリプトを実行するためにPERLが必要になる点に注意してください。

    今後、oraclehome値はZDM_HOMEと呼び、oraclebase値はZDM_BASEと呼びます。

    インストールの最後に端末に表示される次のメッセージは無視します。これらのスクリプトを実行する必要はありません。

    As a root user, execute the following script(s):
            1. $ZDM_HOME/inventory/orainstRoot.sh
            2. $ZDM_HOME/root.sh
    
  4. Zero Downtime Migrationサービスをユーザーzdmuserとして開始します。
    zdmuser> $ZDM_HOME/bin/zdmservice start
    

    Zero Downtime Migrationを使用してデータベースを移行するには、zdmserviceを開始する必要があります。

    Zero Downtime Migrationサービスを停止する必要がある場合は、次のコマンドを実行します。

    zdmuser> $ZDM_HOME/bin/zdmservice stop
  5. Zero Downtime Migrationサービスのインストールが正常に終了したことを確認します。
    次のコマンドを実行すると、出力は次に示すようなものになります。
    zdmuser> $ZDM_HOME/bin/zdmservice status
    ---------------------------------------
            Service Status
    ---------------------------------------
    Running:       true
    Tranferport:   5000-7000
    Conn String:   jdbc:mysql://localhost:8899/
    RMI port:      8895 
    HTTP port:     8896
    Wallet path:   /u01/app/zdmbase/crsdata/fopds/security
  6. 必要に応じて、デフォルトのMySQLポートを変更します。

    Zero Downtime Migrationでは、MySQLが内部的に使用され、前述のzdmservice statusの出力例に示すように、デフォルトでポート8897に構成されます。このポート番号を変更する場合は、MySQLポートの設定を参照してください。

2.3 Oracle Cloud InfrastructureのVMへのZero Downtime Migrationのインストール

次の手順を実行することで、OCIにあるOracle Linux 8 VMにZDMをインストールできます:

2.3.1 OCIにあるOracle Linux 8 VMにZero Downtime Migrationをインストールする方法

  1. OCIでVMインスタンスを作成し、秘密キーと公開キーをダウンロードします。
  2. ダウンロードした秘密キーを使用して、SSHを介してVMインスタンスに接続します。
  3. Oracle Zero Downtime MigrationからZDMイメージをダウンロードします。
  4. ZDM用に次のソフトウェアをインストールします:
    • expect
    • glibc-devel
    • ncurses-compat-libs
    • libnsl
  5. 次のコマンドを実行します。
    sudo yum install oraclelinux-developer-release-el8 libnsl perl unzip glibc-devel expect libaio ncurses-compat-libs ncurses-devel numactl-libs openssl mlocate bind-utils
  6. ZDMホームおよびベースを格納するディレクトリを作成します。
    例: mkdir /home/opc/zdm
  7. ZDMイメージを解凍します。
    例: [opc@zdminstance20230201 zdm]$ unzip ZDMKIT.zip
  8. ZDMインストーラを実行します:
    [opc@zdminstance20230201 zdm]$ /home/opc/zdm/zdmkit/zdminstall.sh setup oraclehome=/home/opc/zdm/home oraclebase=/home/opc/zdm/base ziploc=/home/opc/zdm/zdmkit/zdm_home.zip
  9. ZDMサービスを開始します:
    [opc@zdminstance20230201 zdm]$ home/bin/zdmservice start
  10. インストールされているバージョンを確認します。
    次に例を示します:
    
    [opc@zdminstance20230201 zdm]$ home/bin/zdmcli -build 
    version: 21.0.0.0.0 
    full version: 21.5.0.0.0 
    patch version: N/A 
    label date: 240219.8
    ZDM kit build date: Jul 30 2024 16:31:49 UTC 
    CPAT build version: 24.6.0 
  11. ZDMがOCIのプロビジョニングされたコンピュートVM上に構成されている場合、ソース・データベース・システムまたはターゲット・データベース・システム(あるいはその両方)を解決するために/etc/hostsの更新が必要になる場合があります。なんらかの理由でZDMコンピュートVMが再起動された場合、/etc/hostsのカスタム・エントリは保存されません。このようなカスタム・エントリを保存するには、/etc/oci-hostname.confを次のように編集します:
    # This configuration file controls the hostname persistence behavior for Oracle Linux 
    
    # compute instance on Oracle Cloud Infrastructure (formerly Baremetal Cloud Services) 
    
    # Set PRESERVE_HOSTINFO to one of the following values 
    
    #   0 -- default behavior to update hostname, /etc/hosts and /etc/resolv.conf to 
    
    #        reflect the hostname set during instance creation from the metadata service 
    
    #   1 -- preserve user configured hostname across reboots; update /etc/hosts and 
    
    #           /etc/resolv.conf from the metadata service 
    
    #   2 -- preserve user configured hostname across instance reboots; no custom 
    
    #        changes to /etc/hosts and /etc/resolv.conf from the metadata service, 
    
    #        but dhclient will still overwrite /etc/resolv.conf 
    
    #   3 -- preserve hostname and /etc/hosts entries across instance reboots; 
    
    #        update /etc/resolv.conf from instance metadata service 
    
    PRESERVE_HOSTINFO=2      ==> Set this to at least 2.  
    /etc/hostsのエントリは、OCIのプロビジョニングされたコンピュート・インスタンスまたはVMで実行されているZDMのインスタンスを再起動しても保存されるようになりました。

2.4 Oracle Cloud InfrastructureインスタンスでのRed Hat Enterprise Linux 8へのZero Downtime Migrationのインストール

OCIインスタンスのRed Hat Enterprise Linux 8にZDMをインストールするには、次のステップを実行します:

2.4.1 Red Hat Enterprise Linux 8にZero Downtime Migrationをインストールするには

  1. ここからRed Hat Enterprise Linux 8.8 KVMゲスト・イメージを入手します。
  2. イメージを新しいOCIバケットにアップロードします。
  3. イメージをカスタム・イメージとしてインポートします。
  4. イメージからインスタンスを作成します。
  5. 新しいSSHキーを生成します。
  6. RHEL8 OCIインスタンスに接続します。
次のステップを実行します。
  1. 次のコマンドを実行して、yumリポジトリを構成します:
    $ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    $ sudo yum-config-manager --add-repo http://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64
    $ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    $ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
    $ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta
  2. 次のコマンドを実行して、swapを有効にします:
    $ sudo swapon --show
    $ sudo fallocate -l 1G /swapfile
    $ sudo chmod 600 /swapfile
    $ sudo mkswap /swapfile
    $ sudo swapon /swapfile
    $ sudo swapon --show
  3. 次のように、必要なRed Hat Enterprise Linux 8パッケージをインストールします:
    $ sudo yum install zip.x86_64 --nogpgcheck 
    $ sudo yum install expect.x86_64 --nogpgcheck 
    $ sudo yum install glibc-devel.x86_64 --allowerasing --nogpgcheck
    $ sudo yum install libnsl.x86_64 --allowerasing --nogpgcheck
    $ sudo yum install ncurses-compat-libs.x86_64 --allowerasing --nogpgcheck
    $ sudo yum install libaio.x86_64 --allowerasing --nogpgcheck
  4. Zero Downtime Migrationをインストールします。

2.5 Oracle Cloud InfrastructureインスタンスでのRed Hat Enterprise Linux 9へのZero Downtime Migrationのインストール

OCIインスタンスのRed Hat Enterprise Linux 9にZDMをインストールするには、次のステップを実行します:

2.5.1 Red Hat Enterprise Linux 9にZero Downtime Migrationをインストールするには

  1. ここからRed Hat Enterprise Linux 9 KVMゲスト・イメージを入手します。
  2. そのイメージをOCIバケットにアップロードします。
  3. ダウンロードしたqcow2ファイルを使用してカスタム・イメージを作成します。
  4. その新しいカスタム・イメージからIaaSインスタンスを作成します。
  5. 新しいSSHキーを生成しダウンロードします。既存のSSHキーを使用することもできます。
  6. SSHキーまたはcloud-userを使用することでそのインスタンスに接続します。
次のステップを実行します。
  1. 次のコマンドを実行して、yumリポジトリを構成します:
    [root@rhel9zdm yum.repos.d]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y
    [root@rhel9zdm yum.repos.d]# pwd
    /etc/yum.repos.d
      
    [root@rhel9zdm yum.repos.d]# ls -l
    total 160
    -rw-r--r--. 1 root root 1142 Aug 17 2023 epel-cisco-openh264.repo
    -rw-r--r--. 1 root root 1552 Aug 17 2023 epel-testing.repo
    -rw-r--r--. 1 root root 1453 Aug 17 2023 epel.repo
    -rw-r--r--. 1 root root 3883 Apr 9 16:48 ol9.repo
    -rw-r--r--. 1 root root 145427 Apr 9 16:38 redhat.repo
     
     
    [root@rhel9zdm yum.repos.d]# cat epel.repo
    [epel]
    name=Extra Packages for Enterprise Linux $releasever - $basearch
    # It is much more secure to use the metalink, but if you wish to use a local mirror
    # place its address here.
    #baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/
    metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
    enabled=1
    gpgcheck=1
    countme=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
      
    [epel-debuginfo]
    name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
    # It is much more secure to use the metalink, but if you wish to use a local mirror
    # place its address here.
    #baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch/debug/
    metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-$releasever&arch=$basearch&infra=$infra&content=$contentdir
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
    gpgcheck=1
      
    [epel-source]
    name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
    # It is much more secure to use the metalink, but if you wish to use a local mirror
    # place its address here.
    #baseurl=https://download.example/pub/epel/$releasever/Everything/source/tree/
    metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-$releasever&arch=$basearch&infra=$infra&content=$contentdir
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
    gpgcheck=1
    [root@rhel9zdm yum.repos.d]#
  2. 必要なパッケージをrootユーザーとしてインストールし、次のコマンドを実行します:
    [root@rhel9zdm yum.repos.d]# yum install zip.x86_64 --nogpgcheck
    [root@rhel9zdm yum.repos.d]# yum install glibc-devel.x86_64 --allowerasing --nogpgcheck
    [root@rhel9zdm yum.repos.d]# yum install libaio.x86_64 --allowerasing --nogpgcheck
    [root@rhel9zdm yum.repos.d]# yum install libnsl --allowerasing --nogpgcheck
    [root@rhel9zdm yum.repos.d]# yum install ncurses-compat-libs.x86_64 --allowerasing --nogpgcheck
    [root@rhel9zdm yum.repos.d]# yum install glibc-devel.x86_64 --allowerasing --nogpgcheck
    [root@rhel9zdm yum.repos.d]# yum install expect.x86_64 --nogpgcheck
    [root@rhel9zdm yum.repos.d]# yum install wget
  3. 次のコマンドを実行して、swapを有効にします:
    [root@rhel9zdm ~]# swapon --show
    [root@rhel9zdm ~]# fallocate -l 1G /swapfile
    [root@rhel9zdm ~]# chmod 600 /swapfile
    [root@rhel9zdm ~]# mkswap /swapfile
    [root@rhel9zdm ~]# swapon /swapfile
    [root@rhel9zdm ~]# swapon --show
    NAME      TYPE  SIZE USED PRIO
    /swapfile file 1024M   0B   -2
      
    [root@rhel9zdm ~]#
  4. Zero Downtime Migrationをインストールします。