SharedIT | 묻고 답하기(AMP)

RAID5 디스크장애시 문의드립니다.


안녕하세요.


RAID5 구성시 디스크장애가 났을 시 어떻게 디스크사용이 가능한지 궁금합니다.

패리티비트로 스페어링 등등 내용은 알고있는데 

디스크장애가 난 후 스페어링하는동안에 디스크사용이 어떻게 가능한지 궁금합니다. 

10개의 답변이 있습니다.

명동쓰레빠
  0 추천 | 9달 전

솔루션 상담실을 통해 관련 업체의 도움을 받으시길 바랍니다.


inside07
  0 추천 | 10달 전

RAID 5는 1개 고장나면 고장 디스크 바로 교체한다고 생각 하시면 될 것 같습니다.

패리티 정보를 디스크가 나눠가지고 있어서 당장의 운영은 가능 합니다.

danis78
  0 추천 | 10달 전 | 제이컴즈 | 010-2871-8756

안정성을 위해서는 Raid 5 + hot spare 구성도 불안합니다. 

왜냐 하면 디스크 하나가 고장나면 hot spare 디스크로 리빌딩 하게 되는데 리빌딩이 하드 용량에

따라서 길어질 수 있기에 (과거에 비해 하드 용량이 점점 커지고 있죠) 

리빌딩이 아직 안끝난 시간에 혹시나 디스크 하나 더 불량 나면 그냥 깨집니다.

그러기에 가급적이면 RAID 5 + hot spare 할바에 RAID 6 로 하는 게 좋습니다. 

danis78 | 10달 전

어차피 RAID 5 + hot spare 나 RAID 6 나 디스크 2개 못 쓰는 건 똑같거든요 

단순히 hot spare 디스크를 자유롭게 빼서 다른데 쓸 수 있느냐 없느냐 차이 입니다. 

차니
  0 추천 | 10달 전

안정성을 위해선 raid5, raid 5+hotspare, raid6 + hotspare 추천드립니다.


대용량 디스크를 요즘 많이 사용하다 보니 리빌딩 복구 동안 다른 디스크가 나가는 경우도 있더군요 ㅠㅠㅠ


raid 6 + hotspare 추천드립니다.

Simon.Park
  0 추천 | 10달 전

다른분들이 자세히 설명들을 해 주셨는데요,

RAID5 구성 사용 중에 디스크 1개 장애 시에 나머지 디스크들의 데이터를

XOR (exclusive OR) 연산을 통해 나머지 1개의 데이터 내용을 복원해 내게 됩니다.

이걸 Parity 연산이라고 하는데요,

스페어 디스크로 데이터를 넘기는 동작과 서비스를 수행하는 동작 모두 해당 

Parity 연산을 통해 이루어 지게 됩니다.

대부분 벤더의 스토리지는 스페어로 넘기는 연산 보다는 서비스 연산을 우선으로

수행하기 때문에 서비스 I/O가 많으면 그만큼 스페어로 넘어가는 시간이 더 오래 걸리게 됩니다.

그리고, 스페어로 넘기는 동작도 2가지가 있습니다.

스토리지에서 디스크 장애를 크게 2가지로 분류하는데,

  • 물리적인 장애 (디스크 내용을 전혀 Read/Write 할 수 없을 때) --> 위와 같은 Parity 연산 수행

  • ORM 장애 (디스크 I/O Error Count 로 인한 강제 장애, Read/Write 는 가능)
    --> 장애를 특정한 디스크에서 읽어서 스페어로 넘김 (시간 짧음)

요즘 점점 디스크 크기도 커지고, 이로 인해 스페어로 넘기는 시간이 길어지고, 

스페어로 넘기는 동안 또 다른 디스크 장애가 발생할 가능성도 높아짐에 따라

SAS, SSD 를 제외한 NL_SAS (SATA) 디스크의 경우에는 대부분 RAID6를 권장하고 있습니다.

topkslee
  0 추천 | 10달 전

RAID5일때는 모든 디스크가 패리티 비트 정보로 데이터를 유지하고 디스크 하나의 장애로

문제가 발생하더라도 패리티 비트 정보로 데이터를 그대로 유지시켜줍니다.

다만, 장애난 디스크를 추가할 경우 디스크의 패리티 비트 리빌드로 인해 리빌드 시간동안

IO 발생 가능성은 있습니다.  

아이티유
  0 추천 | 10달 전 | (주)아이티유 | 010-3658-9792

Raid 종류 중  Raid 5는 최소 물리디스크 3개 이상으로 각각의 물리디스크의 섹터 및 실린더에 패리티란 값을 순차 기록하여 디스크 1개가 불량이 나더라도 데이터가 유효합니다.

불량이 있어도 데이터 읽기와 쓰기가 가능합니다. 단, 이를 모르고 방치하여 또다른 디스크 마저 불량이 날경우 데이타는 유실이 됩니다.

이를 보완하기 위해 Raid 6 (최소 디스크 4개 이상) 또는 Spare Disk 설정하여 사용합니다.

디스크 3개 Raid5 구조라는 전제하에 1개의 불량디스크 발생시 대부붐 서버 및 스토리지의 전면 LED 에 엠버(주황) 또는 빨간색 LED 점등 확인이 됩니다. 이때 서버 및 스토리지가 HotSwap 이 되는 디스크 (거의 99% 기능지원) 라면 작동 중 불량이 난 디스크를 탈거 후 동일한 용량 또는 그 이상의 새로운 디스크를 장착하면 자동 리벨딩이 됩니다. 여기서 데이타 사용에는 무방하나 Raid 메모리 및 모델에 따라 속도가 틀려집니다.

