raid 구성

리눅스 2015. 4. 13. 16:49


디스크를 묶어서 하나처럼 쓴다 (100+100=200)




디스크 하나는 원본 하드의 백업용 (100+100=100) 




 최소 3개 이상의 하드디스크로 구성되며, 레이드0처럼 데이터 저장시 각 디스크에 쪼개져서 저장되지만, 패리티 정보란 것이 각각의 디스크에 번갈아가면서 저장되는데, 디스크 하나 고장시 옆 디스크에 있는 패리티 정보로 고장난 디스크를 복구할 수 있다. 즉, 패리티 정보란 다른 디스크에 저장될 정보가 분산되어서 저장이 되므로, 하나의 디스크가 고장나도 분산되어 저장된 패리티 정보로 복구를 시킬수 있다는 것인데, 두개이상의 디스크가 고장나버리면 이또한 황천길.. 그래서, 스패어 디스크를 추가로 장착하기도 한다. / 하드디스크 용량의 총합의 70% 정도로만 사용됨( 나머지 30% 정도는 패리티 정보로 저장 )










데이터는 많은 조직에서 가장 중요하고 요즘 같은 인터넷 시대에는 데이터를 빠르고 믿을 수 있게 접근하는 것이 매우 중요하다. 그렇게 조직은 대부분 데이터를 무결하게 유지하기 위해 RAID의 어떤 레벨을 사용한다. 


요즘은 대부분 그렇지만 RAID 5가 쉽고 최선일 것 같기 때문에 얼마나 많은 서버에 RAID 5를 적용하고 있을까? 대부분의 경우 RAID 5가 옳은 선택이지만 쓰기 성능을 고려한다면 다른 RAID 레벨이 최선일지도 모른다. 


