Oracle Cloud Infrastructure에서 원격 동기 블록 복제 사용

원격 동기식 블록 복제를 사용하여 블록 볼륨의 내결함성을 제공합니다.

많은 기업의 일반적인 당면 과제로는 데이터베이스를 기반으로 실행되는 애플리케이션, 기본 블록 디바이스에 액세스하는 애플리케이션, 서비스 지연이 없는 비즈니스 요구사항 등이 있습니다.

예를 들어, 지불 처리 회사를 사용합니다. 결제 처리가 지연되면 고객의 평판과 브랜드 이름에 부정적인 영향을 미치므로 진정한 내결함성(단일 구성 요소 장애 시 서비스 중단 없음)을 제공하기 위해 고가용성 기술이 필요합니다.

구조

이 아키텍처는 Oracle Cloud Infrastructure(OCI)에서 고가용성 블록 디바이스를 구현하여 비즈니스 애플리케이션 수준의 장애를 완벽하게 방지합니다. 연속성이 동시에 필요한 성능에 민감한 응용 프로그램에 이 아키텍처를 사용합니다.

이 아키텍처는 사용자에게 단일 엔티티 iSCSI 블록 장치를 제공합니다. 이 장치는 단일 구성 요소 오류에 관계없이 항상 사용할 수 있습니다. 다른 모든 아키텍처 구성요소는 사용자로부터 숨겨집니다. 장애 또는 스위치오버 시 아키텍처가 완전히 자동화됩니다. 장애가 발생하거나 스위치오버가 발생할 경우 1초 또는 2초 동안 iSCSI 장치의 성능이 약 50% 저하될 수 있습니다.

항상 사용할 수 있는 단일 블록 장치를 구현하려면 다음이 필요합니다.

  • 컴퓨트 인스턴스 3개, 가상 머신 또는 베어메탈(BM) 후자는 안정적인 성능을 갖기 때문에 선호될 수 있습니다.
  • VCN 2개: 공용 1개, 전용 1개
  • 항상 사용할 수 있는 대상 장치의 블록 볼륨 2개
  • (권장) 블록 볼륨이 10VPU 이상이어야 합니다. I/O 처리량의 적극성 및 미러링된 호스트(및 블록 볼륨) 간 거리에 따라 더 높은 레벨의 IOPS를 고려할 수 있습니다.

따라서 항상 사용할 수 있는 블록 장치를 구현하는 비용은 컴퓨팅 인스턴스 비용의 3배에 장치 비용의 2배를 더한 것입니다.

다음 다이어그램은 이 참조 아키텍처를 보여 줍니다.



원격-동기-블록-복제-다이어그램-oracle.zip

구조에는 다음과 같은 구성 요소가 있습니다.

  • 분산 복제 블록 장치

    DRBD(분산 복제 블록 장치)는 원격 Linux 인스턴스의 두 블록 장치 간 네트워크 연결을 유지 관리하고 소스 인스턴스에서 대상 인스턴스로 I/O 작업을 복제하는 Linux 커널 드라이버입니다.

  • Pacemaker

    Pacemaker는 Linux 환경에서 일반적으로 사용되는 오픈 소스 고가용성 클러스터 리소스 관리자입니다. 장애를 감지하고 클러스터의 다른 노드에서 서비스를 자동으로 재시작하거나 재배치하여 애플리케이션, 서비스 또는 리소스가 작동 중지 시간을 최소화하면서 지속적으로 실행되도록 보장합니다.

  • 비동기화

    Corosync는 뇌 분열의 경우 복원의 의미로 Pacemaker를 확장시키는 오픈 소스 소프트웨어 제품입니다.

  • iSCSI 개시자 및 대상

    iSCSI는 네트워크를 통해 SCSI 장치를 제공하는 클라이언트 및 서버 소프트웨어 구성 요소입니다.

권장사항

