MegaRAID Storage Manager RAID 6 설정 방법

본 글에서는 LSI 2108 컨트롤러와 MegaRAID Storage Manager(MSM)를 이용해 RAID 6 가상 드라이브를 생성하는 방법을 살펴본다. 4TB급 SATA 디스크 16개를 사용하는 예제로, 디스크 선택과 드라이브 그룹 구성부터 스트라이프 크기·캐시 정책 설정, 생성 결과 확인과 초기화까지 단계별로 설명한다. Always Write Back 경고와 각 설정 항목의 의미도 함께 살펴보겠다.

AVAGO (LSI) MegaRAID 소개

업무용 RAID 컨트롤러 시장에서 LSI의 MegaRAID는 오랫동안 사실상의 표준으로 자리 잡아 왔다. RAID 컨트롤러를 판매하는 브랜드는 많지만, 그 안을 들여다보면 LSI 계열의 칩셋을 사용하는 제품을 흔히 볼 수 있다. Dell, HPE, Supermicro, Lenovo, Intel을 비롯한 많은 제조사들이 OEM 형태로 LSI/AVAGO 칩셋을 사용한다.

이러한 영향력은 오랜 기술 통합의 역사에서 시작된다. LSI는 Mylex를 IBM으로부터 인수했고, 이후 SATA RAID 시장의 강자였던 3ware의 사업을 인수해 스토리지 제품군을 확대했다.

이후 Avago Technologies가 LSI를 인수했고, 다시 Broadcom을 인수한 뒤 이름을 Broadcom으로 통합해 현재에 이르게 되었다. 때문에 구형 장비와 관리 프로그램에서는 LSI나 AVAGO라는 이름을, 최근 제품에서는 Broadcom이라는 이름을 볼 수 있다. (그리고 본 필자는 3ware도 아직도 보고 있다.)

결과적으로 오늘날의 Broadcom은 오랜 기간 RAID 컨트롤러 시장을 지배해 온 강자들의 사업과 기술을 이어받은 회사인 셈이다.

여기서 제품 번호를 볼 때는 컨트롤러 칩셋과 RAID 카드의 제품군을 구분해야 한다. 비슷한 번호가 붙어 있더라도 모두 같은 종류의 RAID 컨트롤러는 아니다.

  • LSI SAS2108 / SAS2208 (6Gb/s SAS): 하드웨어 RAID 처리를 담당하는 RAID-on-Chip(ROC) 칩셋
  • LSI SAS3108 / SAS3908 (12Gb/s SAS): 12Gb/s SAS를 지원하는 하드웨어 RAID 칩셋
  • LSI SAS2308 / SAS3008 (HBA 계열): 디스크를 운영체제에 직접 연결해 사용하는 HBA에 주로 쓰이는 입출력 컨트롤러
  • MegaRAID 9400 / 9500 / 9600 시리즈 (Tri-Mode): SAS, SATA, NVMe 저장장치를 지원하는 RAID 어댑터 제품군

MegaRAID 기반의 제품들은 외형이나 브랜드가 다르더라도 공통된 MegaRAID 펌웨어 아키텍처를 바탕으로 동작한다. 구성과 상태 확인에는 MegaRAID Storage Manager(MSM), StorCLI, LSI Storage Authority(LSA) 등을 사용한다.

결국 AVAGO MSM의 사용법을 이해한다는 것은 특정 서버 브랜드에 종속되지 않는 스토리지 분야의 만국 공통어를 습득하는 것과 같다. 디스크를 드라이브 그룹으로 묶고, 가상 드라이브를 생성하고, RAID 레벨과 캐시 정책을 지정하는 기본적인 흐름을 익혀 두면, 다른 제조사의 MegaRAID 기반 OEM 컨트롤러를 만나더라도 훨씬 수월하게 다룰 수 있다.

LSI 2108 MegaRAID Storage Manager RAID 6 구성 절차

하드웨어 RAID 컨트롤러인 LSI 2108 MegaRAID와 관리 프로그램인 MegaRAID Storage Manager(이하 MSM)를 이용해 RAID 6 볼륨을 생성하는 과정을 살펴보겠다. 예제 환경은 4TB급 SATA 디스크 16개가 장착된 윈도우 시스템이며, 하나의 대용량 RAID 6 가상 드라이브(Virtual Drive)를 만든다.

Step 1. 가상 드라이브 생성 마법사 시작

  1. MSM을 실행하고 사용할 컨트롤러를 선택한다.
  2. 대시보드에서 디스크 수와 구성 상태를 확인한다. 본 예제에서는 디스크 16개가 연결되어 있고, 가상 드라이브는 아직 없는 상태다.
  3. 오른쪽 Actions 영역에서 Create virtual drive 링크를 클릭한다.
