Simulation is ...

Virtual = Real

Flight Sim 자세히보기

> IT (Information Technology)

SRDF, SRDF/A session dropped write pending limit reached. host throttling is disabled, SRDF/A 세션 중단 이유 및 3가지 사례

FlightSim 2023. 7. 25. 11:17
320x100

소개

이 문서에서는 SRDF/A 세션 중단 이유와 3가지 사례 공유에 대한 개요를 제공합니다.

자세한 정보

SRDF 솔루션:

  • SRDF 작동 모드:
    • SRDF/S: 동기식 모드. 물리적으로 분리된 Symmetrix 시스템(R2 디바이스)에서 운영 데이터(R1 디바이스)의 실시간(동기식) 미러링된 복제본을 유지합니다.
    • SRDF/A: 비동기식 모드. R1 디바이스에서 데이터를 미러링하면서 항상 R2 디바이스에서 데이터의 종속 쓰기 일관성 복사본을 유지합니다. 보조 사이트의 데이터 복사본은 일반적으로 기본 사이트보다 몇 초 뒤에 있습니다.
    • Adaptive Copy : 적응형 복사 모드를 사용하면 R1 및 R2 장치가 동기화되지 않은 둘 이상의 I/O가 될 수 있습니다. 비동기 모드와 달리 Adaptive Copy 모드는 R2 디바이스에서 데이터의 종속 쓰기 일관성 복사본을 보장하지 않습니다.
  • 모드는 동적으로 변경할 수 있습니다.
  • 작동 모드는 장치 수준에서 지정할 수 있습니다.
  • 모든 모드는 Symmetrix 메모리를 공유합니다.

SRDF/A의 I/O 작업:

다음 그림은 SRDF/A의 I/O 작업을 나타냅니다.

일반 SRDF/A 연결

IP WAN 연결

  • 긴 거리
  • 상호 연결 라우터의 안정성은 FC보다 낮습니다.

SRDF/A 링크 복구 용량

  • 전송 유휴 및 링크 림보(기본값은 10초)는 모든 링크 손실 상태에서 SRDF/A를 활성 상태로 유지할 수 있습니다. All Links Lost 조건을 유발하는 네트워크 중단 중에 SRDF/A가 완전히 활성 상태를 유지할 수 있습니다.
  • 쓰기 페이싱은 SRDF/A 작동 중단을 방지하기 위해 호스트 쓰기 I/O 응답 시간을 연장하여 캐시 활용도의 균형을 맞추는 SRDF/A 기능입니다.
  • 그룹 수준 페이싱 옵션입니다. 호스트 I/O 속도, 전송 주기 속도 또는 적용 주기 속도가 느려지면 전체 SRDF/A 그룹에 대해 활성화됩니다.
  • 장치 수준 페이싱 옵션입니다. 이 옵션은 SRDF/A R2 디바이스가 TimeFinder 복제 세션에 참여하는 SRDF/A 솔루션용입니다.
  • Tolerance Mode는 성능과 데이터 일관성 요구 사항의 균형을 맞출 수 있는 SRDF/A 기능입니다. Tolerance 모드를 ON으로 설정하면 R1 측의 링크에서 하나 이상의 디바이스가 준비되지 않음 상태가 되고 SRDF/A 세션이 활성 상태로 유지됩니다. R2 일관성은 유지되지 않지만 특정 제어 서비스 활동에서는 허용될 수 있습니다. 모든 링크가 손실되면 Tolerance 모드는 SRDF/A를 활성 상태로 유지하지 않습니다.

SRDF/A 캐시 활용 제한

  • 쓰기 보류 제한
    • 5875 이전에는 시스템 메모리의 80%였습니다.
    • 5875 이후 BIN 파일에 캐시 할당 정책 매개변수를 사용 가능한 메모리의 50% - 70%로 설정합니다.
    • SRDF/A 캐시 사용 제한: VMAX에서 74%, VMAX 이전에는 94%. 예: VMAX WP는 75%, SRDF/A는 74%입니다.
  • SRDF 그룹 세션 우선 순위: 캐시가 가득 차면 삭제할 SRDF/A 세션을 결정하는 데 사용되는 RDF 그룹 속성 session_priority입니다 . 값의 범위는 1에서 64까지이며 1이 가장 높은 우선 순위(마지막으로 삭제됨)입니다.

