OCI 파일 스토리지 복제 구현

이 구현에서는 OCI File Storage 파일 시스템에 대해 자동화된 리전 간 복제를 제공하는 Oracle Cloud Infrastructure File Storage 복제 기능을 사용합니다.

OCI 파일 스토리지 복제를 구현하면 다음과 같은 이점이 있습니다.

  • 다른 복제 경우처럼 스크립트를 주기적으로 만들고 실행할 필요가 없습니다. 복제를 설정하면 Oracle Cloud Infrastructure에서 자동으로 수행됩니다.
  • 이는 모든 미드티어 시스템에 의해 마운트된 모든 OCI File Storage 파일 시스템에 적용 가능한 범용 솔루션입니다. OCI 파일 스토리지를 사용하는 여러 시스템이 있는 경우 모든 시스템에서 동일한 접근 방식을 사용할 수 있습니다.
  • 복제된 파일 시스템에 대한 정보는 기본 파일의 정확한 복사본이며 파일 시스템의 모든 파일이 복제됩니다.

OCI 파일 스토리지 구현 시 고려해야 할 사항은 다음과 같습니다.

  • 복제된 OCI File Storage를 보조 시스템에 마운트하는 단계가 필요합니다. 대상 파일 시스템을 직접 마운트할 수 없습니다. 먼저 복제해야 하며 복제된 파일 시스템을 마운트할 수 있습니다. 그러나 OCI 풀스택 재해 복구 서비스를 사용하여 전환, 페일오버 및 검증 작업에서 이러한 단계를 자동화함으로써 이러한 복잡성을 극복할 수 있습니다.
  • 이 기술은 많은 시스템에 충분하지 않을 수 있습니다. 시스템에 더 많은 유형의 스토리지(예: 블록 볼륨)가 있는 경우 다른 복제 기술을 사용해야 합니다.

OCI 파일 스토리지에 대한 복제 설정

OCI 파일 스토리지 복제를 구현하려면 다음 단계가 필요합니다.

  • OCI 콘솔을 사용하여 보조 사이트에 대상 OCI 파일 시스템을 생성합니다.
  • 기본 OCI 파일 시스템에서 적절한 대상 OCI 파일 시스템을 가리키는 복제본을 사용으로 설정합니다.
  • 보조 영역의 중간 계층 호스트에 연결하고 기본 호스트에서 복제할 파일 시스템을 마운트 해제합니다.
  • OCI 콘솔 UI를 사용하여 기본 데이터베이스에서 복제될 OCI 파일 시스템을 분리 및 폐기합니다.
  • 복제 후 적절한 정보로 업데이트하여 사이트별 정보를 관리하는 방법을 구현합니다.

예 1: OCI File Storage 복제를 사용하여 중간 계층 구성 및 런타임 복제

주:

이 예는 모든 중간 계층 시스템에 적용됩니다. 참고로 Oracle Fusion Middleware Enterprise Deployment Guide의 모범 사례를 따르는 Oracle WebLogic Server 시스템을 사용합니다. 이 시스템에는 두 개의 OCI 파일 스토리지 파일 시스템이 있습니다. 하나는 공유 구성용(WebLogic 관리 도메인, 키 저장소 등)이고 다른 하나는 런타임 데이터용입니다. 그러나 동일한 단계에 따라 중간 계층의 모든 OCI File Storage 파일 시스템을 복제할 수 있습니다.