디스크 16개와 미구성 용량 58.208TB, 가상 드라이브 0개가 표시된 MSM 대시보드
MSM 대시보드

Usage 영역의 파이 차트가 모두 Unconfigured Capacity로 표시되어 있다면, 표시된 용량이 아직 가상 드라이브에 할당되지 않은 상태다. 이제 이 디스크들을 묶어 보도록 하자.

Step 2. Advanced 모드 선택

마법사가 시작되면 가상 드라이브 생성 방식을 선택하는 화면이 나온다. Simple 모드는 최소한의 옵션만으로 RAID 볼륨을 설정할 수 있지만, 본 글에서는 설정을 세밀하게 조정할 수 있는 Advanced 모드를 사용한다.

  1. Advanced를 선택한다.
  2. Next 버튼을 클릭한다.
가상 드라이브 생성 방식 중 Advanced가 선택된 MSM 화면
Advanced 모드를 선택

Step 3. RAID 레벨 선택

다음 화면에서는 드라이브 그룹(Drive Group)에 사용할 RAID 레벨과 보안 옵션을 선택한다. RAID level의 드롭다운 메뉴를 열면 사용할 수 있는 RAID 레벨 목록이 표시된다.

RAID 레벨 드롭다운을 펼쳐 RAID 0·1·5·6과 스팬 구성 목록을 표시한 화면
RAID 레벨 선택
  • RAID 0 — 성능 위주 스트라이핑
  • RAID 1 — 두 디스크 미러링
  • RAID 5 — 단일 패리티, 디스크 한 개 고장 허용
  • RAID 6 — 이중 패리티, 디스크 두 개 고장 허용
  • RAID 10 — RAID 1 미러 그룹을 스트라이핑한 구성
  • RAID 50 — RAID 5 그룹을 스트라이핑한 구성
  • RAID 60 — RAID 6 그룹을 스트라이핑한 구성

이번 예제에서는 디스크 두 개까지의 고장을 버틸 수 있는 RAID 6을 선택한다. RAID level에서 RAID 6을 선택한 뒤 아래의 디스크 목록으로 이동한다.

RAID 레벨에 대한 기본적인 사항은 인텔 RSTe 설정 방법과 특징의 ‘RAID란 무엇인가?’ 문단을 참고하기 바란다.

Step 4. 사용할 디스크 선택

하단의 Select unconfigured drives 영역에는 아직 구성에 할당되지 않은 디스크가 표시된다. RAID 6은 최소 네 개의 디스크가 필요하며, 본 예제에서는 연결된 디스크 16개를 모두 사용한다.

  1. RAID 6에 사용할 디스크를 드래그하거나 Ctrl 키를 누른 상태에서 클릭해 선택한다.
  2. 모든 디스크를 한 번에 선택하려면 디스크 목록에 포커스를 둔 상태에서 Ctrl + A를 누른다.
  3. 선택한 디스크의 수와 용량을 확인한다.
RAID 6을 선택하고 왼쪽 미구성 SATA 디스크 목록을 선택한 화면
사용할 디스크 선택

Step 5. 디스크를 Drive Group에 추가

  1. 사용할 디스크를 선택한 상태에서 가운데의 Add >> 버튼을 클릭한다.
  2. 선택한 디스크가 오른쪽 Drive groups 영역의 Drive Group0 아래에 추가되었는지 확인한다.
선택한 디스크가 오른쪽 Drive Group0에 추가되고 Create Drive Group 버튼이 활성화된 화면
선택한 디스크를 Drive Group0에 추가

본 예제처럼 디스크를 모두 사용했다면 왼쪽 목록은 비어 있고, 오른쪽 그룹에 모든 디스크가 포함되어 있어야 한다. 원하는 디스크가 모두 들어갔다면 다음 단계로 진행한다.

Step 6. Drive Group 생성

  1. Create Drive Group 버튼을 클릭한다.
  2. 오른쪽에 생성된 Drive Group0의 RAID 레벨과 용량을 확인한다. 본 예제에서는 RAID 6과 약 50.932TB가 표시된다.
  3. Next 버튼을 클릭한다.
RAID 6 드라이브 그룹과 50.932TB 용량이 표시되고 Next 버튼이 활성화된 화면
드라이브 그룹 생성 완료

