RAID

2026. 5. 31. 22:31·시스템, 인프라

오늘은 RAID 를 알아보자

 

RAID

풀네임은 Redundant Array of Independent Disks 라고 한다

많은 배열의 독립적 디스크 라는 뜻인가보다

 

이렇게 말로 된 설명만 보니 뭔가 모호하다

내가 이해한 것은 여러개의 디스크를 사용하여 안정성을 챙기는 것이다

 

사실 이렇게 말해도 처음 보는 사람은 잘 모를것이다

나도 단순하게 개념으로만 공부할 때는 이해가 잘 안됐지만, 일을 하면서 직접 보고 좀 더 이해하게 되었다

 

여러 개의 물리 디스크를 하나의 논리 디스크처럼 묶어서 사용하는 기술

 

물론 단일 RAID도 있긴하다

 

목적은 크게 두가지다

첫 번째는 성능 향상이고, 두번째는 장애 대비이다

 

여러 디스크에 데이터를 나눠서 쓰거나 읽어서 속도를 높일 수 있고, 디스크 하나가 고장나도 데이터를 지킬 수 있다. 

백업을 해주는 기술은 아니다 

디스크의 장애에 대비한 가용성을 확보해주는 것이지, 랜섬웨어나 파일 삭제같은 일까지 해결해주지는 않는다.

 

물리 디스크, 논리 디스크

RAID의 이해를 위해서는 먼저 물리 디스크와 논리 디스크의 차이를 알아야 한다

  • 물리 디스크 (Physical Drive)
    • 서버에 실제로 장착된 디스크
    • 디스크 0번, 1번, 2번 슬롯 등에 각각 장착된 실제 디스크들을 의미한다
    • 보통 디스크 몇개냐고 물어보면 말하는 개수일 것이다
  • 논리 디크스 (Virtual Drive)
    • 여러 개의 물리 디스크를 RAID로 묶어주는 기술
    • 1테라짜리 디스크 2개를 RAID 1로 묶으면 물리 디스크는 2개지만, OS 내부에서 봤을 때는 하나의 디스크처럼 보인다
    • 리눅스에서 보통 fdisk -l 명령어를 통하여 /dev/sda, /dev/sdb 와 같은 형태로 보곤 한다

 

DG, VD

이 녀석들도 알아야 한다

사실 아직도 헷갈린다

 

  • DG (Drive Group)
    • 물리 디스크를 묶은 그룹이다
    • 디스크 2개를 RAID 1 로 묶으면 그 두개의 디스크 묶음이 1개의 DG 가 된다 
    • DG 0 = Disk 0 + Disk 1
  • VD (Virtual Drive)
    • DG 위에 만들어진 논리 디스크 
    • OS 는 VD를 실제 디스크처럼 인식한다
    • 다시 말해 디스크 2개가 들어가 있는 DG 위에 VD 1개가 만들어졌다면, OS 는 하나의 디스크로 인식한다는 의미다
    • VD 0 = DG 0  = Disk 0 + Disk 1
    • OS에서는 위에서 말한 /dev/sda 하나로 보일 것이다. (물론 리눅스 한정, 윈도우는 C 드라이브 로 보일듯)

 

SW인가 HW인가

그럼 이 RAID 라는 기술은 SW로 구현될까, HW로 구현될까?

정답은 둘 다이다

 

RAID 컨트롤러 라는 하드웨어를 통해 구현될 수도 있고, mdadm 이라는 방식으로 소프트웨어로 구현될 수도 있다

나는 일할때 HW 적으로 구성하기에 mdadm 방식은 잘 모른다

 

  • RAID 컨트롤러
    • 서버에 별도의 RAID 컨트롤러 카드가 있거나, 메인보드에 내장된 RAID 컨트롤러가 구성해주는 방식이다
    • OS 는 RAID 내부 구조를 자세히 알지 못하고, 컨트롤러가 만든 논리 디스크만 바라본다
    • Dell PERC H330, H730, H740 / HPE Smart Array / Lenovo RAID Controller / LSI MegaRAID 같은 컨트롤러들이 있다
    • RAID 컨트롤러의 역사는 후술하겠다
    • 장점
      • OS 독립적 관리 가능
      • 서버 부팅 디스크 구성에 많이 사용
      • 장애 발생 시 관리 도구에서 상태 확인 가능
    • 단점
      • 컨트롤러 의존성
      • 컨트롤러 장애 시 복구 어려울 수 있음
    • 아래의 사진이 RAID 컨트롤러 이다.
      • RAID 컨트롤러 에서 나온 케이블이 서버의 백플레인과 연결되어 논리적 디스크 구성을 할 수 있도록 도와준다

