Raid 구성
레이드 5 구성
리눅스 스토리지 매니저에서 레이드 5를 구성해 보도록 하겠습니다.
일단 스토리지 매니저에서 raid 서버에 접속을 하여 create virtual drive를 클릭합니다.
Advanced를 선택하신후 Next를 클릭합니다.
아래 화면처럼 레벨은 RAID 5 구성한뒤 디스크를 전부 선택하여 Add를 눌러 Drive Group0에
추가하여 준 뒤 Create Drive Group를 눌러 그룹을 생성하여 다음으로 넘어갑니다.
가상 디스크를 잡는 화면입니다. Create Virtual Drive를 누른뒤 다시쓰겠냐는 경고창이 나오면 yes를 클릭후
다음으로 넘어갑니다
다음으로 넘어가면 아래처럼 레이드 5 로 구성된것을 확인 할 수 있습니다. Finish를 누른뒤
가상드라이브가 성공적으로 생성되었다는 창이 나옵니다. OK를 눌러 창을 닫습니다.
이제 Logical 화면에 들어가면 아래와같이 레이드 5 로 구성된것을 확인 할 수 있습니다.
1-3.레이드 50 구성
리눅스상에서 cli명령어로 레이드 50을 구성해보도록 하겠습니다
일단 Cli명령어로 아래와같이 옵션을 주어 Enclosure 번호와 Device ID 를 확인 합니다.
-Encinfo(레이드카드 정보확인)
-aALL(모든카드를 확인 a숫자로 쓸경우 해당 숫자의 레이드카드 만 확인)
가상디스크의 정보확인 명령어를 아래와같이 내립니다 현재 레이드가 잡혀있지않는 상태라
아래와같이 에러가 나오는 상황입니다.
후에 실제 디스크의 정보를 확인합니다. 물리적인 디스크를 확인할때
Enclosure 번호와 Slot번호를 잘 기억해 두어야 합니다. -PDList (물리적인 디스크 정보 확인 )
물리적인 디스크 를 원하는 번호만 보고싶다면
(mcli -PDinfo -PhysDrv [Enclosure 번호:Slot번호] -aALL으로 확인 할 수 있습니다.)
이제 필요한 정보가 확인이 다 되었으니 아래 명령어로 레이드 50을 구성합니다.
-r 옵션에서 -r50으로 구성하면됩니다.
(단 10과 50을 구성할때는 CfgSpanAdd 명령어를 사용하지만 , 그렇지않을경우 CfgLdAdd로 사용합니다.)
명령어 옵션 : mcli -CfgSpanAdd -r”레이드모드” -Array0 [ Enclosure 번호:Slot번호,E:S,E:S] -a”어댑터 넘버”
이제 레이드 생성후 가상디스크 정보를 확인해보면 아래와같이 레이드 50이 생성된것을 확인 할 수 있습니다.
Raid 리빌딩
레이드 5 리빌딩 테스트
환경 : Centos 6 , Raid 5 (320GB디스크 4개)
진행 : 레이드 5로 구성된 서버에서 디스크 2개를 적출하여 새 디스크로 카피기를 사용하여 카피후 리빌딩 진행 테스트
운영중인 레이드 서버에서 디스크 2개를 분리 아래와같이 I/O에러 발생
(분리전 자동리빌드를 해제 하여야합니다.자동 리빌딩 해제 명령어 : mcli -AdpAutoRbld -Dsbl -a0)
디스크 확인시 아래 와 같이 2개만 인식 되는 상황입니다.
2번 3번 디스크를 카피기로 아래처럼 새디스크에 복사작업을 진행해보았습니다.
새 디스크 베이에 장착하면 맨처음은 디스크 상태가 Offline으로 되어있습니다.
아래 명령어로 디스크를 온라인 상태로 만들어 줍니다.
만약 디스크가 Unconfigured-good상태일 경우 : 레이드 컨드롤러가 디스크를 외부 디스크로 인식을 하는 상태이지만 일부 Raid정보가 감지되었기 때문에 디스크를 컨트롤러 구성으로 가져올수 있는 간주되는 상태입니다.
따라서 아래 내용대로 리빌딩을 진행하면 됩니다.
만약 디스크가 Unconfigured-bad 상태일 경우 : mcli -PDMakeGood -PhysDrv [Enclosure Device ID: slot nu] 명령어로 디스크를 온라인상태로 만들어야합니다.
이제 리빌딩을 진행하도록 하겠습니다. Cli명령어 로 진행시 아래처럼 순서 대로 진행을 하면됩니다.
-
Mcli -CfgDsply -a0 명령어로 보면 아래와 같이 한번에 모든 raid 카드 정보 가상 디스크 정보 및
물리적인 디스크 정보또한 볼수 있습니다. 명령어를 통해 확인시 리빌드를 위해
[Enclosure Device : Slot Number] , array(DISK GROUP) , Physical Disk ,Adapter 정보를 아래내역에서 확인합니다.
[root@localhost ~]# mcli -CfgDsply -a0 ============================================================================== Adapter: 0 Product Name: LSI MegaRAID SAS 9261-8i Memory: 512MB BBU: Absent Serial No: ============================================================================== Number of DISK GROUPS: 1 DISK GROUP: 0 Number of Spans: 1 SPAN: 0 Span Reference: 0x00 Virtual Drive Information: Virtual Drive: 0 (Target Id: 0) Name :VD_0 RAID Level : Primary-5, Secondary-0, RAID Level Qualifier-3 Size : 891.275 GB Parity Size : 297.091 GB State : Offline Number Of Drives : 4 |
Physical Disk Information: Physical Disk: 0 Enclosure Device ID: 252 Slot Number: 0 Drive’s postion: DiskGroup: 0, Span: 0, Arm: 0 Enclosure position: 0 Device Id: 7 Media Error Count: 0 < 0이여야지 디스크에 문제가 없습니다. Other Error Count: 0 < 0이여야지 디스크에 문제가 없습니다. Predictive Failure Count: 0 PD Type: SATA Raw Size: 298.090 GB [0x2542eab0 Sectors] Firmware state: Online, Spun Up Port-0 : Port status: Active Port’s Linkspeed: 3.0Gb/s Drive has flagged a S.M.A.R.T alert : No Physical Disk: 1 Enclosure Device ID: 252 Slot Number: 1 Drive’s postion: DiskGroup: 0, Span: 0, Arm: 1 Enclosure position: 0 Device Id: 3 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 PD Type: SATA Raw Size: 298.089 GB [0x2542e26f Sectors] Firmware state: Online, Spun Up Port-0 : Port status: Active Port’s Linkspeed: 3.0Gb/s Drive has flagged a S.M.A.R.T alert : No Physical Disk: 2 Physical Disk: 3 |
확인시 2,번 3번 디스크를 장착해야하며 Slot Nu또한 동일합니다. Disk group 와 레이드 카드 정보또한 0
이기 때문에 아래 명령어로 해당 디스크를 어레이에 장착을 진행후 리빌딩 명렁어로 리빌딩을 진행합니다.
(현 테스트에서는 디스크를 array에 추가하자 바로 Raid가 아래와 같이 올라온 상태입니다.
단 에러로그 확인 및 마운트 진행시 파일시스템 이 손상되었다는 아래 메시지가 나온 상태이며
파일시스템 체크 후에도 마찬가지로 복구가 불가능한 상황이였습니다.
[root@localhost ~]# dmesg EXT4-fs (sdb1): group descriptors corrupted! EXT4-fs (sdb1): ext4_check_descriptors: Block bitmap for group 2960 not in group (block 469762048)! [root@localhost ~]# fsck -y -j ext4 /dev/sdb1 Illegal block #11 (1496341297) in inode 231659. CLEARED. Illegal block #26248219 (3261503355) in inode 231659. CLEARED. Error storing directory block information (inode=231659, block=0, num=9226269): Memory allocation failed Recreate journal? yes Creating journal (32768 blocks): Done. *** journal has been re-created – filesystem is now ext3 again *** [root@localhost ~]# mount /dev/sdb1 /raid/ mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error In some cases useful info is found in syslog – try dmesg | tail or so |
따라서 디스크에 장애가 났을시 카피기로 모든 내용을 카피하더라도 레이드 복구는 불가능하다는것을 알 수 있습니다.