또한 스페어 디스크가 있다면 불량난 디스크 대신 자동으로 스페어 디스크가 그 역활을 대신하며 나중에 불량난 디스크를 새로운 디스크 교체 이후에 서버와 스토리지에 따라 스페어 지정이 서로 틀려집니다. 서버의 경우엔 기존 스페어 디스크 슬롯을 스페어로 다시 만들지만 스토리지의 경우엔 교체한 새로운 디스크가 스페어가 되는 구조입니다.

물로 위의 설정은 환경설정에서 모두 바꿀 수가 있습니다. 참고하여주세요 

차바라기
  0 추천 | 10달 전

디스크 2개까지 장애 나도 교체를 하면 되는데 문제는 3개까지 나면 데이터 복구 힘듭니다~

wansoo
  0 추천 | 10달 전

RAID 5를 이해하기 쉽게 생각해 본다면...

디스크 3개 중에 2개 디스크에 실제 데이터를, 나머지 한개에 복구를 위한 데이터를 기록해 둔다고 보면 됩니다.

그렇기 때문에 디스크 한개가 고장나도 2개 디스크로 사용 가능한 것이고요.


정확한 표현은 될 수 없지만 디스크 2개가 기본 구성인데, 복구를 위한 디스크를 한개 더 추가해 둔 상태라고 생각하면 이해가 쉬울 것 같습니다.

그렇기 때문에 3개 중에 여분 디스크 한개가 고장나도 정상적으로 사용할 수 있다고 보면 됩니다.

고장난 디스크를 제거하고, 새로운 디스크를 장착하면 새로운 디스크에 복구에 자료를 생성해서 복구를 위한 전체 디스크 구성을 준비해 두게 되는 것이고요.


그럼, 복구 데이터는 어떻게 구성하냐는 질문이 있을 수 있겠는데...

패리티 값으로 복구 데이터를 만들게 됩니다.

패리티 값도 홀수 패리티와 짝수 패리티 개념도 있는데, 1의 숫자를 홀수개로 맞춘다더나 짝수개로 맞춘다는 내용이라 생각하면 되는 내용이고...


패리티 값이라는 건...

2진수는 0과 1의 값만을 가질 수 있는 숫자가 되겠는데요.

첫번째 디스크에 2진수 0값이 데이터로 기록되고, 두번째 디스크에 2진수 1값이 데이터로 기록되었을 때, 짝수 패리티의 복구 데이터를 만든다면 패리티 값으로 1을 생성해 주면 되겠고, 홀수 패리티를 사용한다면 복구 데이터로 0을 생성해 주면 되겠고요.

1번디스크 : 0,            2번디스크 : 1,            복구디스크: 1

처럼 데이터를 기록해 둔다는 개념으로 생각하면 쉽게 이해할 수 있겠고요.

만약에 2번디스크가 고장났을때 2번 디스크에 어떤 값이 저장되었는지는 1번 디스크: 0, 복구 디스크: 1 이기 때문에 2번 디스크에 1의 값이 저장되어 있었다는 것을 계산을 통해 알 수 있게 되는 것이죠.

2번 디스크를 제거하고 새 디스크를 장착했을때, 1번 디스크에 저장된 값과 복구 디스크에 저장된 값을 계산해서 2번 디스크에 1값을 채워 넣어 주면 복구가 끝나게 되는 것이고요.


RAID3, RAID4, RAID5 등이 비슷한 개념으로 디스크를 구성하게 되는데... RAID3, RAID4는 요즘 거의 사용하지 않고, RAID 5를 주로 사용하고 있고요.

RAID5는 특정 디스크에만 패리티인 복구용 데이터를 저장하지 않고, RAID 5를 구성하는 디스크들에 복구용 패리티 값을 골고루 분산해서 저장하는 방식이라 생각하면 좀 더 정확한 개념이 될 수 있을 것 같습니다.

sse30014001 | 10달 전

감사합니다. 

스페어링 도중에 장애디스크에 일어나는 IO처리도 패리티를 이용해서 한다고 이해하는게 맞을까요?? 

wansoo | 10달 전

그렇죠~ 패리티에 해당하는 내용에 문제가 있을 경우에는 데이터를 바로 읽어서 사용하면 될 것이고, 데이터에 해당 하는 내용에 문제가 있을 경우에는 살아있는 데이터와 패리티를 이용해서 문제 있는 부분의 데이터를 계산해서 사용하게 될 것이고요.

sse30014001 | 10달 전

감사합니다 !!! 

한수배워갑니다 !!!

Genghis Khan
  0 추천 | 10달 전

Raid5(disk3-4개)구성시  disk 1 장애시 

나머지 disk에 패리티 정보가 있기 때문에   문제없이  서비스 사용시 문제는 없어요 여기에 hotspare를 두면 disk1 장애시 Raid5 구성 볼륨이 그대로 가기 때문에 문제없이 서비스 가능합니다

아래 내용은 raid5 패리티에 대한 자세한 내용이 있습니다

https://leeeeye321.tistory.com/102

sse30014001 | 10달 전

답변 감사합니다 !!