오류 메시지 및 이벤트

Enginuity 오류 메시지:

  • 047D - 하나의 링크 손실
  • 046D - 그룹의 모든 링크가 손실됨
  • 047E - 단일 링크를 얻었습니다.
  • 046E - RDF 그룹의 모든 링크가 복구되었습니다.
  • CACA - 비사용자 요청으로 인한 SRDF/A 세션 삭제

Symevent 오류 메시지:

  • 링크 드롭
  • 모든 그룹이 정지 상태가 됩니다.
    • 전송 유휴가 설정되면 전송 유휴 상태가 됩니다.

  • 메모리 제한에 도달함

SRDF/A 일반적인 중단 이유 및 해결 방법

언급된 링크 문제 외에도 SRDF/A에서 링크 드롭의 일반적인 원인은 전송된 데이터가 링크 대역폭을 초과하고 캐시 제한에 도달하여 링크 드롭을 트리거한 것일 수 있습니다. 한편, 전체 어레이 성능 문제로 인해 메모리 부족으로 인해 링크 드롭이 발생합니다.

  • 대역폭 문제: 링크 대역폭 증가
  • 단기간의 불충분한 대역폭: DSE
  • 어레이 수준 성능 문제: 어레이 수준 성능 문제를 먼저 해결

사례 1 - 대역폭 문제

구성: SiteB와 SiteC 간 SRDF/A. 3개의 어레이 간 총 622Mb WAN

문제: RDF 그룹 중 하나가 매일 17:30에 떨어집니다.

원인: 성능 추적을 확인하십시오. SRDF/A 데이터 전송이 총 대역폭을 초과하는 약 90MB/s(720Mb/s 초과)에 도달합니다. 피크 시간에 대역폭이 부족하면 SRDF/A 그룹이 삭제됩니다.

2013년 11월 12일 17:20 87.94MB

2013년 11월 12일 17:25 94.59MB

2013년 11월 12일 17:30 71.96MB

2013년 11월 12일 17:35 73.58MB

2013년 11월 12일 17:40 79.58MB

2013년 11월 12일 17:45 79.58MB

2013년 11월 12일 17:50 78.46MB

해결 방법: 대역폭을 늘립니다.

사례 2 - 단기간의 불충분한 대역폭

문제: 성능 로그에서 SRDF/A 트래픽이 갑자기 증가한 다음 전체 그룹이 오프라인 상태가 됩니다.

로그 분석: 인라인 로그를 확인하고 어레이 메모리 사용량이 한도를 초과했음을 의미하는 CACA.10 오류를 찾은 다음 SRDF/A 그룹을 삭제합니다.

  • 피크 시간은 매우 짧습니다.
  • DSE는 사용하지 않습니다
  • 백엔드 리소스가 사용 중이 아님

솔루션: DSE가 권장됩니다. DSE를 적용한 후 SRDF/S 그룹 206의 단기 대용량 데이터를 SRDF/A 그룹 207을 통해 원격 재해 복구 어레이로 전송해야 합니다. DSE 캐시에 많은 데이터가 있고 SRDF/A 그룹 207이 전송 상한에 가까운 시간 동안 실행되었지만 SRDF/A 그룹이 오프라인으로 떨어지지 않았습니다.

사례 3 - 링크 문제로 인해 메모리 부족이 발생했습니다.

로그 분석: 인라인 오류는 사이클 번호가 16:30에 전환하지 않고 1시간이라는 것을 보여줍니다.

인라인 오류 표시 메모리 오버런으로 인해 SRDF/A 인터럽트가 발생했습니다. 성능 데이터에서 23:44에 Write Pending을 79%로 확인

성능 로그 분석: 15:30부터는 주기 수가 더 이상 증가하지 않지만 SRDF/A의 상태는 여전히 활성 상태입니다. 그런 다음 활성 주기 크기가 계속 증가하고 메모리도 계속 증가했습니다. 23:45에 비활성화되었습니다.

원인: 링크 품질 문제로 인해 R2가 주기를 수신하지 못하여 주기 크기가 계속 커지고 결국에는 캐시 사용 제한을 초과하게 됩니다.