지금 얼마나 많은 사람들이 RAID 10과 50를 즉석해서 설명할 수 있을까? 새로 발명된 RAID 레벨이 RAID 5의 단점을 보완할 수 있고 아직도 스토리지 시스템에서는 많은 것을 예비용으로 사용한다. 이 글에서 기본적인 RAID 레벨의 장단점을 소개하고 다음 글에서 나는 RAID 10같이 네스티드(nested)라고 불리는 좀 더 복잡한 RAID 레벨을 소개하려고 한다. (주: http://www.acnc.com/04_00.html에서 각 RAID 레벨의 그림을 볼 수 있다.)


RAID 0(디스크 스트라이핑)

* 최소 드라이브 개수 : 2

* 최대 용량 : 디스크의 수 x 디스크의 용량

* 설명 : 데이터를 블럭으로 쪼개서 저장하는데 각 블럭은 다른 디스크로 나뉘어 저장된다. 


* 장점 : 매우 빠르다. 데이터는 여러 개의 "모터(spindles)"로 스토리지에서 읽고 쓴다. 즉, I/O 로드가 분산되는 것을 의미하기 때문에 매우 빠르다. 이론적으로 디스크를 추가하는 족족 성능은 향상된다. 보통 엄청난 성능이 필요할 때 사용하는데 성능이 정말 좋은지 알아 보기 위해 스토리지를 아이오미터(IOmeter)같은 도구를 사용하여 확인한다.

* 단점 : 드라이브 하나가 고장 나면 이 RAID 레벨은 어떤 안전장치도 없기 때문에 천체 어레이가 고장 날 수 있고 디스크를 추가할 수록 위험이 증가한다.(주: 어레이는 여러 개의 디스크 배열을 의미)


RAID 1 (디스크 미러링)

* 최소 드라이브 개수 : 2

* 최대 용량 : (디스크의 수/2) x 디스크의 용량

* 설명 : 스토리지에 저장되는 모든 데이터는 두 개의 물리적인 디스크에 각각 저장되고 모든 데이터는 중복된다.


* 장점 : 드라이브 하나가 고장 나면 똑같은 내용의 다른 드라이브가 하나 더 있기 때문에 매우 안전하다. RAID 1은 읽기 성능이 단일 드라이브에서의 성능과 같거나 훨씬 좋다. 

* 단점 : 각 드라이브는 미러링되기 때문에 전체 용량의 절반밖에 사용하지 못한다. 드라이브 두 개에 동일한 데이터를 써야 하기 때문에 쓰기 성능이 나빠질 수 있지만 아직 다른 RAID 레벨의 쓰기 성능보다는 훨씬 낫다. 


RAID 2: 이 레벨은 더 이상 사용되지 않는다


RAID 3(패리티를 사용하고 디스크를 병렬로 처리한다)

* 최소 드라이브 개수 : 3 

* 최대 용량 : (디스크의 수 - 1) x 각 디스크의 용량

* 설명 : 데이터는 바이트 단위로 쪼개져서 모든 디스크에 균등하게 나뉘어 저장되고 패리티 정보는 별도의 전용 디스크에 저장된다.


* 장점 : 한 개의 드라이브가 고장 나는 것을 허용하며 순차적 쓰기(sequential write) 성능과 순차적 읽기(sequential read) 성능이 우수하다. 

* 단점 : 잘 사용되지 않고 문제를 해결하는 것이 어려울 수 있다. 하드웨어 RAID가 되어야 실제로 쓸만하다. RAID 3은 보통 매우 효율적이지만 임의 쓰기(random write) 성능이 나쁘고 임의 읽기(random read) 성능은 꽤 좋다. . 


RAID 4 (각 디스크는 패리티 블럭을 공유한다)

* 최소 드라이브 개수 : 3

* 최대 용량 : (디스크의 수 - 1) x 디스크의 용량

* 설명 : 모든 파일은 블럭으로 쪼개지고 각 블럭은 여러 디스크에 저장되지만 균등하진 않다. RAID 3처럼 RAID 4도 패리티를 처리하기 위해 별도의 디스크를 사용한다. 동시 트랜잭션 사용량이 많은 시스템에서 읽기 속도는 매우 중요한데 이런 시스템에 적합하다. 

* 장점 : 드라이브 하나가 고장 나는 것을 허용하고 읽기 성능이 매우 좋다. 

* 단점 : 쓰기 성능이 나쁘지만 블럭 읽기(block read) 성능은 괜찮다. 


RAID 5(패리티를 순환시키는 것 없이 각 어레이에 접근한다)

* 최소 드라이브 개수 : 3

* 최대 용량 : (디스크의 수 - 1) x 디스크의 용량

* 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다. 

* 장점 : 지원하는 회사가 많고 한 개의 드라이브가 고장 나는 것을 허용한다. 

* 단점 : 디스크 재구성(rebuild)이 매우 느리고 쓰기 성능은 패리티 정보를 끊임없이 갱신해야 하기 때문에 우수하다고 할 수는 없다. 


RAID 6(각 디스크에 패리티 정보가 두 번 독립적으로 분산된다) 

* 최소 드라이브 개수 : 3

* 최대 용량 : (디스크의 수 - 2) x 디스크의 용량

* 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다. 


* 장점 : 두 개의 드라이브까지 고장 나는 것을 허용하고 읽기 성능이 우수하고 매우 중요한 경우에 적합하다. 

* 단점 : 쓰기 성능은 패리티를 여러 번 갱신해야 하기 때문에 RAID 5보다 매우 나쁘다. 디스크를 재구성하는 동안에 성능이 매우 나빠질 수 있다.


'리눅스' 카테고리의 다른 글

configure 옵션 확인  (0) 2015.04.15
우분투 싱글모드 접속  (0) 2015.04.14
ftp user 폴더변경 접속제한 사용권한  (0) 2015.04.13
Apache : CSR 생성 및 SSL 인증서 적용  (0) 2015.04.13
sftp  (0) 2015.04.09
Posted by Narusika
,