RAID-1
- 미러링 RAID 라고 부른다
- 총 Disk 용량의 50%만 사용이 가능하다
- 데이터 여러번 기록하면서 걸리는 시간 때문에 성능이 감소
- 한개의 디스크가 고장이 나면 볼륨의 다른 디스크에서 데이터를 가져와 사용한다
- 중복해서 양쪽에 저장된다. 한쪽은 Active상태일때 다른 한쪽은 standby 상태
- Active 상태가 고장이 나면 다른 한쪽인 standby 상태로 있는것이 Active 상태로 바뀌어 실행된다.
- 성능이 조금 떨어지는 반면에 고장이 나도 바로 대처할 수 있기 때문에 실용성이 좋다.
RAID-5
- RAID-1 처럼 데이터 결함도 허용하면서 RAID-0처럼 공간 효율성도 좋은 방식
- 최소 3개의 디스크가 발생하며 보통 5개 이상의 디스크로 구성한다
- 디스크 장애가 발생 시 패리티(Parity)를 이용하여 데이터 복구한다
- 디스크 개수 -1 = 볼륨 총 용량(-1만큼 패리티)
- RAID-5는 디스크 하나만 커버가 가능하기 때문에 2개를 건드리면 망가진다.
패리티란?
- 디스크장애 발생 시 데이터를 재구축하는데 사용할 수 있는 계산된 값
- A라는 데이터를 저장할 때 데이터를 쪼개는데 복구하기 위해 패리티가 일정 공간을 차지한다.
- 디스크가 고장났을 때 패리티에 저장된 내용을 통해 복구할 수 있다.
RIAD 5 패리티 사용 예
ex) 4개의 Disk 로 구성된 RAID 5 볼륨
데이터 000 111 101 010
데이터의 저장 방향-------------> 왼쪽에서 오른쪽으로 저장된다고 가정했을 때
1) ------------------------->
A B C D XOR A B
0 0 0 ■ 0 0 -> 0
1 1 ■ 1 0 1 -> 1
1 ■ 0 1 1 0 -> 1
■ 0 1 0 1 1 -> 0
: 기존에 패리티가 있던 곳에 생기지 않음 각각 다른 디스크에 생김
첫번째 줄을 보면 A와B를 XOR하면 0 C와 다시 XOR 하면 0
두번째 줄을 보면 A와B XOR = 1, 다시 1 XOR D = 1 이 된다.
2) A B C D
0 0 0 (0) : A와B를 XOR한 뒤 C와도 XOR 한 값이 D
1 1 (1) 1 : A와B를 XOR한 뒤 D와도 XOR 한 값이 D
1 (0) 0 1
(1) 0 1 0
3)-----------------------> 복구 과정도 XOR
A B C D
0 0 0 (0)
1 1 (1) 1
1 (0) 0 1
(1) 0 1 0
C 줄의 값이 전체가 고장났더라도 XOR 값으로 복구할 수 있다
총 볼륨의 하나의 디스크 값을 밴 값이 실제 사용할 수 있는 디스크의 용량이 된다.
RAID-1 같은 경우는 데이터를 복사하는 것이고
RAID-5 같은 경우는 데이터를 복구하는 것이다
장애 테스트
레벨 Fault-Tolerent 장치명 VMware Disk 번호
RAID-Linear x sdb, sdc 2,3
RAID- 0 x sdd, sde 4,5
RAID- 1 0 sdf, sdg 6,7
RAID- 5 0 sdh, sdi, sdj 8,9,10
장애 테스트 진행 방법
1) VMware Workstation 에서 디스크를 제거하는 방법
2) mdadm 옵션을 사용하는 방법
#cat /proc/mdstat
RAID-Linear , RAID-0
- 하나의 디스크라도 장애가 발생하면 볼륨이 깨지기 때문에 mdadm명령어로
디스크 장애가 발생한 것 처럼 만들 수 없다
- Disk를 강제로 제거해야 한다
RAID-1 , RAID-5
- 디스크 장애가 발생해도 사용이 가능한 볼륨이기 때문에
mdadm 명령어로 장애 테스트 진행이 가능하다.
#mdadm -f [볼륨명] [장치명] //failure 고장
#mdadm -r [볼륨명] [장치명] //remove 제거
#mdadm -a [볼륨명] [장치명] //add 추가
옵션을 잘 알아두자.
UU 를 통해 디스크를 몇개를 사용하는지 알 수 있다.
세션 2개를 사용하여 한쪽으론 고장과 제거 추가를 입력하고 한쪽으론 바뀌는 것(출력)을 눈으로 확인해보자.
이제부터 md1에 있는 sdf1을 고장내려고 한다.
아래와 같이 -f 옵션을 사용하여 고장낸다.
sdf1[2]뒤에 (F)가 생긴것을 확인할 수 있다. 즉 고장났다는 표시이다.
옵션 -r을 통해 md1의 sdf1을 제거한다.
제거되는 과정
제거가 됐음을 알 수 있다.
아까전엔 [2/2] [UU]로 디스크가 꽉찼음을 알 수 있었는데 제거하고 난 후 하나가 비어있음을 알 수 있다.
-a 를 통해 원래대로 추가해준다.
md1에서 한것과 마찬가지로 md5에 sdh1을 고장내보자
고장난 것을 확인할 수 있다
RAID 5+Spare : 고장나는 즉시 바로 복수할 수 있도록 spare을 구성한다.
-> 4개의 디스크 1개의 spare. 꽉찬 디스크(UUU)에서 추가하게되면 알아서 Spare로 처리된다.
존에 볼륨을 중지하고 새롭게 만드는 방법
#mdadm --stop[볼륨명]
단 마운트가 되어있거나 해당 볼륨에 파일이 사용중이면 불가능하다
'Linux' 카테고리의 다른 글
Linux) RPM (0) | 2018.02.19 |
---|---|
Linux 파일 검색(find) (0) | 2018.02.13 |
Linux 파일 시스템(3) RAID (0) | 2018.02.08 |
Linux 파일 시스템(2) mount (0) | 2018.02.08 |
Linux 파일 시스템 (0) | 2018.02.05 |