이것으로 디스크를 묶는 작업은 끝났다. 이제 이 드라이브 그룹 위에 운영체제에서 사용할 가상 드라이브를 만든다.

Step 7. 가상 드라이브 설정 항목 확인

다음은 가상 드라이브의 세부 설정 화면이다. 이름, 용량, 초기화 방식, 스트라이프 크기와 캐시 정책 등을 지정할 수 있으며, RAID 볼륨의 성능은 이곳의 설정에 영향을 받는다.

가상 드라이브 이름 VD_0과 초기화 방식, Strip size, 읽기·쓰기 및 디스크 캐시 정책을 표시한 화면
가상 드라이브의 세부 설정 항목
Virtual drive name
가상 드라이브의 이름을 지정한다. 기본값은 VD_0이나, 용도에 따라 RaidVol6처럼 의미 있는 이름을 사용하는 것이 좋다.
Capacity
가상 드라이브에 할당할 용량을 지정한다. 기본적으로 드라이브 그룹의 사용 가능한 용량이 표시되며, 필요하면 일부만 할당해 여러 가상 드라이브로 나눌 수도 있다.
Initialization state
초기화 방법을 선택한다. Full Initialization은 가상 드라이브 전체를 초기화하므로 시간이 오래 걸린다. No Initialization은 생성 시 초기화를 수행하지 않는 선택지이며, 기존 데이터를 안전하게 보존한다는 뜻은 아니다.
Strip size
데이터를 디스크 사이에 나누어 기록하는 단위 크기다. 본 예제에서는 대용량 순차 I/O를 고려해 1MB를 사용한다. 파일시스템의 클러스터 크기와는 별개의 설정이다.
Read policy
Always Read Ahead는 이후에 읽을 것으로 예상되는 데이터를 미리 읽어 캐시에 보관한다. 순차 읽기 작업에 활용하는 설정이다.
Write policy
Always Write Back은 쓰기 데이터를 컨트롤러 캐시에 먼저 받아 처리한다. BBU가 없거나 고장·방전된 상태에서도 Write Back을 유지하므로, 캐시에 남은 데이터를 보호하지 못하는 상태에서 전원이 끊기면 데이터가 유실될 수 있다.
I/O policy
가상 드라이브의 읽기 요청을 캐시에서 처리하는 방식을 지정한다. Cached I/O는 읽기 데이터를 캐시에 버퍼링한다. 쓰기 캐시의 사용 여부는 앞의 Write policy에서 별도로 정한다.
Access policy
Read Write로 설정하면 읽기와 쓰기를 모두 허용한다.
Disk cache policy
개별 디스크의 내부 캐시 사용 정책을 지정한다. 안정성이 중요하다면 Disabled, 성능이 우선이라면 Enabled를 사용할 수 있다.

이 중 Disk cache policy, I/O policy, Write policy, Read policy는 RAID 볼륨의 I/O 성능에 영향을 준다. 캐시와 선행 읽기를 사용하지 않는 구성에서는 데이터 처리 속도가 수 MB/s까지 떨어질 수 있고, 적극적으로 사용하는 구성에서는 1000MB/s 이상으로 올라가기도 한다. 사용자의 환경과 목적에 따라 적절한 값을 설정해 주어야 한다.

Step 8. 가상 드라이브 설정과 추가

본 예제에서는 대용량 파일 처리를 고려해 다음과 같이 설정했다.

가상 드라이브 이름
RaidVol6
용량
사용 가능한 전체 용량인 약 50.932TB
초기화 방식
Full Initialization
Strip size
1MB
읽기 정책
Always Read Ahead
쓰기 정책
Always Write Back
I/O 정책
Cached I/O
접근 정책
Read Write
디스크 캐시 정책
Enabled
RaidVol6에 Full Initialization, Strip size 1MB, Always Write Back과 디스크 캐시 Enabled를 설정한 화면
가상 드라이브의 초기화·캐시 설정

설정값을 모두 확인한 뒤 하단의 Create Virtual Drive 버튼을 클릭한다. 이 단계에서는 마법사에 가상 드라이브 정의를 추가하며, 실제 생성은 뒤의 Summary 화면에서 최종 확정한다.

Step 9. Always Write Back 경고 확인

쓰기 정책을 Always Write Back으로 선택하면 아래와 같은 경고가 나타날 수 있다. 캐시 배터리가 없거나 고장·방전된 상태에서 전원이 끊기면 데이터가 손실될 수 있다는 내용이다.

Always Write Back 사용 시 배터리 부재·고장·방전과 전원 장애로 인한 데이터 손실을 경고하는 창
Always Write Back 사용 경고