다음 권장 사항을 <문장의 나머지 부분>의 시작점으로 사용하십시오. 요구 사항은 여기에 설명된 구조와 다를 수 있습니다.
  • VCN

    VCN을 생성할 때 VCN의 서브넷에 연결하려는 리소스 수에 따라 필요한 CIDR 블록 수와 각 블록의 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

    프라이빗 접속을 설정하려는 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.

    VCN을 생성한 후 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때는 트래픽 플로우 및 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결합니다. 이 서브넷은 보안 경계 역할을 할 수 있습니다.

  • Cloud Guard

    사용자정의 감지기 및 응답기 레시피를 생성하도록 Oracle에서 제공하는 기본 레시피를 복제 및 사용자정의합니다. 이러한 레시피를 통해 경고를 생성하는 보안 위반 유형과 경고에 대해 수행할 수 있는 작업을 지정할 수 있습니다. 예를 들어 가시성이 퍼블릭으로 설정된 오브젝트 스토리지 버킷을 감지할 수 있습니다.

    테넌시 레벨에서 Cloud Guard를 적용하여 가장 광범위한 범위를 다루고 여러 구성을 유지 관리하는 데 따르는 관리 부담을 줄이십시오.

    관리 목록 기능을 사용하여 감지기에 특정 구성을 적용할 수도 있습니다.

  • 보안 영역

    최대 보안이 필요한 리소스의 경우 Oracle은 보안 영역을 사용할 것을 권장합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle 정의 보안 정책 레시피와 연관된 컴파트먼트입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없어야 하며 고객 관리 키를 사용하여 암호화해야 합니다. 보안 영역에서 리소스를 생성 및 업데이트할 때 Oracle Cloud Infrastructure는 보안 영역 레시피의 정책에 대해 작업을 검증하고 정책을 위반하는 작업을 거부합니다.

  • NSG(네트워크 보안 그룹)

    NSG를 사용하여 특정 VNIC에 적용되는 수신 및 송신 규칙 세트를 정의할 수 있습니다. NSG를 사용하면 애플리케이션의 보안 요구사항과 VCN의 서브넷 아키텍처를 분리할 수 있으므로 보안 목록이 아닌 NSG를 사용하는 것이 좋습니다.

  • 로드 밸런서 대역폭

    로드 밸런서를 생성하는 동안 고정 대역폭을 제공하는 미리 정의된 구성을 선택하거나, 대역폭 범위를 설정하고 서비스가 트래픽 패턴에 따라 대역폭을 자동으로 확장하도록 하는 사용자 정의(유연한) 구성을 지정할 수 있습니다. 두 접근 방법 중 하나를 사용하면 로드 밸런서를 생성한 후 언제든지 구성을 변경할 수 있습니다.

고려사항

이 참조 아키텍처를 배치할 때 다음 사항을 고려하십시오.

  • 성능

    사용자에게 N IOPS를 제공하려면 항상 사용할 수 있는 장치에서 N개의 공칭 IOPS를 두 번 계획해야 합니다. 이는 성능의 절반이 실시간 Mirroring에 사용되기 때문입니다.

  • 보안

    솔루션을 퍼블릭 및 프라이빗 네트워크로 분할하여 구현 세부정보를 격리하는 것이 좋습니다.

  • 가용성

    이 기술에서는 항상 사용할 수 있는 장치를 iSCSI로 구현하는 것이 OS에 영향을 받지 않으므로 사용자는 시스템에서 Linux를 실행하든 Windows를 실행하든 진정한 내결함성을 누릴 수 있습니다.

    솔루션의 모든 소프트웨어 구성 요소는 공개적으로 오픈 소스 제품으로 사용할 수 있습니다. 특히 DRBD 드라이버는 바닐라 Linux 커널의 필수 구성 요소이며 모든 Linux 배포판에서 사용할 수 있습니다.

추가 탐색

이 참조 아키텍처에 사용되는 제품 및 기술에 대해 자세히 알아보십시오.

다음 추가 리소스를 검토하십시오.

확인

  • 작성자: Andrea Del Monaco, Yuri Rassokhin
  • 제공자: Alessio Comisso, Deepak Soni, John Sulyok