솔루션: 링크 품질 문제를 복구합니다.

https://www.dell.com/community/Symmetrix/The-overview-of-SRDF-A-session-drop-reason-and-3-cases-sharing/td-p/7163060

https://www.dell.com/community/Symmetrix/SRDF-A-getting-suspended-Write-Pending-Limit-reached/td-p/6846406

https://www.dell.com/community/VMAX/SRDFA-write-pending-limit-reached/td-p/7027665

 

 * SRDF 란 ?  

SRDF(Symmetrix Remote Data Facility)는 Dell EMC 의 스토리지 기반의 원격 remote 복제 솔루션으로, 예기치 않은 장애 또는 재해시 재해복구(DR) 솔루션입니다. 계획되지 않은 Downtime 에 대비하여 업무중단없이 연손성을 보장해주는솔루션입니다. 

 

 * SRDF 구성요소

 물리적으로 두대의 Symmetrix(Local Storage<=> Remote Storage)와 서로를 연결하는 Link로 구성하며 논리적으로는 

Local Symmetrix에 위한 Source Volume(R1)과 Remote Symmetrix에 위치한 Target Volume(R2)의 Pair로 구성됩니다.

Source Volume은 Data를 복사 및 복제해주는 원본의 Volume을 의미하며, Target Voulme은 Source Voulme의 복사본을 의미합니다. Source 와 Target Voulme은 서로 다른 RAID구성은 가능하나 Volume Size 는 동일해야 합니다. 

 

 RDF Group

보통 RA Group이라고 부르며, Source Volume과 Target Volume 간의 데이타 전송을 담당하는 Link로 구성되며,  SRDF 구성 시 BIN파일에 정의되며, 재구성을 위해서는 BIN Reload가 필요합니다.

 

RDF Link

Voulme 및 Link 상태를 알아봅니다. Source 및 Target Voulme 간의 상태 및 SRDF Link경우 어떤 Operation을 하느냐에 따라 상태가 아래와 같이 달라집니다. 각각에 Status 를 확인해봅시다. 

 

1 ) Volume Status

 - Write enabled (RW)

 - Write Protected (RO)

 - Not Ready (NR)

 

2) Links Status

 - Write enabled (RW)

 - Not Ready (NR)

 

 


 

SRDF Configuration 확인 (CLI)

$) symcfg list -v

현재 Source(R1) 및 DR(R2) 의 장비 상태를 확인해봅니다. 

상세한 symmetrix 구성정보를 확인할 수 있습니다. 로컬 호스트에 연결된 모든 symmetrix 정보를 보거나 -sid 옵션을 통해 특정 symmetrix 정보도 확인이 가능합니다. 

 

$) symcfg list -ra all

 symmetrix간의 연결정보를 확인할 때 사용하며, Local 과 Remote symmetrix 간 RDF Link 디렉터에 대한 상세정보 확인이 가능합니다. (Port 번호 및 번호 수, 연결정보 등)

 

$) sympd list 

 symmpd list 경우 Local host에 할당된 Volume 만 보여주며, symdev list 명령어와 동일하다.

 

DG(Device Group)

업무단에서 서로 밀접한 관계거나 관리적인 측면에서 동시에 운영이 필요한 Volume들을 하나로 그룹화 한것을 DG(Device group)이라고합니다. DG는 사용자의 목적에 의해 정의된 논리적인 개체로 Volume 단위가 아닌 DG단위로 SRDF 와 같은 Opeartion이 가능하고 무엇보다도 데이타의 일관성을 유지할 수있습니다. 하나하나 각각의 Volume단위로 Operation 하는 것보다 관리적인 측면에서 효율성을 크게 증가시킬 수 있습니다. 최초 DG를 생성하고 Volume을 추가하면, DG에 대한 Name, 속해있는 Volume Id, 갯수 등 다양한 정보가 Host의 symapid DB에 저장이 됩니다. 

1) DG 내 모든 Volume은 동일한 symmextrix에 위치

2) DG 내 모든 Voulme은 동일한 Type

3) Volume은 SYMAPI DB당 하나의 DG에만 속할 수 있다.

 

 

DG CLI 확인

$) symdg show

