메가레이드 MegaCli 명령어로 RAID 설정 방법

| 2019년 12월 1일 | 0 Comments

1. 레이드 명령어 설정시 필요한 프로그램


1) megaclisas-status : 메가레이드의 상태 확인 프로그램

1. 파이썬을 설치한다. 이 프로그램은 파이썬으로 제작되어있기 때문이다. 
sudo apt-get install -y python 

2. 프로그램 제작자의 Git에서 소스코드를 다운받는다.
wget https://raw.githubusercontent.com/ElCoyote27/hwraid/master/wrapper-scripts/megaclisas-status

3. 리눅스의 터미널에서 명령어로 사용할수 있도록 /bin으로 보낸다.
chmod 755 megaclisas-status
mv megaclisas-status /bin

 

2) MegaCli : CLI 환경에서 사용하는 명령어 프로그램

① Ubuntu

1. rpm을 deb 파일로 변환시켜주는 alien과 zip 파일을 압축 해제할수있는 unzip를 설치한다. 
sudo apt-get install -y alien unzip

2. MegaCli를 다운로드 받는다. 공식홈페이지의 다운링크는 언제나 바뀔수있다. 다운로드가
    안되면 파일명을
구글링 해서 다운로드 받으면 된다.

wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip

3. 설치를 진행한다.
unzip /usr/local/src/8-07-14_MegaCLI.zip
cd /usr/local/src/Linux
alien MegaCli-8.07.14-1.noarch.rpm
sudo dpkg –install megacli_8.07.14-2_all.deb

4. 리눅스의 터미널에서 명령어로 사용할수 있도록 /bin으로 보낸다.
ln -s /opt/MegaRAID/MegaCli/MegaCli64 /bin/MegaCli 

② Fedora or CentOS

1. zip 파일을 압축 해제할수있는 unzip를 설치한다.
sudo yum install -y alien unzip

2. MegaCli를 다운로드 받는다. 공식홈페이지의 다운링크는 언제나 바뀔수있다. 다운로드가
    안되면 파일명을 
구글링 해서 다운로드 받으면 된다.
wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip

3. 설치를 진행한다.
unzip /usr/local/src/8-07-14_MegaCLI.zip
cd /usr/local/src/Linux
rpm -ivh megacli_8.07.14-2_all.deb

4. 리눅스의 터미널에서 명령어로 사용할수 있도록 /bin으로 보낸다.
ln -s /opt/MegaRAID/MegaCli/MegaCli64 /bin/MegaCli

 

2. GUI 환경과 CLI 환경

0.jpg 

GUI 환경인 WebBIOS, MegaRAID Storage Manager은 대부분의 사용자들이 간편하게 사용하고
있다.  
하지만 사용하다보면  불편한 사항을 발견할수 있다.

WebBIOS : 서버를 리부팅후에 접근해야한다. 키보드가 정상작동 하지 않으면 바로 OS로
                     넘어가는경우도 있다.    

MegaRAID Storage Manager : 같은 네트워크 대역이 아닌 경우 접속이 느리며 서버와
                                                   클라이언트의 펌웨어
버전이 다르면 접속이 안될수도 있다.

 

 1.png

MegaCli은 CLI 환경으로 WebBIOS, MegaRAID Storage Manager에 접근하지 않고 레이드를
빠르게 셋팅하거나
상태를 확인할수 있다. 하지만 아래와 같은 주의 사항이 있다.


※ 주의

WebBIOS, MegaRAID Storage Manager와는 달리 단계를 거쳐 작업을 진행하지 않기 때문에 
명령어를 사용하게
되면 바로 적용된다. 사용에 따라서는 데이터 망실등의 문제가 있을수 있으니
주의해야한다.     

 

3. MegaCli 명령어로 레이드 설정

2.png

megaclisas-status는 옵션을 복잡하게 넣어서 상태를 확인해야하는 MegaCli와는 달리 상태값을 한번
에 확인할수 있어
편리하다. MegaCli로 레이드를 설정할때 어떤 걸로 하느냐에 따라 사용해야할 명령
어가 틀리다. 밑에서 적은 내용은 
MegaCli  -h에서 가져온 내용으로  메뉴얼이나 구글링을 하지 않으면
어떻게 진행해야할지 혼동이 올수있다.

 

1) 레이드 0, 1, 5 설정 명령어

