Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

스카시예약 리소스를 이용하기 위해서는 스토리지에서 SCSI3-PR을 지원하는지 확인합니다.
LUN(Logical Unit Number) 단위로  단위로 스토리지가 구성되어야 합니다. 파티션 단위로 생성한 디스크는 지원하지 않습니다. 
PrType 이 3인 옵션을 사용하게 되면, 하나의 LUN에 1GByte 정도의 디스크 크기가 스카시예약 에이전트 전용으로 할당되어 있어야 합니다. 

...

1. 공유디스크와 스카시예약 리소스를 동일한 LUN에 적용하여 구성 (PrType=1)

스카시예약 에이전트의 리소스에서 속성이 PrType 이 1 인 옵션을 사용하면, 하나의 LUN을 이용하여 공유디스크 리소스와 스카시예약 리소스를 구성합니다. 
공유디스크 에이전트는 MVL 드라이버를 이용하여 DATA-DISK를 관리하고, 스카시예약 에이전트는 SCSI3-PR 기능을 이용하여 LOCK-DISK를 관리 합니다.
스카시예약 리소스와 공유디스크 리소스 간의 의존관계를 설정함으로써, Split-Brain 과 같은 상황에 발생하는 DATA-DISK의 손상을 방지 할 수 있습니다. 

 

 [그림] 공유디스크와 스카시예약 리소스를 동일한 LUN으로 구성  (PrType 이 1일 경우 구성)

...

공유디스크 에이전트는 단일 드라이브 문자 단위로 DATA-DISK를 관리하고, 스카시예약 에이전트 또한 별도의 독립된 별도의 독립된 단일 LUN을 LOCK-DISK 전용으로 관리합니다.
이 구성을 위해서는 공유디스크에 최소 2개 이상의 LUN 분할이 존재해야 합니다.
아래 그림과 같이 공유디스크 에이전트와 1:1로 의존시킬 LOCK-DISK 볼륨을 생성합니다.
공유디스크 에이전트 다수와 스카시예약 에이전트 1개를 이용해, 의존성을 구성해서 사용할 수도 있습니다.
이 디스크는 스토리지에 접근할 수 있는 노드를 확인 하기 위해 이용하기 때문에 크기가 작아도 상관 없습니다.
스카시예약 리소스와 공유디스크 리소스 간의 의존관계를 설정함으로써, Split-Brain 과 같은 상황에 발생하는 DATA-DISK의 손상을 방지 할 수 있습니다. 

   

 [그림] 공유디스크와 스카시예약 리소스를 서로 다른 LUN으로 구성  (PrType 이 3일 경우 구성)


Info

DATA-DISK 의미

  • 공유디스크 에이전트를 이용하여 생성한 디스크를 나타냅니다. 실제 사용자 데이터가 사용되는 디스크를 나타냅니다.    

LOCK-DISK 의미 의미 

  • 스카시예약 에이전트를 이용하여 생성한 디스크를 나타냅니다. 
    공유디스크 에이전트 연동 시 공유디스크에서 사용하는 DATA-DISK에 의존성을 설정하여 사용되는 디스크입니다.

 

 

구성 예제

1. 공유디스크와 SCSI Lock 리소스를 동일한 LUN에 적용하여 구성 (PrType=1)

...

  1. 양 노드 MCCS 설치
  2. 그룹 설정
  3. 공유 디스크 리소스 추가
  4. 공유 디스크 리소스 활성화 및 양 노드 Offline 확인 
  5. 스카시예약 리소스 추가 (공유 디스크 리소스를 생성했던 드라이브 문자로 선택합니다.)
  6. 스카시예약 리소스 활성화 및 MCCS Console의 리소스 속성에서 Key 확인 
  7. 리소스 의존성 구성(스카시예약 리소스가 공유디스크보다 먼저 Online 되게 구성이 되어야 합니다.)
  8. 노드2에서 노드1로 페일오버 시험
  9. 노드1에서 노드2로 페일오버 시험
  10. 해당 볼륨을 사용하는 고객 응용프로그램 설정


...

  1. 양 노드 MCCS 설치
  2. 그룹 설정 
  3. 공유 디스크 리소스 추가
  4. 공유 디스크 리소스 활성화 및 양 노드 Offline 확인 
  5. 스카시예약 리소스 추가 (공유 디스크 리소스에서 선택하지 않은 새로운 드라이브 문자를 선택합니다.)
  6. 스카시예약 리소스 활성화 및 MCCS Console의 리소스 속성에서 Key 확인 
  7. 스카시예약 리소스의 속성에서 PrType 1을 3으로 변경 (SCSI Lock 리소스로 추가 된 Disk Letter가 양 서버의 윈도우 탐색기에서 사라진 것을 확인합니다.) 
  8. 리소스 의존성 구성(SCSI Lock 리소스가 공유디스크보다 먼저 Online 되게 구성이 되어야 합니다.)
  9. 노드2에서 노드1로 페일오버 시험
  10. 노드1에서 노드2로 페일오버 시험
  11. 해당 볼륨을 사용하는 고객 응용프로그램 설정

...

              삭제 메뉴를 선택합니다.
              
               [그림] 스카시예약 리소스 삭제 화면



상태

다음 테이블은 상태와 사용자 명령에 의해 발생되는 MCCS 리소스의 상태 이동에 대해 설명합니다.
명령은 사용자 명령에 의해 발생되는 것을 전제로 합니다.

스카시예약 에이전트: 스카시  스카시 예약 디스크를 관리합니다. 

상태Agent 가능 명령설명비고

온라인

온라인 된 노드에서 디스크의 키가 베타적으로 예약된 상태입니다.
다른 노드에서는 키를 등록 할 수 없습니다.

오프라인