RAID 컨트롤러 (Dell Perc H740)

 

 

  • mdadm
    • OS가 직접 RAID 를 관리하는 방식
    • 물리 디스크들이 OS의 RAID 기능을 사용하여 논리적으로 구성한다
    • 장점
      • RAID 컨트롤러가 없어도 됨
      • 하드웨어 의존성 낮음
      • 비용 적음
    • 단점
      • OS 가 관리 담당
      • 부팅 디스크 구성 주의 필요
    • 사실 이건 거의 안써봐서 잘 모른다

 

RAID 레벨

RAID에는 여러 레벨들이 있는데, 그 중 자주 쓰는 0, 1, 5, 10 레벨에 대해서 알아보자.

지금까지 수십번의 서버 설치를 진행하면서 이것 외에는 보지 못했다

 

RAID 0

  • Striping 이라고 불림
  • 데이터를 여러 디스크에 나눠서 저장
  • 디스크가 2개 존재할 때, 돌아가면서 저장
  • 한 개의 데이터는 한 개의 디스크에만 들어가있기 때문에, 디스크가 하나라도 고장나면 데이터가 손상됨
  • 디스크들의 용량을 온전히 사용할 수 있음 -> 당연한 말 같겠지만, 다른 레벨들은 아님
  • 성능이 중요하지만 데이터 보존이 덜 중요한 경우

 

RAID 1

  • Mirroring 이라고 불림
  • 같은 데이터를 두 개 이상의 디스크에 똑같이 저장하는 방식
  • 여러 개의 디스크에 같은 데이터가 저장되기 때문에, 하나의 디스크가 고장 나도 다른 디스크로 데이터 유지 가능
  • 나눠서 저장해야 하기 때문에 최소 2개의 디스크가 필요함
  • 하지만 같은 정보를 2개의 디스크에 똑같이 저장하기 때문에 용량 효율은 50%
  • 동일 데이터 중복 저장으로 안정성을 챙길 수 있음

 

RAID 5

  • 데이터를 여러 디스크에 나눠서 저장하면서 장애 복구를 위한 패리티 정보도 함께 저장
  • 패리티 : 디스크 하나가 고장 났을 때 데이터를 계산해서 복구하기 위한 정보
  • 디스크 하나가 고장나도 데이터 유지 가능
  • 디스크 한개는 패티리 영역으로 사용되기 때문에 (총 디스크의 수 - 1) 개의 용량효율을 가짐
  • 용량 효율과 안정성을 적당히 챙기고 싶을 때 사용
  • 패리티 계산으로 인하여 쓰기 성능이 좀 떨어질 수 있음.
  • 디스크 장애가 나면 리빌드 를 할 수 있음

 

RAID 10

  • 숫자 10으로 볼 수 있겠지만, RAID 1 + RAID 0 을 붙인 형태이다
  • 디스크를 미러링으로 묶고, 그 그룹들을 스트라이핑
  • 다시 말해, 같은 데이터를 갖는 디스크는 2개인데, 그걸 각 그룹에 따로 저장한다는 의미다
  • 그래서 최소 4개의 디스크가 필요함
  • 각 그룹마다 한개씩은 장애가 나도 복구할 수 있다
  • 미러링 으로 인하여 용량 효율은 50%

 

RAID 상태

아주 헷갈린다

RAID 까지는 면접 준비 겉핥기하면서 들어봤는데 상태까지는 실무 가서 배웠다

 

  • Online
    • 디스크가 RAID 구성에 포함돼서 정상 동작 중인 상태
    • RAID 툴로 보면 보통 이게 떠있다
PD LIST :  
=======

-------------------------------------------------------------------------------------  
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model                   Sp Type  
-------------------------------------------------------------------------------------  
21:0     29 Onln   4 475.905 GB SATA SSD N   N  512B ADATA SU650             U  -  
21:1     28 Onln   3 930.390 GB SATA SSD N   N  512B WDC  WDS100T2B0A-00SM50 U  -  
21:2     27 Onln   2 231.898 GB SATA SSD N   N  512B WDC  WDS250G2B0A-00SM50 U  -

