Raid - 서로 다른 물리적 디스크들을 하나의 저장 장치처럼 사용하는 기술
장애 발생시 해당 데이터를 잃지 않도록 하기 위해 사용됨.
Striping
데이터를 잘게 나누어 각각의 디스크에 분산시켜 저장함.
디스크 수가 많을 수록 속도가 더 빨라진다고 함.
데이터가 나뉘어져서 저장되기 때문에 raid를 구성하고있는 디스크에 장애가 발생하면 해당 데이터는 모두 잃게 된다.
Mirroring
한 디스크에 저장된 정보를 다른 디스크로 모두 복사해 놓는것.
디스크가 하나가 장애가 나더라도 다른 디스크로 복구가 가능.
즉, 디스크 장애 발생에 대한 대응 능력이 있음.
Parity
장애 복구를 위한 패리티 정보를 구성하는 것.
해당 패리티 정보는 한개의 디스크, 또는 여러개의 디스크에 분산되어 저장되어진다.(Raid 4, Raid 5)
Raid 0 - striping
스트라이핑 기술만 적용되어진 raid level이다.
위 이미지에서 볼 수 있듯이 block이 나뉘어서 저장되어 진다.
이 블럭들은 나뉘어진 데이터 조각으로 보면 된다.
복구와 관련된 데이터를 저장하지 않기 때문에 속도는 매우
해당 raid는 장애 대처 방법이 없으므로 한개의 디스크라도 에러가 발생하게 되면 데이터를 잃어버리게 된다.
빠른 입출력 속도가 요구되나 장애 복구 능력은 필요 없을 경우에 사용된다.
최소 디스크 수 1
최대 디스크 수 X
비용 저렴함
사용량 n (1TB 디스크 2개 이용시 2TB 사용 가능)
raid 1 - mirroring
미러링을 하는 raid level.
같은 내용을 저장하는 디스크가 존재함.
디스크 하나에 장애가 발생하더라도 나머지 디스크로 문제없이 데이터를 사용할 수 있다.
최소 디스크 수 2
최대 디스크 수 X
비용이 가장 높음
사용량 n/2 (1TB 디스크 2개 이용시 1TB 사용 가능)
raid 5 - parity
데이터 block에 대한 parity를 별도로 저장한다.
해당 parity는 한개의 디스크에 저장되는 것이 아니라 여러 disk에 분산되어 저장되어진다.
이중 disk 하나에 오류가 발생하더라도 다른 디스크들을 가지고 데이터를 복구 할 수 있다.
예를들어 disk 4가 고장나게 되면
첫번째 줄에서 block 1a 2a 3a은 데이터를 그대로 사용하며
두번째 줄에서는 parity와 1b, 2b를 서로 연산하여 4a를 복구해 사용하게 된다.
raid 5는 디스크 1개의 에러에 대해서만 복구가 가능하며, 2개 이상 장애가 발생하게 되면 데이터는 손실되게 된다.
장애 발생시 해당 디스크를 제거하고 새로운 디스크를 다시 장착하게 되면 새로 장착된 디스크에 raid 정보를 재기록 한다.
최소 디스크 수 3
최대 디스크 수 14
비용 보통
사용량 (n-1)/n (1TB 디스크 3개 이용시 2TB 사용 가능)
raid 6 - parity
기본 동작은 raid 5와 동일하다.
다만 raid 6에서는 parity 값을 2개 운영하여 최대 디스크 2개가 오류가 나더라도 데이터 사용에는 문제가 없다.
최소 디스크 수 4
최대 디스크 수 56
비용 보통
사용량 (n-2)/n (1TB 디스크 4개 이용시 2TB 사용 가능)
raid 10 (raid 1+0)
raid 0과 raid 1를 함께 사용한다.
2개의 디스크는 서로 raid 1로 묶어지게 된다.
묶어진 디스크들은 raid 0를 통해 striping 기술이 적용된다.
속도와 내결함성이 높다.
raid 5 + spare
raid 5에 spare를 하나 더 장착하여 구성함.
디스크 사용 중 하나의 디스크에 에러가 발생하게 되면, 그 즉시 spare 디스크가 해당 디스크의 역할을 하게 된다.
이 경우보다는 raid 6를 더 많이 사용한다.
사용량 (n-2)/n
아래는 4개의 디스크로 raid 구성에 따른 데이터 사용 가능 유무이다.
raid 0 한개라도 에러가 발생할 시 사용 불가능
raid 1 한개라도 남아있으면 사용 가능
raid 5 1개의 에러까지만 허용
raid 10 2개까지 가능은 하지만 디스크 fail 조합에 따라 다름
참고 사이트 - http://blog.naver.com/imsosimin/220109949080
'System > Linux' 카테고리의 다른 글
리눅스 Raid 구성(md) (0) | 2015.04.14 |
---|---|
[Linux] Bonding (0) | 2015.01.16 |