예약을 유지한 상태로 오프라인으로 전환합니다.

 
모니터링

디스크에 예약이 걸려있는지 확인합니다.

 

오프라인

1.  디스크가 예약은 되어 있지만 리소스 상태는 오프라인 상태입니다.
2. 상대 노드가 예약을 가져간 실질적인 오프라인 상태입니다.

온라인디스크 예약을 위해 키를 등록하고 상대 노드의 응답을 대기합니다.  
모니터링

디스크에 예약이 걸려있는지 확인합니다.

 

장애

온라인 중 예약을 빼앗긴 경우에 발생합니다.

온라인디스크 예약을 위해 키를 등록하고 상대 노드의 응답을 대기합니다.  
오프라인예약을 유지한 상태로 오프라인으로 전환합니다. 

 

 

속성

[그림] 스카시예약 속성 화면


스카시예약 리소스 기본 속성 에서 언급된 것 이외에 다음과 같은 상세 속성을 제공합니다. 
설정은 리소스 속성 탭의 "리소스 고유속성" 에서 설정합니다.  
각 속성값들의 의미는 다음과 같습니다. 

 

속성 명

설명

타입

기본값수정비고
DiskDUID

디스크의 DUID(Device Unique ID, Hex값으로 16바이트 크기)를 식별자로 사용합니다.
예약할 디스크의 DUID를 지정합니다.
이 값은 DriveLetter 속성을 지정하면 자동으로 확보되어 집니다.
사용자는 가능한 이 값을 직접 입력하면 안됩니다.
DUID정보는 scsicmd.cmd 명령으로 확인 가능하며, 양 노드가 동일한 값을 가져야 합니다.

STRING X 
DriveLetter

예약에 사용할 디스크를 드라이브 문자로 지정합니다.
드라이브 문자를 등록하면 자동으로 해당 드라이브 문자에 연결된 디스크의 DUID가 구해집니다.

STRING X 
KeyMAC 주소를 예약 키로 사용합니다. 이 키는 에이전트가 자동으로 설정합니다. STRING   
PreemptWaitCount

노드가 디스크를 예약할 때 상대노드에 예약 요청을 하고 응답을 대기합니다.
대기 시간은 (PreemptWaitCount * MonitorInterval) 초 입니다.

INTEGER2회O 
PrType

SCSI3-PR 스펙에서 정의하는 Persist Type 으로 예약 디스크의 접근 권한을 어떻게 부여할 것인지 설정하는 속성입니다.
6가지 타입이 있지만 MCCS는 1번(Write Exclusive) 혹은 3번(Exclusive Access) 을 사용합니다.

1번(Write Exclusive)는 공유디스크와 동일한 LUN을 사용할 때 이용하고, Disk Letter를 탐색기에서 확인할수 있습니다.
3번(Exclusive Access)는 오직 Lock_Disk 용으로 사용할때만 이용합니다.

이 경우 스카시예약 에이전트 전용 LUN이 필요합니다.
Disk의 mount 상태가 un-mount로 변경됩니다. 따라서 Disk Letter는 탐색기에서 사라집니다.

INTEGER

Prtype=1O 

 

 

scsicmd.cmd 명령

형식

Code Block
 scsicmd [option] [diskID]

...

Panel

소스노드의 'scsicmd'명령어 출력결과 (C29043F13는 소스노드의 MAC Address 입니다.)

Disk DUID(DeviceUniqueID)LetterPRReserved-KeyRegistered-Keys
0 CNononenone
1 DNononenone
200c0ffd796550000f38be34f01000000EYesnonenone
300c0ffd796550000138ce34f01000000FYesC29043F13*C29043F13*
400c0ffd7965500002e8ce34f01000000GYesnonenone


타겟노드의 'scsicmd'명령어 출력결과 (C29043F13는 소스노드의 MAC Address 입니다.)

Disk DUID(DeviceUniqueID)LetterPRReserved-KeyRegistered-Keys
0 CNononenone
1 DNononenone
200c0ffd796550000f38be34f01000000EYesnonenone
300c0ffd796550000138ce34f01000000FYesC29043F13C29043F13
400c0ffd7965500002e8ce34f01000000GYesnonenone

Disk 0번(C:)은 PR이 "No" 로 설정되었기 때문에 SCSI3-PR을 지원하는 디스크가 아닌 것을 확인 할 수 있습니다. (보통 드라이브 문자가 "C"로 잡힌 것은 시스템의 Booting 디스크이고, SCSI를 지원하지 않습니다.)
또한 Disk 1번(D:)은 PR이 "No"로 설정되어 있습니다. SCSI3-PR을 지원하는 디스크가 아닌 것을 확인 할 수 있습니다.(Internal Disk는 SCSI3-PR을 지원하지 않습니다.)
Disk 2번(E:)과 Disk 4번(G:)은 SCSI3-PR이 "Yes"로 설정되어 있어 SCSI3- PR을 지원하는 Storage 장치를 이용하고 있으며, Reserved-Key 와 Registered-Keys가 "none"으로 되어 있어 아직 등록되지 않는 상태를 의미 합니다.
Disk 3번(F:)은 Reserved-Key와 Registered-Keys가 소스노드에서는 C29043F13*, C29043F13*로 타겟노드에서는 C29043F13, C29043F13로 등록되어 있고 이것은 스카시예약 에이전트를 이용해 리소스를 생성 한 상태입니다.
두 노드 중 (*)표시가 포함 된 Reserved-Key와 Registered-Keys가 디스크 예약을 하고 있음을 나타냅니다. 또 Reserved-Key에 값을 가지고 있고 (*)표시가 되어있는 (예: C29043F13*) 노드만 디스크 접근을 할 수 있습니다. 

...