데이터 보호 방안 : RAID 5 안정성에 대한 제고
사실 Storage 시스템에서 데이터를 보호하는 기법에는 RAID이외에도 여러 가지 방법이 있지만, 오늘 주로 이야기 할 내용은 RAID 기술입니다. 사실 오늘날 우리들이 당연시 하는 RAID 기술은 약 20년 전 처음 발표 되었을 때는 대단히 획기적인 기술이었고, 아직까지도 대부분의 스토리지 제품들이 HDD 장애로부터 데이터를 보호하기 위해 RAID기술은 사용하고 있습니다. 아마도 RAID 기술이 없었다면, 스토리지 업계가 이만 큼 성장 할 수 있었을까 하는 생각을 개인적으로 해보곤 합니다. 한편으로는 하루가 다르게 새로운 기술이 개발되고, 변화가 심한 이 IT업계에서 RAID기술만큼이나 변화하지 않고 있는 것이 있을까 하는 생각도 하게 됩니다. 20년 전에 개발된 기술이 오늘 날 새로이 발표되는 대부분의 스토리지 제품에서도 여전히 사용되고 있다니...... 개인적으로는 둘 중 하나인 것 같습니다. 스토리지 업계에 종사하시는 분들이 그 동안 게을렀거나, 정말 대단한 기술이거나......
사실 최근에 이 RAID기술에 있어 가장 논란이 되고 있는 것이 RAID 5인 것 같습니다. 그 이유는 최근 SATA디스크가 상용화 되고, 점점 더 많은 고객들이 SATA디스크를 사용하고 있기 때문입니다. 그럼 왜 이 SATA 디스크 사용이 RAID 5 기술을 논란의 중심으로 내몰게 되었는지 살펴 보겠습니다.
예전과는 달리, 최근에 점점 더 많은 고객들이 업무의 특성과 중요도에 따라 사용하는 Storage 시스템을 구분해서 사용하고 있고, 그에 따라 Non Mission Critical한 업무 혹은 고성능이 요구 되지 않는 업무에 SATA Disk의 사용이 많이 늘었습니다. 이러한 추세는 최근 일련의 경제 상황과 연관되어 더욱 가속화 될 것으로 보입니다. SATA Disk의 특성은 FC Disk에 비해 고 용량의 저장 공간을 제공하는 반면, 안정성은 좀 떨어진다는 단점이 있습니다. 최근에 RAID 5기술의 안정성을 논란의 중심에 서게 한 것은 SATA Disk환경에서 발생하는 Double Disk fault입니다. 즉 하나의 RAID 그룹에서 두 개의 Disk가 장애가 발생하는 경우가 많이 발생하기 때문입니다.
사실 하나의 RAID그룹에서 두 개의 Disk가 동시에 완전히 장애가 발생하는 것은 그리 많이 발생하지도 않고, 확률상으로도 매우 낮습니다. 그럼에도 불구하고 SATA 환경에서 Double Fault로 데이터 손실이 많이 발생하는 이유는 하나의 “Disk 장애 + 나머지 Disk들의 Block에서 발생하는 URE(Unrecoverable Read Error)의 형태로 Double Fault가 발생하고 있기 때문입니다. 즉 RAID 그룹 내에서 하나의 Disk가 장애가 발생하고, 이 장애가 발생한 Disk의 데이터를 Parity정보를 이용하여 Hot Spare Disk로 복구하기 위해, 나머지 정상적인 Disk들에 데이터 복구를 위한 추가적인 Read가 발생하게 되는데, 이때 나머지 정상적인 Disk들의 일부 Block 혹은 Sector에서 URE(Unrecoverable Read Error)가 발생하게 되어 데이터가 손실되는 사례가 많이 발생한다는 것입니다.
업계에서 일반적으로 말하는 SATA Disk에서 URE(Unrecoverable Read Error)가 발생할 확률은 1/1014입니다. 즉 12TB의 데이터를 읽을 때 마다 한번씩 URE(Unrecoverable Read Error)가 발생한다는 것입니다. 이를 일반적으로 많이 사용되는 Storage 구성에 적용해서 계산해보겠습니다. 500GB의 SATA Disk를 사용하여 3D+1P와 6D+1P로 RAID 5를 구성하는 경우, URE(Unrecoverable Read Error)가 발생할 확률을 계산해 보면 아래와 같습니다. 이 확률은 500GB보다 더 큰 용량의 Disk를 사용하거나, 성능을 위해 RAID 그룹의 구성을 더 많은 디스크를 사용하여 구성하는 경우에는 더 높아지게 됩니다.
500GB 사용시 Read Error가 발생할 확률
3D + 1P: 500GB * 3 (# of Remaining Disk) /1014= 0.12 (12%)
Data Disks Parity Disk
6D + 1P: 500GB * 6 (# of Remaining Disk) /1014= 0.24 (24%)
Data Disks Parity Disk
1TB HDD사용 시 Read Error가 발생할 확률
3D + 1P: 1TB * 3 (# of Remaining Disk) /1014= 0.24 (24%)
Data Disks Parity Disk
6D + 1P: 1TB * 6 (# of Remaining Disk) /1014= 0.48 (48%)
![]()
![]()
![]()
![]()
![]()
Data Disks Parity Disk
자, 혹시 이 글을 읽으시는 분 중, SATA Disk환경에서 Double Fault로 데이터를 읽어 버리신 경험을 하신 분이 계시면, 단순히 운이 없어서였다고 생각하기 보다는 SATA환경에서는 Double Fault를 대비해야 되겠구나 하고 생각을 조금 바꾸셨으면 하는 바람입니다.
아래는 RAID 5의 안정성에 대한 관련된 해외 기사 및 Blog입니다. 참고 하시기 바랍니다.
- Why RAID 5 stop working in 2009 in ZDnet
- Enthusiast-oriented reports such as AnandTech, quoting an “8% chance of complete data loss using RAID 5 with 200GB spindles”
- Seagate & Microsoft’s WinHEC 05 Presentation (SATA in the Enterprise) – “Call to Action: Use (only) RAID 1 or RAID 6 in SATA Array”
- IBM Research in Almaden (S. R. Hetzler, IBM Fellow) quoting a controlled study of large capacity drives “With only 2 9’s reliability - RAID 5 is insufficient with SATA”
- The “father of DEC StorageWorks” (now HP EVA) quoting that “If you have one petabyte of desktop drives with RAID 5, you could lose data twice a year”

감사합니다 감사합니다 정말 도움이 잘됩니다.!