시스템의 BBU와 전원 인프라를 확인하고 이 정책을 사용하기로 했다면 예(Y)를 눌러 진행한다. 그렇지 않다면 아니요(N)를 선택하고 쓰기 정책을 변경한다. 캐시 보호 상태에 따라 동작하는 Write Back이나 캐시에만 데이터를 남기지 않는 Write Through를 검토할 수 있다.

이 경고는 그냥 귀찮게 뜨는 확인 창이 아니다. Always Write Back은 캐시 보호에 문제가 생겨도 쓰기 캐시를 계속 사용한다는 점을 기억하고 선택해야 한다.

Step 10. 추가된 가상 드라이브 확인

가상 드라이브 정의를 추가하면 오른쪽 목록에 RaidVol6가 표시된다. 본 예제에서는 전체 용량을 할당했으므로 Available Capacity가 0 Bytes로 표시된다.

RaidVol6가 목록에 추가되고 Available Capacity가 0 Bytes로 표시된 가상 드라이브 설정 화면
가상 드라이브 정의를 추가한 뒤 남은 용량

일부 용량만 할당했다면 남은 공간에 다른 가상 드라이브를 추가할 수 있다. 본 예제에서는 더 추가할 것이 없으므로 Next 버튼을 눌러 다음 단계로 넘어간다.

Step 11. Summary 확인과 최종 생성

Summary 화면에서는 드라이브 그룹과 생성할 가상 드라이브의 요약 정보를 확인한다. 여기서 Finish를 누르면 실제 가상 드라이브가 생성되므로, 설정값을 다시 한 번 확인해 주자.

RAID 6, 디스크 16개, RaidVol6와 용량 50.932TB를 표시한 생성 전 Summary 화면
RAID 6 생성 전 구성 요약
  • RAID Level이 RAID 6인지 확인한다.
  • Number of drives used가 본 예제의 디스크 수인 16인지 확인한다.
  • 가상 드라이브 이름이 RaidVol6인지 확인한다.
  • Capacity가 의도한 용량과 일치하는지 확인한다.
  • 암호화와 핫스페어 설정이 의도한 값인지 확인한다. 본 예제에서는 No Encryption과 Hot Spare: No로 표시된다.

스트라이프 크기와 캐시 정책은 앞의 설정 화면에서 확인한다. 수정할 것이 있다면 Back으로 돌아가고, 문제가 없다면 Finish를 눌러준다.

Step 12. 생성 결과 확인과 초기화

정상적으로 생성되면 The virtual drives were successfully created.라는 완료 메시지가 나타난다. 확인 버튼을 눌러 창을 닫는다.

MSM의 Summary 화면 위에 가상 드라이브가 성공적으로 생성되었다는 완료 팝업이 표시된 모습
가상 드라이브 생성 성공

이후 MSM의 Logical 화면에서 Drive Group0 아래에 RaidVol6가 등록되었는지 확인한다. 가상 드라이브의 상태와 초기화 진행 상황도 함께 확인한다. 생성 성공 메시지가 나타났다고 해서 전체 초기화까지 끝난 것은 아니다.

초기화 작업에는 약 10시간 정도의 시간이 필요하다. MSM 대시보드의 Background Operations 영역에서 작업 진행 상황을 확인할 수 있다.

초기화 작업은 기본적으로 Foreground 상태로 진행된다. 사용자가 가상 디스크에 임의의 I/O를 가하거나 수동으로 설정해 주면 background 상태에서 초기화도 가능하지만, 가능하면 Foreground 상태에서 초기화가 완료될 때까지 끈기 있게 기다릴 것을 권장하는 바이다.

초기화 상태를 확인한 뒤 운영체제의 디스크 관리 도구에서 해당 가상 드라이브를 확인한다. 운영체제에서는 하나의 큰 디스크로 표시되므로, 파티션을 생성하고 파일시스템을 포맷해 실제 서비스에 사용하면 된다.

마무리

본 글에서는 LSI 2108 컨트롤러와 MegaRAID Storage Manager(MSM)를 이용해 RAID 6 가상 드라이브를 생성하는 과정을 살펴보았다. 디스크를 드라이브 그룹으로 묶고, 가상 드라이브와 캐시 정책을 설정하는 흐름을 익혀 두면 다른 MegaRAID 기반 OEM 컨트롤러도 한결 수월하게 다룰 수 있다.

