Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »


DRX 를 구성하는 환경에 대한 다음 항목들의 사전조사를 통해 버퍼 운영 정책을 결정하고 DRX 가 구동하는데 적합한 사양과 설정을 결정합니다.

2.1. 운영환경 사전조사

2.1.1. 운영체제

  • Windows 2008 이상 64비트, Linux CentOS 6.4 이상 64비트 플랫폼을 지원합니다.

2.1.2. 운영머신 최소 사양

  • 최소 1GHz 이상의 x86/x64 호환 프로세서(2GHz 이상 권장), 최소 4 core 이상 권장
  • 최소 4G 이상 물리메모리
  • 최소 10GB 용량 디스크

2.1.3. 복제 리소스 개수

  • 최대 100 채널

2.1.4. 운영서버 I/O 부하 측정

다음의 절차를 통해 운영서버의 I/O 부하도를 측정합니다.

  • 운영서버 복제 대상 디스크의 읽기/쓰기 I/O 데이터 측정 (최소 1~4주 기준 평균/peak I/O)
  • 측정 방법
    • Windows : 성능모니터 도구 이용 디스크 I/O 데이터 취합
    • Linux: iostat 등 유틸리티 이용 디스크 I/O 데이터 취합
  • 측정결과에 따라 버퍼운영 정책 결정
    • 2.3. 버퍼 운영 정책 참고
  • 압축, 암호화 정책 결정

2.1.5. 복제 대역

  • 최소 10Mbps~100Mbps 요구

2.2. DRX 구성 방식

운영환경의 I/O 부하도 및 압축 사용 여부에 따라 구성방식을 결정합니다. 로컬 구성 방식이 일반적이나 복제 부하가 크고 WAN 구간 가속이 필요할 경우 전용 구성 방식을 권장합니다.

2.3. 버퍼 운영 정책

  • DRX의 물리적 버퍼 사양 계측을 위해 네트워크 대역, 운영 머신 I/O 부하도에 대한 사전조사가 필요합니다.
  • 사전 조사 항목
    • 운영머신의 리소스당 평균 I/O 양
    • 최대 I/O 양
    • 최대 I/O 지속시간
  • 운영 머신의 평균 I/O 와 최대 I/O 의 수치는 적절한 버퍼링 환경을 구축하기 위한 근거 자료가 됩니다.
  • 사전 데이터 미확보 시 하기 3번 case 기준의 권장 버퍼 사양에 따라 구성 후 운영 및 버퍼 크기에 대한 조정(튜닝) 과정이 필요 합니다.

case

버퍼

비고
1평균 I/O < 대역폭 < 최대 I/O(최대 I/O - 대역폭) * 최대 I/O 지속시간

예) 평균 50MB/s I/O, 100Mbps 대역폭, 최대 200MB/s, 최대 I/O 10초간 지속

(200MB/s - 약 10MB/s) * 10초 = 약 2GB

2대역폭 < 평균 I/O < 최대 I/O
  • 네트워크 대역 확장 요구
  • 압축 기능 권장

3평균 I/O < 최대 I/O < 대역폭
  • 권장 버퍼 크기: 1Giga Byte 이상
예)1Gbps 대역폭, 1G Buffer = 최대 100MB/s I/O를 약 10초간 유지 가능


2.3.1 혼잡 정책

  • 혼잡상태란 복제부하가 가중되어 DRX의 버퍼링할 여유공간이 남아 있지 않아 버퍼링이 불가한 상태를 의미합니다.
  • 혼잡(congestion)정책: DRX의 버퍼가 혼잡상태에 진입할 경우 DRBD에서 대응하는 정책입니다.
  • 혼잡정책 설정 방법
    • drbd.conf
      resource r0 {
      	proxy {
      		memlimit 1G:
      	}
      	net {
      		on-congestion pull-ahead;
      		congestion-fill 950M;
      	}
      }
    • memlimit : DRX 버퍼
    • on-congestion : 혼잡정책 설정
    • congestion-fill :  혼잡인지 시점 설정, 위 예시에서 950M 바이트 데이터가 버퍼링되는 시점을 혼잡시점으로 인지
  • 혼잡상황에서의 DRBD의 대응 정책은 3가지이며 WAN 구간 비동기 복제 운영 시에는 Ahead 모드의 설정을 권고 합니다.
    • Block: 버퍼가 비워질 때 까지(버퍼의 큐잉할 수 있을 때까지) I/O 대기 합니다. (기본값)
    • Disconnect: 복제 연결을 단절합니다. (StandAlone 상태로 진입), Linux DRBD 미지원
    • Ahead: 지연 복제 모드 진입. (복제 연결은 유지하되 복제는 중단, 로컬 I/O 는 oos 로 기록), 혼잡 해제 시 oos 에 대한 리싱크 수행.

