-
디스크가 동시에 2개 장애나면?스토리지 지식 2020. 12. 29. 23:50
RAID 5 & Double Disk Failure
제목처럼 이 주제에 대한 글을 쓰는 이유는, 아래의 질문을 받은 적이 있기 때문이다.
RAID 5 : 디스크 동시에 두 개 나가면 어떡해요?
그러면 RAID 6로 할래요.Mirroring : 디스크 한 개 장애 시에만 보장되잖아요.
이중화 말고 삼중화 안돼요?스토리지 도입 시 RAID 레벨을 정할 때, 시스템의 가용성만 고집하는 경우가 있다. 그리하여 이로 인한 성능 손해는 자주 간과되곤 한다.
RAID 5는, 3D+1P, 7D+1P 등의 구성으로, 다수의 데이터에 1개의 Parity bit를 통해, 1개의 디스크 장애에 대응 가능하다. 만일 1개 디스크가 고장 난 상태에서 1개 더 고장 나면 데이터 손실 (Data Loss)을 겪을 수밖에 없다. 그래서 RAID 6로 구성 시 대안이 된다.
그러나, RAID 6는 RAID 5에 비해 Write I/O (2 Parity 기록)뿐만 아니라, Read I/O도 더 많이 발생하기에 성능 손실이 더 생길 수밖에 없다. RAID 5 대비 30% 전후로 IOPS가 감소한다. 이는, 매우 큰 수치인데 대체로 관심을 두지 않거나 무감각하게 지나가는 경향이 있다. I/O 처리량이 30% 이상 감소한 것은 Write Latency 증가가 주요 요인으로 작용한 까닭이다. (물론, Read도 증가하였고, Read 시에도 Parity를 건너뛰어 읽어야 하는 오버헤드가 있다.)
염려스러운 때는, 해당 시스템의 중요도가 그리 높지 않고, 일정 성능이 필요함에도 RAID 6를 고집하는 경우이다. 이는, 시스템 구축 요건에 각 구성 요소별 Double failure 대응이 명시되어 있고, 시스템 환경에 맞는 기술적인 고려 없이 좋은 요건들만 갖다 붙인 경우를 예로 들 수 있다.
물론, 이런 경우로 한정하지 않더라도, 이해가 되지 않는 것은 아니다. 과거 HDD (Hard Disk Drive) 시절에는 Disk failure가 지금보다 빈번했기 때문에, Double failure를 제법(?) 경험하였다. 그러나, SSD (Solid State Drive)를 사용하는 지금은 Spindle disk보다 디스크 자체의 신뢰성 (Reliability)이 매우 높아졌기에, Double failure를 걱정하는 것은, 언제 발생할지 모르는 아주 낮은 확률이 무서워 평상시의 커다란 성능 이점을 포기하는 것과 같다. 너무나 큰 손실이라는 것이다.
Disk Reliability를 측정하는 지표인 AFR (Annualized Failure Rate)은 SSD가 HDD보다 약 8배 낮게 나타났으며, 이는 SSD의 연간 고장률이 HDD 대비 약 87% 감소함을 상기 데이터에서 확인할 수 있다.
Disk Mirror 구성된 시스템에서 Double disk failure가 발생한 적이 있다. (동시에 발생한 것은 아니고, 한 개의 SSD가 장애 난 후, 교체되기 전 또 다른 SSD 장애) 고성능을 요하는 분석 시스템이었는데, 결과적으로는, 2개의 디스크 장애로 인해 해당 제품의 데이터 보호 수준에 의문을 품게 되었고, 이로 인해 고객은 디스크 이중화를 넘어 삼중화 구성에 대해 언급하였다.
예전에는 (HDD 시절), 디스크 미러링만 하더라도, 가용성은 높으나, 비용 부담으로 미션 크리티컬 업무가 아니면 적용하지 못했었다. (거의 금융권에서만 미러 사용) 그러나, 지금은 기술이 발전하여 디스크 가격이 점점 낮아지고, 가용성도 중요해지면서 삼중, 사중화까지 구현 가능하게 되었다.그러나, 데이터 보호 수준을 높일수록 성능과 용량 손실을 감내해야 한다. 미러링만 해도 가용 공간이 절반으로 줄어들어 부담스러운데, 삼중화까지 고려하는 것이 과연 현실적일까? 그렇다고 RAID 6로 가기엔 성능 차이가 크므로 선택지가 되지 못한다.
알아야 할 것은, 어떤 제품을 만들 때는 성능과 가용성을 모두 고려하지만, 둘 다 완전히 취하기는 어렵다는 사실이다. 왜냐하면, 성능과 가용성을 원할수록 비용도 증가하기 때문이다. 그래서 제품별 특화된 강점과 비용의 적절한 지점을 찾아 효율성을 확보하는 것이 일반적이다.
고객 미팅 시, 왜 삼중화는 안되냐는 질문&다그침이 있었는데, 생각해보면 이는 이상한 질문이다.
왜냐하면, 삼중화가 되면 모든 게 해결되는 것이 아니기 때문이다. Triple failure는 발생 안 하는 게 아니니까. 그러면, 왜 사중화 안되냐고 할 것인가?
냉정히 짚어 볼 점은, 이는, 곧, 확률의 문제라는 것이다.디스크 미러링만 되어 있는 (하나의 디스크 장애만 허용되는) 해당 시스템의 가용성은 99.9999%이다. 즉, 연간 31.5초의 다운타임을 허용한다. 이보다 더 높은 수준을 원한다면, 이는 투자의 영역에서 고민해야 할 사안이 된다.
즉, 대상 시스템의 중요도에 따른 고객 선택의 몫이다. 다운 타임을 더욱 허용하지 않으려면 디스크 보호 수준에만 머물 것이 아니라, 다른 대체 수단으로의 보완이 필요하다. 예를 들면, BCV, Remote Replication, Active Active Data Center 구축 등이 될 것이다.
분석 환경에 디스크 미러링이면, 과잉 투자라고 할 수는 있어도 부족한 구성이라고 누가 말할 수 있으랴? (분석 업무는 소스의 데이터를 가져와서 처리하므로 데이터 중요도는 낮은 편. 더군다나, 백업시스템도 갖춰져 있지 않았다.)
마무리
시스템은 여러 요소에 대한 Trade off는 피할 수 없기에, 저마다 고유한 특징과 장단점을 갖고 있다. 그럼에도 사용자는 단편적인 시각에 매몰되어 전체를 놓치는 경우가 종종 있다.
RAID 5의 경우, 디스크 하나가 장애 나면 Rebuild를 통해 자동 복구된다. 이때, 하나가 더 장애 나는 상황은 드물지만 (Mirror의 경우도 마찬가지), 이 낮은 확률이 발생했을 때에는 그것을 수용하고 인정하는 마음의 자세가 필요하다.
왜?
그 정도로만 투자했기 때문에..
(미러링조차 완벽한 데이터 보호 방안이 아니란 걸 이미 모두가 알고 있다. 그렇지만 디스크 레벨에서 그 이상의 보호 수준은 대부분 고려하지 않는다.)
이러한 인식이 고객이나 판매자 모두에게 없는 것이 문제가 아닐까 하는 생각이 들었다. (문제 제기하는 고객과, 그것을 일부 당연히 받아들이는 벤더를 보면서)
그렇기에, 우선 이 점을 모두가 정확히 인지해야 하고, 판매자는 잘 모를 수 있는 고객에게 충분히 설명하고 이해시키는 노력이 필요하다는 생각이 든다.
'스토리지 지식' 카테고리의 다른 글
스토리지 포트 수와 성능의 관계 (1) 2021.01.05 가용성 다운타임 계산법 (e.g. 6x9s) (0) 2020.12.30 VDI를 위한 스토리지 사이징 가이드 (0) 2020.12.28 VDI 데이터 절감율이 낮은 이유 (0) 2020.12.27 오라클 데이터 중복제거 안되는 이유 (0) 2020.12.26