[Linux] Disk 관련 RAID 및 JBOD 정리

2018. 10. 18. 20:02 - mr.november11

[Linux] Disk 관련 RAID 및 JBOD 정리

  • RAID : Disk Fault 대응용

  • Array : Disk capacity 확장용

1. JBOD

  • JBOD : 특별한 RM 없이 하나로 구성

  • Hadoop의 경우 S/W 적으로 replica를 통해 redundancy를 보장하기 때문에 JBOD 사용

  • RAID 구성보다 속도가 빠르다.

    • File 서버 같은 서비스는 RAID 0 나 JBOD 구성 가능

  • JBOD에서 RAID Controller 사용 권장

    • JBOD 구성 시 RAID Controller 사용을 위해 개별 RAID0 으로 나누어 사용

    • RAID Controller 를 미사용 시 감시 및 조치가 어려움

2. RAID

  • S/W Based RAID : OS에서 지원하는 RAID 구성

    • 비용 절감 가능 ( Raid Controller 미사용 )

    • H/W Based 보다 활용이 자유로움

    • Hot Plug나 Re-building 시 H/W Based보다 불편함 (오히려 자동화 시 불편)

    • Parity Check나 Block에 대한 구성을 S/W 적으로 하기 때문에 CPU Resource를 점유함

  • H/W Based RAID(상용) : RAID Controller를 통해 구현

    • Ex) Facebook, Google은 RAID Controller 자체를 사용하지 않음

    • 장애 발생 시 S/W적으로 Node 자체를 격리함

RAID 유형

  1. RAID 0 : JBOD과 다르게 분산하여 Single 병렬로 여러 개 Disk에 저장 함

    • RAID Controller의 집선 Path가 한정되어 있어 Hadoop에서는 JBOD를 더 선호함

    • JBOD는 Hadoop에서 S/W 적으로 구현함

    • 디스크 고장 시 데이터 유실로 일반적으로 IDC에서는 사용하지 않음

  1. RAID 1 : 디스크 mirroring

    • Read Performance가 올라감

    • Write는 효용이 없지만 Read 시 2개의 Disk에서 한꺼번에 읽어올 수 있음

    • Fault Tolerance가 높아짐

    • 비용 증가 발생(2배)

    • 일반적으로 OS 영역은 SSD 2장으로 RAID 1을 구성하여 사용

  1. RAID 10 : Raid 0의 용량 장점 + RAID 1의 가용성의 장점을 조합

    • RAID 1 구성에서 Write Performance를 높일 수 있음

    • DB에서 데이터 저장용으로 많이 사용함

  2. RAID 5 : parity 채용으로 N+1 구성 가능

    • RAID 1보다 Disk 활용도가 높으며, Fault Tolerance를 지원 가능

    • 10개 Disk를 사용 시 10% 만 손실

    • 가용성 측면에서 Parity 구성을 위해서 최소 3개 이상 Disk가 필요 함

    • Disk가 2개 이상 고장 발생

  1. RAID 6 : parity 채용으로 N+2 구성

    • Disk 2개가 고장나도 복구 가능

  1. RAID Spare Disk

    • Spare Disk로 평시에는 Spare 상태로 있다가 Disk Fail 시 활용

    • 중요한 서버의 경우 Spare 구성을 별도

    • 상용 환경에서 많이 사용하는지는 ...



다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다