다만 RAID 6이 디스크 두 개의 고장에 대비할 수 있다고 해서 데이터를 잃을 일이 없는 것은 아니다. RAID는 가용성을 높이는 기술이지, 백업을 대신하는 기술은 아니다. 평소 디스크와 볼륨의 상태를 살피고, 중요한 데이터는 반드시 별도의 백업본을 유지해야 한다.

이제 초기화가 완료되었는지 확인하고, 운영체제에서 파티션과 파일시스템을 만들어 사용하면 된다. 구성은 끝났으니, 남은 것은 잘 관리하며 사용하는 일이다.

FAQ

LSI, AVAGO, Broadcom의 MegaRAID는 서로 다른 제품인가?
인수와 회사 이름 변경으로 서로 다른 이름이 표시되는 것이다. 구형 장비와 관리 프로그램에서는 LSI나 AVAGO라는 이름을, 최근 제품에서는 Broadcom이라는 이름을 볼 수 있다. 다만 같은 MegaRAID 계열이라도 컨트롤러에 맞는 펌웨어와 관리 프로그램을 사용해야 한다.
MegaRAID Storage Manager(MSM)는 지금도 사용할 수 있는가?
지원하는 컨트롤러와 운영체제에서는 기존 MSM을 사용할 수 있다. 다만 추가 업데이트가 종료된 구형 관리 도구이며, 후속 도구로 LSI Storage Authority(LSA)가 제공된다. 본 글은 LSI 2108 컨트롤러와 기존 MSM 화면을 기준으로 설명한다.
RAID 6을 구성하려면 디스크가 몇 개 필요한가?
최소 네 개가 필요하다. 같은 용량의 디스크로 구성하면 디스크 두 개 분량을 패리티에 사용하고, 나머지 용량을 데이터 저장에 사용할 수 있다. 본 예제에서는 4TB급 디스크 16개를 사용한다.
Drive Group과 Virtual Drive는 무엇이 다른가?
Drive Group은 RAID 구성에 사용할 물리 디스크를 묶은 그룹이고, Virtual Drive는 그 그룹의 공간을 할당해 만든 가상 드라이브이다. 운영체제에서는 Virtual Drive를 하나의 디스크로 인식한다. 드라이브 그룹의 공간을 나누어 여러 가상 드라이브를 만들 수도 있다.
Create Virtual Drive를 누르면 바로 생성이 완료되는가?
본 글의 Advanced 마법사에서는 해당 버튼으로 가상 드라이브 정의를 목록에 추가한다. 이후 Next를 눌러 Summary 화면으로 이동하고, 설정을 확인한 뒤 Finish를 눌러야 실제 생성이 완료된다. 생성 성공 메시지가 나타나더라도 전체 초기화까지 끝난 것은 아니다.
Strip size는 파일시스템의 클러스터 크기와 같은 것인가?
아니다. Strip size는 RAID에서 데이터를 각 디스크에 나누어 기록하는 단위이고, 클러스터 크기는 파일시스템이 공간을 할당하는 단위이다. 본 예제에서는 Strip size를 1MB로 설정했지만, 모든 작업에서 이 값이 가장 빠르다는 뜻은 아니다.
Always Write Back 경고는 왜 나타나는가?
Always Write Back은 캐시 배터리가 없거나 고장·방전된 상태에서도 쓰기 캐시를 사용하기 때문이다. 캐시에 남아 있는 데이터를 보호하지 못하는 상태에서 전원이 끊기면 데이터가 유실될 수 있다. BBU와 전원 환경을 확인하고 선택해야 하며, 개별 디스크의 내부 캐시는 컨트롤러의 BBU와 별도로 생각해야 한다.
Full Initialization과 운영체제의 포맷은 같은 작업인가?
아니다. Full Initialization은 RAID 컨트롤러에서 가상 드라이브 전체를 초기화하는 작업이다. 운영체제의 파티션 생성과 파일시스템 포맷은 그 드라이브를 운영체제에서 사용할 수 있도록 준비하는 별개의 작업이다. 기존 데이터가 있는 가상 드라이브를 초기화하면 데이터가 손실되므로 대상을 확인해야 한다.
RAID 6을 사용하면 백업은 필요 없는가?
필요하다. RAID 6은 디스크 두 개까지의 고장에 대비하는 기술이지, 잘못 삭제하거나 덮어쓴 파일을 되돌리는 기술은 아니다. 더 많은 디스크가 고장 나거나 다른 문제가 발생하면 데이터를 잃을 수 있으므로, 중요한 데이터는 반드시 별도의 백업본을 유지해야 한다.

갱신 내역

  • — 최초 게시
  • — 수정 및 주소 이전 (https://www.EQMaker.kr/)