2.3.2. 버퍼 조정 가이드

  • DRBD의 Ahead 모드(지연복제) 비동기 복제 구성을 전제로 합니다.
  • 복제 연결이 유지되는 구간의 측정치에 대해서만 고려합니다.
  • 24~72시간 기준으로 다음의 방법을 통해 DRBD가 Ahead 모드로 진입하는 회수(혼잡 진입 회수)를 취합합니다.
    • drbd 로그상의 "Congestion-fill threshold reached" 의 출력 회수 취합
    • drbdsetup events2 명령을 통한 Ahead 진입 회수 확인
  • 취합한 혼잡진입 회수를 기준으로 버퍼의 크기 사양의 적절성을 판단합니다.
    • 혼잡빈도가 잦은 경우 후속 리싱크 구간의 증가로 인해 원격지 데이터가 Inconsistent 가 되는 빈도가 높을 경우 버퍼 크기의 증설을 고려합니다.
  • 버퍼를 증설 했음에도 혼잡구간이 빈도가 낮아지지 않을 경우 압축에 대해 고려합니다.


2.3.3. 물리 메모리 사양 

  • WAN 100Mbps 대역폭,  최대 I/O 200MB/s , 최대 I/O 지속시간 10초 기준
리소스 개수

DRX 기본 메모리

송신 버퍼용 메모리압축/암호화 버퍼메모리 요구사양운영서버 메모리 권장 사양
1100MB1 * (200MB-10MB) * 10초 = 1.9GB1 * 약 100MB2 .1GB4GB 이상
5100MB
5 * (200MB-10MB) * 10초 = 9.5GB5 * 약 100MB10.1GB16GB 이상
10100MB
10 * (200MB-10MB) * 10초 = 19GB10 * 약 100MB20.1GB32GB 이상
20100MB
20 * (200MB-10MB) * 10초 = 38GB20 * 약 100MB40.1GB64GB 이상
50100MB
50 * (200MB-10MB) * 10초 = 95GB50 * 약 100MB100.1GB128GB 이상
100100MB
100 * (200MB-10MB) * 10초 = 190GB100 * 약 100MB200.1GB256GB 이상
  • DRX 서버 최소 메모리 사양 공식: 100MB + 리소스 개수 * (최대 I/O(MB/s) - 대역폭(MB/s)) * 최대 I/O 지속시간(초) + 리소스 개수 *(압축/암호화 버퍼)
    • 일정 기간 내에 측정한 최대 I/O가 복제 대역폭보다 낮다고 해서 DRX 버퍼링을 고려하지 않는 것은 바람직 하지 않습니다. 운영환경의 애플리케이션의 특성에 따라 최대 I/O 가 급등하는 상황에 대비할 필요가 있으므로 DRX 버퍼는 여유공간을 갖고 구성하는것이 바람직 합니다.
      • 최대 I/O 가 대역폭보다 낮은 수치일 경우 계산 수식상 음수가 될 수 있으므로 이럴 경우 "최대 I/O(MB/s) - 대역폭(MB/s)"의 값은 최소한 1MB/s이상의 값으로 계산합니다.
    • 여기서 대역폭의 값은 WAN 환경에서 가변적 수치입니다. WAN 구간 대역폭은 일반적으로 보장 대역폭이 아닌 네트웍 상황에 따라 변동이 심한 가변대역의 특성을 가지기 때문에 통상 WAN 대역폭은 10~100Mbps 정도의 대역으로 간주하여 1MB/s ~10MB/s 로 추산하는 것이 버퍼링 관점에서 적당합니다.
  • 메모리(버퍼)의 크기는 복제 도중 네트워크 혼잡상황에 따른 버퍼 넘침(overflow) 이후의 DRBD 비동기 복제 운영 정책과 관련되며 버퍼의 크기에 따라 혼잡상태로 진입하는 빈도가 달라집니다.(버퍼가 작을 수록 혼잡빈도가 높아짐)
  • 위 예시에서 1개의 복제 세션(WAN 100Mbps, 최대 I/O 200MB/s로 추산) 운영의 경우 요구되는 메모리는 2.9GB(4G 권장) 이며 최대 I/O 가 지속될 때 약 10초 후 혼잡 상태에 진입하게 됨을 의미 합니다.
  • No labels