OCI 파일 스토리지 파일 시스템에 대한 영역 간 복제본을 설정하려면 다음을 수행합니다.

  1. 각 사이트와 관련된 정보를 백업합니다.
    파일 시스템에는 데이터베이스 또는 LDAP 서버에 대한 연결 문자열과 같이 각 사이트에 특정한 정보가 있는 파일이 포함될 수 있습니다. OCI File Storage 복제본을 사용하는 경우 복제된 파일 시스템은 기본 파일의 정확한 복사본이므로 복제본에서 특정 파일 또는 폴더를 건너뛸 수 없습니다. 따라서 각 사이트의 정보를 조정하여 이러한 차이를 관리해야 합니다. 다양한 접근 방식이 있습니다.
    • 파일에서 문자열 검색 및 교체를 사이트별 정보로 수행할 수 있습니다.
    • 복제 전에 이 정보를 백업하고 나중에 복원할 수 있습니다.

    이 시점에서 복제본을 사용으로 설정하기 전에 복제되는 블록 볼륨에 사이트별 정보가 포함된 모든 파일을 식별 및 백업합니다. 복제된 블록 볼륨 아래에 없는 위치에 백업 복사본을 만듭니다. 그렇지 않으면 백업 복사본이 무효화됩니다.

    참고:

    Oracle WebLogic 사례

    예를 들어, WebLogic 도메인이 포함된 파일 시스템을 복제할 때 데이터베이스에 연결할 정보가 포함된 파일이 있습니다. 이 정보는 TNS 관리 폴더에 있습니다. 폴더를 식별하려면 WebLogic 데이터 소스에서 tns_admin 속성을 확인합니다. 이 문서에서는 시나리오에 따라 적절한 접근 방식에 따라 이를 관리하는 스크립트를 제공합니다.

    • 시스템이 Oracle Base Database Service 또는 Oracle Exadata Database Service에 접속하는 경우 전환 및 페일오버 작업 중 보조 중간 계층 시스템의 tnsnames.ora 파일에서 데이터베이스 접속 문자열만 업데이트할 수 있습니다. 이 문서는 이에 대한 예제 스크립트를 제공합니다.
    • 시스템이 Autonomous Database에 접속하면 TNS 관리 폴더에 더 많은 아티팩트(신뢰 저장소 및 키 저장소)가 포함됩니다. 기본 및 대기에서는 서로 다르며 간단한 문자열 대체로 업데이트할 수 없습니다. 이 문서에서는 TNS 폴더의 백업 복사본을 복원하는 스크립트를 제공합니다.

    이때는 TNS 폴더 정보의 백업만 수행하면 됩니다.

  2. 기본 사이트에서 OCI 파일 스토리지 파일 시스템의 정보를 식별합니다.
    • 복제될 OCI 파일 스토리지 파일 시스템의 경우 기본 중간 계층 호스트의 이름, 마운트 대상, 익스포트 및 마운트 지점을 식별합니다.
    • OCI 콘솔로 이동하여 기본 영역을 선택한 다음 컴파트먼트를 선택합니다.
    • Storage(저장소), File Storage(파일 스토리지), File Systems(파일 시스템) 순으로 이동하고 파일 시스템을 식별합니다.
    • name, export, mount targetAD를 저장합니다.

    호스트의 /etc/fstab를 확인하여 내보내기와 마운트 지점을 마운트하는 호스트를 식별합니다.

    참고:

    Oracle WebLogic 사례

    예를 들어 엔터프라이즈 배치 설명서 다음에 나오는 Oracle WebLogic Server 시스템에서 다음과 같습니다.

    OCI 파일 시스템 마운트 대상 익스포트 경로 AD 호스트 및 마운트 지점
    configFS mt1_region1 /exports/configFS AD1
    • apphost1, /u01/oracle/config
    • apphost2, /u01/oracle/config
    runtimeFS mt1_region1 /exports/runtimeFS AD1
    • apphost1, /u01/oracle/runtime
    • apphost2,/u01/oracle/runtime
  3. 보조 사이트에서 OCI 파일 스토리지 파일 시스템의 정보를 식별합니다.
    이전 단계에서 설명한 단계를 반복하여 보조 사이트에서 동일한 정보를 수집합니다.

    참고:

    Oracle WebLogic 사례

    예를 들어 Enterprise Deployment Guide 다음에 오는 WebLogic 시스템에서 다음과 같습니다.

    OCI 파일 시스템 마운트 대상 익스포트 경로 AD 호스트 및 마운트 지점
    configFS mt1_region2 /exports/configFS AD1
    • apphost1, /u01/oracle/config
    • apphost2, /u01/oracle/config
    runtimeFS mt1_region2 /exports/runtimeFS AD1
    • apphost1, /u01/oracle/runtime
    • apphost2, /u01/oracle/runtime
  4. 보조 중간 계층 호스트에서 원래 OCI 파일 스토리지 파일 시스템을 마운트 해제합니다.
    보조에 있는 중간 계층 호스트의 경우 기본 호스트에서 복제될 파일 시스템을 마운트 해제합니다. 예:
    [opc@host ~]$ sudo umount  /u01/oracle/config
    [opc@host ~]$ sudo umount  /u01/oracle/runtime

    실행 중인 Oracle 프로세스가 없는지 확인합니다. 그렇지 않으면 마운트 해제가 실패합니다. 보조 노드에 있는 모든 중간 계층 노드에서 이 단계를 반복합니다.

    이러한 마운트에 대한 항목을 /etc/fstab 파일에서 제거하지 마십시오. 복제된 파일 시스템의 마운트 대상 및 익스포트 이름에 대해 항상 동일한 값을 사용하는 경우 전체 수명 주기 동안 항목이 유효합니다.

  5. 보조에서 원래 OCI 파일 스토리지 파일 시스템을 삭제하거나 이름을 바꿉니다.
    내보낸 적이 없는 파일 시스템만 OCI 파일 스토리지 복제에 대한 대상 파일 시스템으로 설정할 수 있습니다. 따라서 보조 중간 계층 호스트에 마운트된 원래 파일 시스템은 복제 대상으로 사용할 수 없습니다. 내보내기를 제거하고 파일 시스템을 종료하여 지금 삭제하거나 나중에 이름을 바꾸고 삭제하면 더 이상 사용되지 않습니다.

    주:

    마운트 대상을 삭제하지 마십시오. 복제된 파일 시스템을 내보내는 데 사용됩니다.
  6. 기본 파일 시스템에서 복제본을 사용으로 설정합니다.
    기본에서는 복제해야 하는 각 OCI 파일 스토리지 파일 시스템에 대해 복제본을 사용으로 설정합니다.
    1. OCI 콘솔로 이동하여 기본 영역을 선택하고 컴파트먼트를 선택합니다.
    2. Storage(스토리지), File Storage(파일 스토리지), File Systems(파일 시스템) 순으로 선택합니다.
    3. 파일 시스템 이름을 누르고 복제로 이동한 다음 복제 생성을 누릅니다.
      복제에 대한 이름을 제공합니다.
    4. 새 대상 파일 시스템 생성을 선택하고 다음 세부정보를 제공합니다.
      • 이름: 보조 영역에 생성될 파일 시스템 복제본의 이름입니다. 명확하게 복제본으로 식별되는 이름(예: configFS_replica)을 사용합니다.
      • 대상 영역: 보조 시스템의 영역입니다.
      • 가용성 도메인: 대상 파일 시스템의 가용성 도메인입니다. 내보낼 마운트 대상과 동일해야 합니다.
      • 컴파트먼트: 대상 파일 시스템의 컴파트먼트입니다.
      • 복제 간격: 데이터 복제 빈도를 결정하는 간격(분)입니다.

    주:

    또는 보조 파일 시스템에서 미리 대상 파일 시스템을 생성하고 여기에 OCID를 제공할 수 있습니다.
  7. 필요한 경우 각 사이트에 대한 정보를 바꾸도록 스크립트를 준비합니다.

    이 작업은 OCI 파일 스토리지 파일 시스템에 각 사이트에 대한 정보가 포함된 경우에만 적용됩니다. 그렇지 않은 경우 필요한 작업이 없습니다.

    특정 요구 사항에 따라 로컬 사이트 정보를 바꾸는 스크립트를 만듭니다(예: 사이트별 데이터의 검색 및 바꾸기 또는 백업 복사본 복원). 이러한 스크립트는 복제되지 않은 폴더에 저장해야 합니다.

    중요! 이 시점에서 스크립트를 실행하지 마십시오. 이 스크립트는 다음에 검증, 스위치오버 또는 페일오버를 수행할 때 사용됩니다.

    참고:

    Oracle WebLogic 사례

    예를 들어, Oracle WebLogic 도메인이 포함된 파일 시스템을 복제하는 경우입니다. 스위치오버 또는 페일오버 중에는 복제된 구성에서 로컬 데이터베이스를 가리키도록 교체를 수행해야 합니다. 이 문서에서는 이 교체를 자동화하는 예제 스크립트를 제공합니다.

    데이터베이스 유형 대체 스크립트 및 다운로드 단계 단계 준비
    Oracle Base Database Service 또는 Oracle Exadata Database Service

    replacement_script_BVmodel.sh

    1. GitHub(https://github.com/oracle-samples/maa)에서 Oracle MAA 저장소로 이동합니다.
    2. wls_mp_dr 디렉토리의 모든 스크립트를 다운로드합니다.

      이 스크립트는 wls_mp_dr/Block_Volume_Replica_Method 폴더에 있습니다.

    3. 모든 중간 계층 호스트에 복사합니다.

    이 스크립트는 데이터베이스 연결 문자열을 대체합니다. 또한 WebLogic 서버(.lck 및 .state)의 상태 파일을 정리하여 정상적으로 시작합니다.

    각 사이트의 데이터베이스에 대한 로컬 및 원격 값을 제공하여 적절한 값으로 각 호스트에서 편집하고 사용자 정의합니다.

    이 값은 사이트에 따라 다릅니다. site1 호스트에서 사용자 정의하는 경우 "LOCAL" 값은 site1의 값을 나타내고 "REMOTE" 값은 site2의 값을 나타냅니다. site2 호스트에서 스크립트를 사용자 정의할 때 "LOCAL" 값은 site2 및 "REMOTE" 값을 site1로 참조합니다.

    GitHub https://github.com/oracle-samples/maa에서 Oracle MAA 저장소로 이동

    app_dr_common 디렉토리의 모든 스크립트를 다운로드합니다.

    fmw-wls-with-adb-dr 디렉토리의 모든 스크립트를 다운로드합니다.

    모든 중간 계층 호스트에 복사합니다. 스크립트는 서로 호출합니다. 두 디렉토리의 모든 스크립트를 동일한 폴더에 배치합니다.
    Oracle Autonomous Database

    fmwadb_switch_db_conn.sh

    1. GitHub https://github.com/oracle-samples/maa에서 Oracle MAA 저장소로 이동합니다.
    2. app_dr_common 디렉토리의 모든 스크립트를 다운로드합니다.
    3. fmw-wls-with-adb-dr 디렉토리의 모든 스크립트를 다운로드합니다.
    4. 모든 중간 계층 호스트에 복사합니다.

    스크립트는 서로 호출합니다. 두 디렉토리의 모든 스크립트를 동일한 폴더에 배치합니다.

    이 스크립트는 Oracle WebLogic Server에서 사용하는 TNS 관리 폴더를 입력으로 지정된 폴더로 바꿉니다. 또한 데이터 소스의 전자 지갑 암호 속성을 갱신합니다.

    스크립트를 편집할 필요가 없습니다. 폴더 및 비밀번호의 값이 입력으로 전달됩니다.

    스크립트를 실행하기 위해 다음을 수행합니다.

    ./fmwadb_switch_db_conn.sh WALLET_DIR WALLET_PASSWORD

    여기서 WALLET_DIR는 로컬 데이터베이스에 연결할 tnsnames.ora, 키 저장소 및 보안 저장소 파일을 포함하는 폴더입니다. 복제본에서 WALLET_DIR 폴더가 대체되지 않았는지 확인합니다.

    이 시점에서 스크립트를 실행하지 마십시오.

이제 OCI 파일 시스템 복제가 준비되었습니다.

OCI 파일 스토리지에 대한 복제 검증

switchover 또는 failover 작업에서 복제된 정보는 프로세스가 시작되기 전에 standby site에서 available 및 usable이어야 합니다. 또한 스냅샷 모드에서 대기 데이터베이스를 열어 보조 시스템을 검증하는 경우에도 필요합니다.

복제된 OCI 파일 스토리지 파일 시스템을 대기 시스템에서 사용할 수 있도록 하려면 각 파일 시스템에 대해 다음 작업을 수행합니다.

standby에서 복제된 파일 시스템을 사용하려면 다음 단계를 수행하십시오.
  1. 대상 파일 시스템의 복제본을 만듭니다.
    대상 파일 시스템을 직접 마운트할 수 없으므로 먼저 복제해야 합니다.
    1. 보조에서 스토리지, 파일 스토리지, 파일 시스템 순으로 이동합니다.
    2. 대상 파일 시스템 이름을 누릅니다.
    3. 파일 시스템 정보복제 섹션에서 복제 대상 이름 링크를 누릅니다.
    4. 마지막 스냅샷 이름 링크를 누릅니다.
    5. 이 스냅샷에서 일반 파일 시스템을 생성하려면 복제를 누릅니다.
    6. 세부정보를 편집하여 복제본의 이름을 제공합니다.
      일관성을 위해 primary와 동일한 이름(예: configFS)을 사용합니다.
  2. 복제된 파일 시스템에 대한 익스포트를 만듭니다.
    1. 복제된 파일 시스템에서 익스포트로 이동합니다.
    2. 보조에서 마운트 대상을 선택합니다.
    3. 익스포트 이름을 선택합니다.
      switchover 관리를 쉽게 하려면 primary의 엑스포트와 동일한 이름을 사용합니다. 예: /exports/configFS.
  3. 대기 호스트에서 파일 시스템을 마운트합니다.
    1. 파일 시스템에 대해 항상 동일한 익스포트 이름과 동일한 마운트 대상을 사용하는 경우 수명 주기 동안 마운트에 대한 /etc/fstab 파일의 항목이 변경되지 않습니다.
    2. 파일 시스템에 대해 동일한 익스포트 이름과 마운트 대상을 사용하지 않는 경우 /etc/fstab 파일을 편집하고 모든 스위치오버, 페일오버 및 검증에서 항목을 수정해야 합니다.
      다음은 /etc/fstab 항목의 예입니다.
      10.1.80.131:/exports/configFS    /u01/oracle/config  nfs  defaults,nofail,nosuid,resvport 0 0
    3. /etc/fstab 파일에 적절한 마운트 항목이 포함되어 있으면 호스트에 파일 시스템을 마운트합니다.
      예:
      [opc@host opc]# sudo mount -a
    4. 파일 시스템을 마운트하는 모든 대기 호스트에서 반복합니다.
  4. 모든 대기 중간 계층 호스트에서 교체 스크립트를 실행하여 보조 중간 계층 호스트의 사이트별 정보를 바꿉니다.

    참고:

    Oracle WebLogic 사례

    예를 들어, Oracle WebLogic 도메인이 포함된 파일 시스템에서: 모든 대기 중간 계층 호스트에서 교체 스크립트를 실행하여 로컬 데이터베이스를 가리키도록 데이터베이스 연결 정보를 업데이트합니다.

    • 시스템에서 Oracle Base Database Service 또는 Oracle Exadata Database Service를 사용하는 경우 스크립트는 replacement_script_BVmodel.sh입니다. 적합한 값을 사용해야 합니다.
    • 시스템에서 Oracle Autonomous Database를 사용하는 경우 스크립트는 fmwadb_switch_db_conn.sh입니다. 입력으로 보조 원본 전자 지갑이 있는 경로와 전자 지갑 암호가 필요합니다.
  5. 서버의 잠금 파일을 정리합니다.

    복제된 파일 시스템에는 기본 프로세스가 작동 중인 동안 복제본이 실행되므로 중간 계층 프로세스의 잠금 파일이 포함될 수 있습니다. 보조 프로세스에서 프로세스를 시작하기 전에 이러한 파일을 정리해야 할 수 있습니다. 그렇지 않으면 중간 계층 프로세스가 시작되지 않도록 할 수 있습니다.

    참고:

    Oracle WebLogic 사례

    예를 들어, Oracle WebLogic 도메인이 포함된 파일 시스템에서는 기본 폴더에서 전달된 ${DOMAIN_HOME}/servers/*/data/nodemanager 폴더에 .lck, .pid 또는 .state 파일이 있을 수 있습니다. 노드 관리자와 서버를 시작하기 전에 이러한 파일이 정리되었는지 확인합니다. 예:

    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.lck
    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.state
    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.pid

    이 작업을 대체 스크립트에 포함하거나 Oracle WebLogic 시작의 이전 단계로 포함할 수 있습니다.

  6. 전환 또는 페일오버 작업이 완료되면 대기 롤을 사용하여 사이트에서 OCI 파일 스토리지 파일 시스템을 마운트 해제하고 삭제해야 합니다. 다음 단계를 수행하여 standby 롤로 되돌립니다.
    또한 스냅샷 모드에서 standby database를 열어 standby site에 대한 검증을 완료했고 standby 롤로 되돌리려는 경우에도 필요합니다.
    1. 기본 사이트에서 복제되는 대기 사이트에서 OCI 파일 스토리지 파일 시스템을 마운트 해제합니다.
      예:
      [opc@host opc]# sudo umount /u01/oracle/config
    2. 마운트 해제된 파일 시스템을 삭제합니다.
      대기 사이트에서 마운트 해제된 파일 시스템을 종료합니다. 더 이상 사용되지 않습니다.

OCI 파일 스토리지에 대한 지속적인 복제 수행

이 구현을 사용할 때 진행 중인 복제에 대해 다음 권장 사항을 따르십시오.

  • OCI는 백그라운드에서 OCI File Storage 복제를 자동으로 수행합니다. 주기의 OCI File Storage 파일 시스템에서 복제본이 사용으로 설정되었는지 확인하는 것만으로 수명 주기 동안 수행할 수 있습니다.
  • 전환 및 페일오버 작업을 자동화하려면 OCI Full Stack Disaster Recovery를 사용하는 것이 좋습니다. OCI 콘솔을 사용하여 클릭 한 번으로 전환 또는 복구 계획을 실행할 수 있는 기능을 제공합니다. OCI File Storage 복제본과 관련된 작업의 실행을 간소화하는 데 매우 유용합니다.
  • 복제 기능은 대체 기능이 아니라 스냅샷 기능을 보완합니다. OCI 파일 스토리지 파일 시스템에 대한 스냅샷 정책도 첨부해야 합니다. 이렇게 하면 영역 간 복제본 외에 데이터 보호 기능이 제공되므로 파일 시스템을 특정 시점으로 복원할 수 있습니다.
  • 각 사이트에 대한 특정 정보를 유지 관리하고 최신 상태로 유지합니다. 예를 들어, 파일 시스템에 Autonomous Database에 연결할 아티팩트가 있는 폴더가 포함된 경우 이 폴더의 백업 복사본을 유지 관리합니다. 전자 지갑에서 갱신을 수행할 때 폴더 백업을 갱신해야 합니다. 이렇게 하면 이후 스위치오버 및 페일오버에서 올바르게 복원됩니다.
  • 스위치오버 또는 페일오버 작업 후 사용되지 않은 파일 시스템을 정리하고 복제 방향을 변경합니다. 복제 방향을 바꾸려면 다음 작업이 필요합니다.
    1. 이전 기본 파일로부터의 이전 복제를 사용 안함으로 설정하고 새 기본 파일 시스템에서 사용되지 않은 대상 파일 시스템을 정리(삭제)합니다.
    2. 새 기본 시스템의 OCI 파일 스토리지 파일 시스템에서 복제본을 사용으로 설정합니다.
    3. 새 standby에서 사용되지 않는 파일 시스템을 삭제합니다.