본문 바로가기
Linux

RAID 복구 RAID 디스크 장애 발생 (Linear, 0, 1, 5 RAID) Ubuntu 22.04

by IT너구리실장 2023. 11. 3.
반응형
  • 기존 레이드 설정
 

RAID 설정 (RAID - Linear, 0, 1, 5 ) Ubuntu 22.04

우분투 22.04 에서 RAID 설정을 진행해 보겠습니다 ***RAID 설정을 모두 마친 뒤 mdadm.conf 설정을 하고 재부팅 해야합니다*** mdadm.conf 설정은 맨 아래 내용 추가했습니다. Linear, 0, 1, 5 RAID 4가지 설정 진

it-racoon.tistory.com

 


 

  • RAID 별 하드 장애 발생 테스트
  • 아래 하이라이트된 하드에 문제발생 상황을 연출해 보자

 


  • 각 레이드에 테스트용 파일을 저장해보자.

테스트용 텍스트 파일 생성
각 레이드에 테스트파일 복사
복사 확인


RAID 구성 하드 제거

  • 레이드 별 하드 1개씩 제거 후 부팅하면 응급 모드로 전환 후 하드 연결 확인
  • VMware 에서 제거 (= 실제 하드 제거) 하면 아래와 같이 된다.

 

sdb1-md9 (Linear RAID) / sdc1-md0 (RAID0) / sdd1-md1 (RAID1) / sde1,sdf1-md5 (RAID5) 각 레이드 별 하드 1개씩 제거된거 확인

 

 

  • df 로 확인해보면

  • RAID 파일시스템이 보이지 않는다..

마운트가 풀려 레이드 폴더가 비어있는걸 확인할 수 있다.

  • 장애 복구가 불가능한 Linear RAID, RAID0 을 제외한 RAID 1, RAID 5 는 복구가 가능하다!
  • RAID1, RAID5 는 결함허용!

RAID1 복구하기

  • 아래 명령어로 md1 복구 
mdadm --run /dev/md1

 

md1 마운트포인트가 안잡혀있다

  • 마운트도 다시 잡아주자
mount /dev/md1 /raid1

  • 복구된 raid_test-file 을 확인할 수 있다!

 

  • vi 로 파일을 열어보면 원본 내용 확인! 살아있네~

  • 레이드 정보를 보면 디바이스 하나가 제거된 비정상적인 상태를 확인할 수 있다.


RAID5 복구하기

  • 아래 명령어로 복구
# md5 실행
mdadm --run /dev/md5

# 마운트
mount /dev/md5 /raid5

# 마운트된 폴더 확인
ll /raid5

# md5 디테일 확인
mdadm --detail /dev/md5

Raid Devices 는 3개로 설정되어있으나 하나가 제거된 내용을 확인 할 수 있다. 작동중인 장치는 2개
복구된 파일 확인


Linear RAID, RAID0 복구시도

  • 결함허용이 되지 않는 Linear, 0 RAID 복구 시도
# Linear RAID
mdadm --run /dev/md9

# RAID0
mdadm --run /dev/md0

실행되지 않는다...

  • 부팅을 위해 복구되지 않는 md9, md0 을 제거하자
mdadm --stop /dev/md9
mdadm --stop /dev/md0

  • fstab 편집해서 md9, md0 제외

해당 내용 주석처리

  • 재부팅 확인

RAID1, RAID5 확인


새로운 하드 추가하여 원상복구

  • 새로운 하드 4개를 연결해주고 원상복구 진행
# 마운트 확인
lsblk

sdc / sde / sdg / sdi 디스크 연결 확인

  • 파티셔닝
fdisk /dev/sdc
# 순서대로 진행
# command
:n    (new partition)
:p    (primary type)
:1    (partition number)
# partition volume
:    (first sector : default)
:    (last sector : default)
# type 
:t
:fd    (Linux raid autodetect code)
:p    (print)
:w    (write = save)

# 나머지 sde / sdg / sdi 똑같이 진행

  • 파티션 확인

 

  • Linear RAID 정지하고 다시만들기
# 리니어레이드 설정
mdadm --stop /dev/md9
mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1
:y
mkfs.ext4 /dev/md9
mount /dev/md9 /raidLinear

# 레이드0 설정
mdadm --stop /dev/md0
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1
:y
mkfs.ext4 /dev/md0
mount /dev/md0 /raid0

 

  • 기존에 복구된 RAID1, RAID5 에 파티션 추가하여 원상복구
# RAID1 md1 에 파티션 sdg1 추가
mdadm /dev/md1 --add /dev/sdg1
# RAID5 md5 에 파티션 sdg1 추가
mdadm /dev/md5 --add /dev/sdi1

  • 레이드 상태 확인
# 마운트 확인
lsblk
# 레이드 디테일 확인
mdadm --detail /dev/md*

 

  • Filesystem UUID 확인 후 fstab 수정

Linear RAID, RAID0 의 UUID 수정 / 나머지는 그대로

 

  • mdadm.conf 수정


reboot 후 확인

mdadm --detail /dev/md*
  • 용량 및 디바이스 상태 확인

  • disk free 명령어로 용량, 마운트위 등 확인 
df -Th

 

결함 허용이 가능한 RAID1, RAID5 는 데이터가 보존되는 것을 볼 수 있다.

 


 

 

반응형