P2P(Peer-to-Peer) rsync 복제 구현
이 구현은 rsync 기술을 사용하며 피어 투 피어 모델을 따릅니다. 이 모델에서는 중간 계층 피어 호스트 간에 직접 복사가 수행됩니다. 각 노드에는 해당 피어에 대한 SSH 접속이 있으며 SSH를 통해 rsync 명령을 사용하여 기본 중간 계층 파일 아티팩트를 복제합니다.
rsync 피어 투 피어 복제를 구현할 때의 이점은 다음과 같습니다.
- 모든 중간 계층에 적용할 수 있는 범용 솔루션이므로 여러 시스템이 있는 경우 모든 계층에서 동일한 접근 방식을 사용할 수 있습니다.
- 기본 스토리지 유형에 종속되지 않습니다. 블록 볼륨, NFS 등에 있는 파일 아티팩트를 복제하는 데 적합합니다.
- 중앙 호스트나 스토리지와 같은 추가 하드웨어는 필요하지 않습니다.
- 스토리지는 보조 노드에 마운트된 상태로 유지될 수 있습니다. 따라서 모든 스위치오버 또는 페일오버 작업에서 보조 스토리지를 연결하거나 마운트하기 위한 추가 단계가 필요하지 않습니다.
rsync 피어 투 피어 구현에 대한 고려 사항은 다음과 같습니다.
- 각 환경에 대한 사용자정의 스크립트를 생성하고 주기적으로 실행하는 것은 사용자의 책임입니다.
- 복제 방향을 바꾸는 방법을 구현하는 것은 사용자의 책임입니다.
- 스크립트가 중앙 집중화되어 있지 않으므로 많은 노드에서 유지 관리가 필요하므로 대규모 클러스터에서는 솔루션이 더 복잡합니다.
피어 투 피어 rsync 스크립트는 풀 또는 푸시 모델을 사용할 수 있습니다. "pull" 모델에서 스크립트는 원격 노드의 파일을 로컬 노드로 복사합니다. "push" 모델에서 스크립트는 로컬 노드에서 원격 노드로 파일을 복사합니다. 대기 롤이 있는 노드에서 rsync 스크립트가 실행되면 "풀" 작업을 실행하여 기본 노드에서 콘텐츠를 검색합니다. rsync 스크립트가 기본 역할이 있는 노드에서 실행되면 푸시 작업을 실행하여 컨텐츠를 보조 노드로 복사합니다. Oracle은 P2P(Pull) 모델을 권장합니다. 이렇게 하면 복사의 모든 작업(예: 복사본의 checksum 비교)이 보조 노드에서 실행되므로 rsync 스크립트는 기본 시스템 호스트의 리소스를 더 적게 사용합니다.
rsync 피어 투 피어에 대한 복제 설정
다음은 rsync 피어 투 피어 모델을 구현하는 데 필요합니다.
- 호스트와 해당 피어 호스트 간의 SSH 연결을 허용합니다.
rsync를 사용하여 중간 계층 파일 아티팩트를 기본 호스트에서 보조 호스트로 복사하는 스크립트를 생성합니다.rsync스크립트는 복사본에서 특정 폴더(잠금 파일, 로그, 임시 파일 등)를 건너뛸 수 있습니다.- 복제본에서 해당 정보를 제외하거나 복제본 이후 적절한 정보로 업데이트하여 사이트별 정보를 관리하는 방법을 구현합니다.
- 이러한 스크립트를 주기적으로 실행하도록 일정을 잡습니다.
- 스위치오버 또는 페일오버 후 복제본의 방향을 변경하는 방식입니다. 이 방식은 사이트의 역할을 식별하는 동적 검사 또는 전환 또는 페일오버 후의 수동 변경(예: 적절한 스크립트 사용 및 사용 안함)일 수 있습니다.
주:
이 예는 모든 중간 계층 시스템에 적용됩니다. Oracle Fusion Middleware Disaster Recovery Guide에서 제공하는 스크립트를 사용하여 WebLogic DR 시스템(rsync_for_WLS.sh 및 rsync_copy_and_validate.sh)에 대한 중간 계층 복제본을 수행합니다. 그러나 이러한 스크립트는 일반적으로 적용 가능하며 OCI의 모든 중간 계층 파일 아티팩트를 동기화할 수 있는 충분한 유연성을 제공합니다. 이러한 리소스 및 기타 리소스에 대한 링크는 자세히 탐색을 참조하십시오.
이 예에서 보조 사이트의 각 호스트는 해당 피어 기본 노드와의 연결을 설정하고 컨텐츠 풀을 수행합니다. 이러한 스크립트를 사용하여 중간 계층 복제를 설정하려면 Oracle Fusion Middleware Disaster Recovery Guide의 Replicating the Primary File Systems to the Secondary Site와 Rsync Replication Approach 섹션 및 특히 Using a Peer-to-Peer 단계를 참조하십시오.
rsync 피어 투 피어에 대한 복제 검증
switchover 또는 failover 작업에서 복제된 정보는 프로세스가 시작되기 전에 standby site에서 available 및 usable이어야 합니다. 또한 스냅샷 모드에서 대기 데이터베이스를 열어 보조 시스템을 검증하는 경우에도 필요합니다.
이 구현에서는 스토리지를 대기 데이터베이스에서 항상 사용할 수 있으므로 볼륨을 연결하거나 마운트할 필요가 없습니다. 필요한 유일한 작업은 최신 버전의 컨텐트가 포함되어 있는지 확인하는 것입니다.
rsync 피어 투 피어에 대한 지속적인 복제 수행
보조 도메인을 기본 도메인과 동기화 상태로 유지하려면 복제 스크립트를 주기적으로 실행합니다.
중간 계층 호스트에서 rsync를 사용할 때는 다음 권장 사항을 따르십시오.
- OS
crontab또는 다른 예약 도구를 사용하여 복제 스크립트를 주기적으로 실행합니다. 예를 들어, Oracle Fusion Middleware Disaster Recovery Guide에서 제공하는rsync스크립트를 사용하는 경우 Scheduling Ongoing Replication With Rsync Scripts 섹션에 설명된 단계를 수행합니다. 이러한 리소스 및 기타 리소스에 대한 링크는 이 플레이북의 자세히 살펴보기 를 참조하십시오. 복제 빈도의 경우 이 플레이북 시작 부분에 있는 중간 계층 파일 아티팩트에 설명된 지침을 따릅니다. - 중간 계층 프로세스를 대기 사이트에서 중지된 상태로 유지합니다. 변경 사항이 복제되는 동안 서버가 대기 사이트에서 작동 중이면 변경 사항이 다음에 시작될 때 적용됩니다. standby site의 유효성을 검사하는 경우나 switchover 또는 failover 절차 중에만 이 스크립트를 시작합니다.
- 각 사이트와 관련된 최신 정보를 유지 관리합니다. 예를 들어, 파일 시스템에 Autonomous Database에 연결할 아티팩트가 있는 폴더가 포함된 경우 이 폴더의 백업 복사본을 유지 관리합니다. 전자 지갑에서 갱신을 수행할 때 전자 지갑 폴더의 백업을 갱신해야 합니다. 이렇게 하면 이후 스위치오버 및 페일오버에서 올바르게 복원됩니다.
- 전환 또는 페일오버 후 복제 방향을 바꿉니다. 이는 특정 구현에 따라 달라집니다. 이 작업은 활성 사이트의 사용자를 식별하는 동적 검사를 사용하거나 전환 또는 페일오버 후 수동으로 변경하여 해당 스크립트를 사용 안함으로 설정하고 사용으로 설정하여 수행할 수 있습니다. 예를 들어, Oracle Fusion Middleware Disaster Recovery Guide에서 제공하는
rsync스크립트를 사용하여 다른 방향으로 복제본을 수행할 수 있는 동등한 스크립트를 생성해야 합니다.crontab또는 예약된 도구에서 실제 역할에 적합한 스크립트만 사용으로 설정합니다.