MegaCli -CfgLdAdd -rX[E0:S0,E1:S1,…] [WT|WB] [NORA|RA] [Direct|Cached]
        [CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY …]]
        [-strpszM] [-Hsp[E0:S0,…]] [-AfterLdX] | [FDE|CtrlBased]  
        [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force]-aN 


2) 레이드 10 설정 명령어

MegaCli -CfgSpanAdd -r10 -Array0[E0:S0,E1:S1] -Array1[E0:S0,E1:S1] [-ArrayX[E0:S0,E1:S1] …] 
        [WT|WB] [NORA|RA] [Direct|Cached] [CachedBadBBU|NoCachedBadBBU]
        [-szXXX[-szYYY …]][-strpszM][-AfterLdX]| [FDE|CtrlBased] 
        [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force] -aN  


3) 레이드 설정 변경 명령어

MegaCli -LDSetProp  {-Name LdNamestring} | -RW|RO|Blocked|RemoveBlocked | WT|WB|ForcedWB [-Immediate] |RA|NORA | DsblPI
        | Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU
        -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL  

 

3.png

 
 
여기서는 레이드 10을 설정한다. 설정시 옵션을 같이 넣어서 설정할수 있지만 레이드카드와 디스크의
환경에 따라 사
용이 가능한것이 있고 불가능한것이 있어 별도로 분리해서 설명한다.
 

1) 레이드 0, 1, 5 설정 예시

MegaCli -CfgLdAdd -r0 [252:0,252:1,252:2,252:3,252:4,252:5,252:6,252:7] -a0    

1. -CfgLdAdd : 레이드 0. 1. 5 등을 셋팅하는데 사용한다.
2. -r0 : 레이드를 0으로 잡겠다는것이다. 1이나 5로 할 경우 -r1 또는 -r5를 적는다.
3. 252:0 : Slot ID의 0번 디스크를 사용하겠다는 뜻이다. 위의 내용대로면 0부터 7번 디스크까지
                  레이드 0으로 설정된다.

2) 레이드 10 설정 예시

MegaCli -CfgSpanAdd -r10 -Array0[252:0,252:1] -Array1[252:2,252:3] -Array2[252:4,252:5] -Array3[252:6,252:7] -a0

1. -CfgSpanAdd : 레이드 10을 셋팅하는데 사용한다.
2. -r10 : 레이드를 10으로 잡겠다는것이다.
3. -Array0[252:0,252:1] : Slot ID의 0번과 1번 디스크를 배열로 묶는다. 위의 내용대로면 0부터
                                         7번 디스크가
4개의 배열로 묶여 레이드 10으로 설정된다. 

3) 레이드 삭제 명령어 (기존 데이터가 모두 삭제 된다.)

MegaCli -CfgLdDel -LAll -aAll 

 

4.JPG 


레이드 10을 명령어로 만들면 기본적인 옵션으로 레이드가 구성된다. 이대로 사용해도 문제는 없지만
옵션을 변경하는
방법은 아래와 같다.


1) 레이드 옵션 변경 명령어

MegaCli -LDSetProp  {-Name LdNamestring} | -RW|RO|Blocked|RemoveBlocked | WT|WB|ForcedWB [-Immediate] |RA|NORA | DsblP I 
       | Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU
         -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL

 

5.png


레이드 옵션 명령어를 사용시 다수의 옵션을 사용하면 토큰 에러가 발생한다. 다수의 옵션을 써야하는경우 아래와 같이 따로 사용해야한다.


1) 레이드 옵션 변경시 개인적으로 쓰는 설정

MegaCli -LDSetProp -DisDskCache -L0 -a0 
MegaCli -LDSetProp WT -L0 -a0
MegaCli -LDSetProp RA -L0 -a0
MegaCli -LDSetProp Direct -L0 -a0
MegaCli -LDSetProp -name RAID_DISK -L0 -a0

 

6.JPG 


명령어를 사용하면 옵션이 변경된것을 확인할수 있다.

7.jpg 


MegaCli 명령어로 레이드를 셋팅하고 옵션을 변경하는 방법에 대해 정리했다. MegaCli는 MegaRAID
Storage Manager 보다 빠르지만 알아둬야 할 사항도 많고 명령어가 바로 적용이 되기 때문에 한번의
실수가 데이터 망실로
이어지는 것을 염두해야한다.

Category: LINUX

About the Author ()