DG에 포함된 볼륨정보 및 상세구성 현황을 보여줍니다. 


SRDF BC(Business Continuity) Opeations on CLI

1. symrdf -g <DGNAME> establish

"establish" 옵션경우 Source 에서 Target으로 데이타 복제하는 명령어 입니다. "establish" 명령이 수행되면, Host로부터 Write I/O는 Target Volume으로  데이타 복제가 이루어지며, Invaild Track에 대해서는 Source의 Data를 기준으로 Target쪽으로 대량복사가 이루어져 데이타 정합성을 일치시킵니다. 최초로 Full copy를 수행하면 이후 증분복제(Incremental copy)로 관리할 수 있습니다.  Establish 명령어가 수행되면 Target은 RO(Read-Only) 상태로 변경되며, Host로부터 Write I/O가 차단되고, Link 상태는 RW(Write enabled)상태로 변경되어 Source에서 Target간 RDF를 통해 데이타 복제가 이루어집니다.  * establish 를 진행하기 전에 Target volume 사용에 대한 중단을 선행해야합니다. * Invaild Track이란 R1(Source) R2(Target) 간 데이타 복제 단절(Split)시 R1(Source) 쪽에 계속적으로 Host로부터 Write I/O가 들어오는 데이터,  R2(Target)쪽에는 아직 복제가 안이루어진 데이타를 말합니다. 반대로 R2(Target)에서 수정된 데이타도 될 수 있고요.

 

 

2. symrdf -g <DGNAME> restore

"restore" 옵션경우 회복, 말그대로 Source Volume에 데이타가 삭제가 되거나 오류, 재해 등의 이유로 Target으로부터 데이타를 복구할 떄 사용합니다. Target에 있는 데이타가 Source Volume으로 다시 복사가 됩니다.  여기서 한가지! Source 쪽으로 요청되는 새로은 Write I/O에 대해서 establish와 같이 동시에 Target볼륨으로 전달되어 Sync가 이루어진다는 점을 참고해야합니다.

따라서 Target 에 있는 Data를 완벽하게 복구하기 위해서는 잠시 Source로 들어오는 I/O 중지시키고 restore하는 것을 권장드립니다.  Restore 명령어가 수행되면 Target 은 RO(Read-Only)상태로 변경되어 Host로부터 Write가 차단되고 Link 상태는 RW(Write enabled)상태로 변경되어 Target에서 Source 로 Data가 복구가됩니다. Target에서 Source로 복구하는동시에

새롭게 Source쪽으로 들어오는 WriteI/O도 Target쪽에 복제가 이루어집니다.  

 

 

3. symrdf -g <DGNAME> split

"split" 옵션경우 R1(Source)와 R2(Target)간 Link를 단절시켜, 각각의 R1/R2별로 Volume에 대한 데이타를 사용하기 위해 보통 사용합니다. Split이후 각각의 Volume별로 발생한 Invaild track경우 향후 establish or restore를 통해 R1/R2 간 데이타 일관성을 유지할 수 있습니다. 

"Split" 명령어가 실행되면 R1/R2 볼륨 모두 RW(write enable)상태가 되어 Rea/Write IO 수행이 가능하며, Link의 경우 NR(Not ready) 상태로 R1/R2간 데이타 이동이 중지됩니다.

 

 

4. symrdf -g <DGNAME> suspend

"suspemd" 옵션경우 RDF Link를 중지시켜 복제 또는 복구를 일시적으로 중단하고자 할때 사용됩니다. Link가 중지되면 새롭게 쓰여진 IO데이타는 Invaild track으로 축적되었다가 Link가 다시 정상적으로 되면 자동으로 복제가 완료됩니다. 

"suspend" 명령어가 실행되면 R1/R2 간의 볼륨의 상태는 변하지않고, 단지 Link만 NR로 변경됩니다.

 

 

5. symrdf -g <DGNAME> resume

"resume"옵션경우 suspend를 통해 중지된 RDF Link를 다시 연결시켜 중단된 복제 및 복구 데이타 전송을 진행할 수 있도록 하는 명령어입니다. 이또한 Invaild track을 자동으로 업데이트 합니다.  위와 동일하게 Link만 NR에서 RW로 변경됩니다. 

320x100
반응형