RAID Revel의 특성 - 레이드 레벨의 특성




    * RAID(레이드) 특성은 스트라이핑, 스팬, 스트라이프, 미러링, 패리티의 표준 레이드 레벨과 몇가지 중첩하는 레벨이 존재합니다






     1. RAID 0 (Striping) - 블록 레벨 스트라이핑, 패리티, 미러링 없음.






    RAID 0는 디스크 성능을 초점을 맞추었으며, 하나의 디스크에 I/O가 많이 발생하게 됩니다 그에따른 성능 저하가 일어납니다 RAID 0는 데이터를 2개 이상의 디스크 나누어서 쓰게되며 예를 들어 하나의 파일이 A1 ~ A8까지 8개의 블록이 구성되어 있다고 가정하여 A1, A3, A5, A7은 Disk 0에, A2, A4, A6, A8은 Disk 1에 기록하게 된다 디스크가 n개가 있게 되면 쓰기 및 읽기 성능은 n배로 증가하게 됩니다.


    * RAID 0는 심각한 단점이 있는데 하나의 디스크에 장애가 발생하면 데이터 복구가 불가능하다





     2. RAID 1 (Mirroring) - 미러링, 패리티, 스트라이핑 없음




    패리티를 포함하지 않는 미러링 구성입니다.

    동일한 데이터를 두 개의 디스크에 동시에 저장하기 때문에 실제로 사용가능한 용량은 전체 디스크 용량을 절반만 사용이 가능합니다

    레벨의 구성에 따라 2개의 디스크가 필요합니다.


    미러링은 두 개의 디스크로만 구성할 수 있으며 간단하게 하나의 디스크와 동일한 복사본 디스크를 생성하는 방식라 생각하면 됩니다

    그리고 하나의 데이터를 두개의 디스크에 동시에 저장하기 때문에 하나의 디스크에 장애가 발생하여도 다른 디스크에 데이터가 온전히 남아있어 높은 안정성을 가진다 하지만 그만큼 용량의 낭비가 큽니다


    * 이러한 특성으로 성능상의 이점은 없지만 안정성은 우수하여 중소규모의 회사에서 중요한 데이터를 저장하는 용도로 주로 사용됩니다.






     3. RAID 2 - 비트레벨 스트라이핑. 전용의 해밍코드 디스크를 통해 구성




    바이트 레벨에서 패리티의 생성이 이루어지는 스트라이플 구성입니다

    이 때 패리티는 따로 전용의 패리티 저장용 디스크에 저장되며, 패리티를 저장할 디스크가 필요하기 때문에 레벨의 구성에 최소 3개의 디스크가 필요합니다.


    패리티를 포함하고 있기 때문에 사용가능한 용량은 전체 디스크 용량의 합에서 패리티 전용 디스크의 용량을 뺀 만큼만 사용이 가능합니다


    스트라이핑이기 때문에 성능의 향상이 있을 듯하지만 그보다 더 큰 데이터의 분산에 이어 패리티를 생성하기 위한 XOR 연산이 추가로 필요하여 그만큼의 성능의 하락이 있다 만약 이러한 XOR 연산이 제대로 이루어지지 않고 지연되게되면 성은의 하락이 굉장히 크기 때문에 레이드 컨트롤러는 전용 XOR 연산 프로세서와 캐시 버퍼를 포함하게 된다 소프트웨어 기반 레이드와 펌웨어 기반 레이드에서는 XOR 연산을 CPU가 담당하기 때문에 CPU의 사용률이 그만큼 올라가게 됩니다.


    패리티를 가지고 있기때문에 하나의 디스크에 장애가 발생하여도 복구할 수 있다 그러나 두 개의 디스크에 동시에 장애가 발생하거나 패리티를 저장한 디스크에 장애가 발생한 경우에는 데이터가 유실됩니다


    * 현재 RAID 2와 마찬가지로 사용되지 않습니다(바이트 차원에서 패리티를 관리할 필요가 없기 때문입니다)







     4. RAID 4 - 블록 레벨 스트라이핑. 전용의 패리티 디스크를 통해 구성




    록 레벨에서 패리티의 생성이 이루어지는 스트라이프 구성이다.

    이 때 패리티는 따로 전용의 패리티 저장용 디스크에 저장된다 패리티를 저장할 디스크가 필요하기 때문에 레벨의 구성에 최소 3개의 디스크가 필요합니다.


    특성은 RAID 3과 동일하며 단지 바이트 레벨이 아닌 블록 레벨에서 패리티의 저장과 체크가 이루어진다는 것이 다르다 이로 인해 RAID 3에 비해 읽기 속도는 높지만 쓰기 속도는 떨어집니다


    패리티를 가지고 있기 때문에 하나의 디스크에 장애가 발생하더라도 패리티 연산(XOR 연산)을 통해 데이터를 읽거나 복구할 수 있습니다

    그러나 두 개의 디스크에 동시에 장애가 발생하거나 패리티를 저장한 디스크에 장애가 발생한 경우에는 데이터를 유실하게 됩니다.


    * 현재 RAID 5에 밀려서 사용되지 않는다







     5. RAID 5 - 블록 레벨 스트라이핑. 하나의 분산 패리티를 통해 구성




    블록 레벨에서 패리티의 생성이 이루어지는 스트라이프 구성입니다

    이때 패리티는 모든 디스크에 분산되어 저장되며 패리티를 저장할 공간이 필요하기 때문에 레벨의 구성에 최소 3개의 디스크가 필요합니다.


    패리티를 포함하고 있기 때문에 사용 가능한 용량은 전체 디스크 요량의 합에서 패리티 공간의 용량을 뺀 만큼 만 사용 가능합니다


    특성은 RAID 4와 동일하며 다만 패리티가 모든 디스크에 분산되어 저장되는 것이 다르다


    패리티를 가지고 있기 때문에 하나의 디스크에 장애가 발생하여도 패리티 연산(XOR 연산)을 통해 데이터를 일거나 복구할 수 있습니다

    그러나 두 개의 디스크에 동시에 장애가 발생하면 데이터를 유실하게 됩니다


    * 표준 레벨 중 비용적인 측면과 안정성을 조화롭게 갖춘 방식이기 때문에 회사나 서버의 데이터를 저장히기 위한 방식으로 널리사용되는 방식







     6. RAID 6 - 블록 레벨 스트라이핑. 이중의 분산 패리티를 통해 구성






    블록 레벨에서 이중으로 패리티의 생성이 이루어지는 스트라이프 구성입니다

    이 때 이중의 패리티는 모든 디스크에 분산되어 저장되며, 이중의 패리티를 저장할 공간이 필요하기 때문에 레벨의 구성에 최소 4개의 디스크가 필요합니다


    이중의 패리티를 포함하고 있기 때문에 사용 가능한 용량은 전체 디스크 용량의 합에서 이중의 패리티 공간의 용량을 뺀 만큼만 사용 가능합니다


    RAID5를 개선한 것으로 특성 RAID 5 와 거의 동일합니다

    하지만 이중으로 패리티를 구성하기 때문에 그만큼 패리티의 연산 과정이 더욱 복잡하고 그로 인해 RAID5에 비해 성능이 떨어집니다 그러나 이중패리티를 통해 3개의 디스크에서 동시에 장애가 발생한경우에는 데이터를 유실하게 됩니다


    * RAID 6는 RAID5의 확장판으로 디스크의 구성 개수가 많아 디스크 장애가 동시에 발생할 수 있는 가능성이 높은 환경에서 주로 사용됩니다.

     


    Posted by Server-talk 서버이야기