-> 이런식으로 되어 있는 것을 볼 수 있음

  • UGood
    • Unconfigured Good
    • RAID 에 아직 포함되지는 않았지만, 정상인 디스크
    • 새로운 디스크 추가하면 보통 이 상태이다
  • Ubad
    • Unconfigured Bad
    • RAID 에 포함되지 않은 디스크가 비정상
    • 이전 RAID 정보가 남아있거나, 디스크에 오류가 있거나 하는 경우에 나타날 수 있다
  • Foreign
    • 말 그대로 이전에 사용된 정보가 남아있는 디스크. 외래종으로 인식하는 경우
    • 이 경우, 이 상태를 해결하기 위한 툴을 사용하곤 했다 -> Clear Foreign 이런거 했었음
  • JBOD
    • Just a Bunch Of Disks
    • 디스크를 RAID 로 묶지 않고, 각각의 디스크를 OS에 그대로 노출
    • RAID 컨트롤러를 사용해도 안묶고 개별 디스크로 보여줌
  • Missing
    • RAID 구성에 포함되어 있던 디스크가 사라짐
    • 디스크를 뺀적이 없는데 이런다 -> 비상
    • 보통 디스크를 빼는 경우 뜬다
  • Degraded
    • RAID 가 정상은 아니지만 동작은 가능
    • RAID 1 에서 하나의 디스크가 깨졌을 경우 -> 미러링으로 인하여 서비스 정상 동작은 가능
    • 하지만 나머지 하나의 디스크마저 장애가 날 경우 큰일
  • Rebuild
    • 고장 난 디스크를 교체하고, 남아 있는 정상 디스크의 데이터를 새로운 디스크에 옮기고 있는 상태
    • 리빌드 중에는 디스크 부하가 커질 수 있고, 성능 저하
    • RAID 0 에서는 당연히 불가능하다
  • Hot Spare
    • 장애 발생 시 자동으로 투입되도록 대기하는 예비 디스크
    • RAID 1 에서 하나의 디스크가 고장이 날 경우, 자동으로 투입되어 리빌드 가 시작될 수 있음

 

이러한 상태들은 각각의 툴의 명령어나, 부팅시에 BIOS 에서 볼 수 있다

 

 

 

RAID Controller 의 역사

재미있는 역사시간이다

간단하게만 짚고 넘어가자

 

  • AMI MegaRAID
  • 2001년 LSI가 AMI RAID 사업부/MegaRAID IP를 인수
  • LSI MegaRAID
  • 2014년 Avago가 LSI 인수
  • Avago / LSI MegaRAID
  • Avago가 Broadcom 인수 후 Broadcom 이름 사용
  • Broadcom MegaRAID

 

 전신은 LSI이고 이후 MegaRAID가 나왔음

여기서 Perccli와 storcli 등장 -> Lenovo 서버 등에서 사용

HP 서버는 아예 다른 RAID 체계를 사용해서 MegaRAID 기반의 서버에서 사용하던 디스크를 끼우면 RAID가 깨질 수 있음

같은 MegaRAID 기반의 RAID 컨트롤러의 경우에는 그대로 정보가 넘어갈 가능성이 높음

 

 

보통 RAID 컨트롤러 툴은 /opt 에서 탭탭하다보면 나온다

다른곳은 아닐수도 있지만

 

 

 

마무리

사실 이건 실무에서 머리 깨지면서 배우는게 가장 이해가 빠르고 잘 들어온다

'시스템, 인프라' 카테고리의 다른 글

IP (Internet Protocol)  (0) 2026.06.14
fstab  (1) 2026.06.03
DNS  (0) 2026.05.24
SSL/TLS  (2) 2026.05.11
서버 디스크 추가  (1) 2026.05.02
'시스템, 인프라' 카테고리의 다른 글
  • IP (Internet Protocol)
  • fstab
  • DNS
  • SSL/TLS
나는 허준기
나는 허준기
  • 나는 허준기
    공부
    나는 허준기
  • 전체
    오늘
    어제
    • 분류 전체보기 (16)
      • 자바 공부 (2)
      • 알고리즘 공부 (1)
      • 일기 (0)
      • Git (2)
      • 클라우드 (3)
      • 시스템, 인프라 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Naver Cloud
    TLS
    fstab
    RAID
    DNS
    NCP
    IP
    IaC
    로드밸런싱
    클라우드
    terraform
    inode
    SSL
    네이버클라우드
    최대힙
    힙정렬
    apache
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
나는 허준기
RAID
상단으로

티스토리툴바