일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 코딩테스트
- 파이썬 전처리
- 리눅스 명령어
- C#
- 리눅스
- MariaDB
- PYTHON
- 파이썬
- 파이썬 알고리즘
- sql
- RFP
- 오라클
- it용어
- Python 라이브러리
- VirtualBox
- dbeaver
- linux
- putty
- 파이썬 데이터프레임
- HTML
- tibero
- it 용어
- csharp
- 데이터베이스
- python algorithm
- 알고리즘
- Python DataFrame
- Oracle VM VirtualBox
- Oracle
- Algorithm
- Today
- Total
오경석의 개발노트
IT 용어_RAID(Redundant Array of Independent Disks) 본문
■ 개념
RAID(복수 배열 독립 디스크, Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks)는 여러 개의 하드 디스크에 동일한 데이터를 나눠서 저장하는 기술. 디스크 어레이(disk array)라고도 한다. 데이터를 나누는 다양한 방법이 존재하며, 이 방법들을 레벨이라 하는데, 레벨에 따라 저장장치의 신뢰성을 높이거나 전체적인 성능을 향상시키는 등의 다양한 목적을 만족시킬 수 있다.
모든 레벨이 중복성을 제공하는 것을 목표로 하는 것은 아니다. RAID의 목적은 크게 세 가지로 나뉘는데, 첫째는 여러 개의 디스크를 하나의 대용량 디스크처럼 사용할 수 있도록 하는것이고, 두 번째는 여러 개의 디스크 모듈에 데이터를 나누어서 한꺼번에 쓰고 한꺼번에 읽는 식으로 입축력 속도를 높이는것이다. 세 번째는 여러 개의 디스크를 모아서 하나의 디스크로 만들고 그 중 하나 혹은 그 이상의 디스크에 장애가 나더라도 최소한 데이터가 사라지는 것은 방지하는것이다.
■ 표준 레이드 레벨
○ RAID 0
데이터 중복성과 패리티(오류 검출 기능)가 없는 스트라이핑 세트. 데이터가 빠르게 입출력이 되는 최상의 성능에 추가적인 기억 장치를 제공하는 게 장점이지만 디스크 1개라도 손상을 입으면 전체 데이터가 파손된다. 디스크에서 실패가 일어나면 배열을 파괴하게 되는데, 이러한 파괴는 디스크를 많이 장착할수록 가능성이 더 크다. 하나의 단일 디스크 실패는 배열을 완전히 파괴한다. 왜냐하면 데이터가 RAID 0으로 쓰일 때, 데이터는 여러 조각으로 나뉘기 때문이다. 조각의 수는 드라이브 안의 디스크 수와 일치한다. 조각들은 각 디스크에 동시적으로 같은 섹터 위에 기록된다. 완전한 데이터 덩어리의 작은 토막들이 병렬로 드라이브를 읽어 낼 수 있게 해 주며, 이러한 종류의 배열은 넓은 대역너비를 제공한다. 그러나 디스크들의 한 섹터가 실패할 때는 모든 다른 디스크 위의 일치하는 섹터가 사용 불능으로 표시된다. 왜냐하면 데이터의 일부가 손상된 것이 아니기 때문이다.
RAID 0은 오류 검출 기능을 제공하지 않기 때문에 어떠한 오류도 복구하지 못한다. 배열에 디스크를 더 많이 넣으면 더 높은 대역을 사용할 수 있겠지만 데이터 손실의 큰 위험이 도사리게 된다.
최소 디스크 갯수: 2
용량: 디스크 갯수 * 디스크 용량
○ RAID 1
각 멤버 디스크에 같은 데이터를 중복 기록하는 형식. 패리티가 없는 미러링된 세트. 디스크 오류와 단일 디스크 실패에 대비하여 실패 방지 기능이 있다. 두 디스크를 동시에 읽을 수 있으므로 읽기 성능이 향상된다.
다만, 쓰기 성능은 모든 디스크에 동시에 수행되어야 하므로, 가장 느린 디스크의 쓰기 속도에 따라 전체 쓰기 성능이 제한된다. 동일 모델 동일 주차 생산품으로 구성한 경우는 크게 차이가 없을 수 있다.
RAID 1은 데이터 중복성을 제공하므로, 디스크 하나가 고장나더라도 데이터 손실 없이 시스템을 계속 사용할 수 있다는 장점이 있다.
멤버 디스크를 늘리더라도 저장 공간은 증가하지 않으며, 대신 가용성이 크게 증가한다. 상용 환경에서는 디스크를 2개 초과해서 쓰는 경우가 드물지만, 극한 환경에서는 3개 이상의 멤버 디스크를 사용하기도 한다.
최소 디스크 갯수: 2
용량: (디스크 갯수 / 2) * 디스크 용량
○ RAID 5
패리티가 배분되는 스트라이핑 된 세트. 패리티 정보는 각 드라이브에 걸쳐 스트라이핑되므로 하나의 드라이브가 고장나더라도 어레이가 작동할 수 있다. 어레이의 아키텍처는 읽기 및 쓰기 작업을 여러 드라이브에 걸쳐 수행할 수 있도록 한다. 이로 인해 단일 드라이브보다 성능이 향상되지만 RAID 0 어레이만큼 높지는 않다. RAID 5에는 최소 3개의 디스크가 필요하지만 성능상의 이유로 최소 5개의 디스크를 사용하는 것이 좋다.
하나의 멤버 디스크 고장에는 견딜 수 있지만 디스크가 두 개 이상 고장 나면 데이터가 모두 손실된다. RAID 0보다는 안전하다는 인식과 달리 오히려 많은 량(보통 8개 이상)의 디스크를 스토리지로 묶으면, 패리티 연산오류 발생 확률이 높아져서 RAID 0으로 묶은 것보다 깨질 확률이 높아진다. 그러므로 대단위로 스토리지를 만드려면 RAID 6또는 RAID 10을 권한다.
데이터가 분산 저장되어 있기 때문에 어레이가 깨지면 데이터를 살리기 어렵다. 어레이를 복구하려고 하드를 뽑았는데, 정상이었던 하드를 뽑아서 어레이가 깨지는 경우도 있다.
현대의 8TB 이상 대용량 하드디스크에는 사용하지 않는 것이 권장된다. 복구에 매우 오랜 시간이 소요되기 때문이다. 일 단위로 소요되는 북구작업 중에 다른 디스크가 고장나면 그대로 어레이 전체가 망가진다. 복구시에도 다른 접근을 차단하고 오직 복구만 수행하는 것이 권장되는데, 이러면 무중단 운영이라는 목표도 달성할 수 없다.
따라서 비용과 장비의 한계로 4TB 이하 정도의 저장장치를 3개 정도로 구성해야 되는 개인용 서버를 돌리며 조금이라도 안정성과 최대한 용량을 뽑아내고 싶은 경우가 아니라면 그렇게 선택할 메리트가 크지 않는 방식.
데이터베이스 서버 등 큰 용량과 무정지 복구 기능을 동시에 필요로 하는 환경에서 주로 쓰인다.
최소 디스크 갯수: 3
용량: (디스크 갯수 - 1) * 디스크 용량
○ RAID 6
RAID 5와 유사하지만 어레이의 드라이브에 분산된 두 번째 패리티 체계를 포함해서 매우 높은 장애 대비 능력을 제공. 추가 패리티를 사용하면 두 개의 디스크가 동시에 고장나더라도 어레이가 계속 작동할 수 있다.
2020년대 대용량 하드디스크 기준으로 RAID의 최소 기준에 가까운 방식이다. RAID 6보다 못한 내결함성을 지닌 어레이는 구성하지 않는 것이 권장된다.
최소 디스크 갯수: 4
용량: (디스크 갯수 - 2) * 디스크 용량
○ RAID 10(RAID 1+0)
중첩된 RAID 레벨. RAID 1+0은 먼저 디스크를 미러링(RAID 1)하고, 그 이후 스트라이핑 한다(최소 4개의 디스크).
디스크가 6개일 경우는 2개씩 미러링을 하고, 미러링 된 3개를 스트라이핑 한다.
RAID 0+1에 비해 디스크 장애 발생 시 복구가 수월하다.
최소 디스크 갯수: 4
용량: (디스크 갯수 / 2) * 디스크 용량
■ Nested RAID(복합)
레이드 볼륨의 멤버로 다른 레이드 볼륨을 사용하는 형태. 볼륨 확장 과정에서 구성 편의성 문제로 형성되는 경우가 많다. 이 때 멤버 디스크를 묶는 배열을 하위 배열, 하위 배열을 묶는 배열을 상위 배열이라고 한다. 표기 방법은 (하위 배열 숫자)(상위 배열 숫자) 형식이다. 만약 하위 배열 숫자가 0이면 혼동을 피하기 위해 (하위 배열 숫자) “+” (상위 배열 숫자)를 적는다. 대표적인 예시로 10, 0+1, 15, 50, 0+5, 51 등이 존재한다.
■ RAID 컨트롤러
RAID 컨트롤러는 스토리지 어레이에서 하드 디스크를 관리하는 데 사용되는 장치. OS와 물리적 디스크 간의 추상화 수준으로 사용할 수 있으며, 디스크 그룹을 논리적 단위로 표시한다. RAID 컨트롤러를 사용하면 성능을 개선하고 충돌 시 데이터를 보호하는 데 도움이 될 수 있다.
소프트웨어 기반 RAID 구현이 시스템 부팅 프로세스와 호환되지 않고 하드웨어 기반 RAID 컨트롤러가 너무 비싼 경우 펌웨어 또는 드라이버 기반 RAID가 잠재적인 옵션. 펌웨어 기반 RAID 컨트롤러 칩은 마더보드에 위치하며, 모든 작업은 소프트웨어 기반 RAID와 마찬가지로 중앙 처리 장치(CPU)에서 수행된다. 그러나 펌웨어를 사용하면 RAID 시스템은 부팅 프로세스의 시작 부분에서만 구현된다. OS가 로드되면 컨트롤러 드라이버가 RAID 기능을 인계받는다. 펌웨어 RAID 컨트롤러는 하드웨어 옵션만큼 비싸지 않지만 컴퓨터의 CPU에 더 많은 부담을 준다.
○ 하드웨어 기반 RAID 컨트롤러
전체 어레이를 관리. 컨트롤러는 SATA(Serial Advanced Technology Attachment 및 SCSI(Small Computer System Interface와 같은 드라이브 형식을 지원하도록 설계될 수도 있다. 물리적 RAID 컨트롤러는 고가의 서버의 마더보드에 내장될 수도 있지만 RAID 카드 그 자체가 고장 나는 경우도 있기 때문에 보통은 PCle 슬롯에 따로 장착한다.
속도와 안정성 모두 최고급이나 별도의 RAID 카드가 필요하다는 게 단점이다.
○ 소프트웨어 기반 RAID 컨트롤러
중앙 프로세서 및 메모리와 같은 하드웨어 시스템의 리소스를 사용. 하드웨어 기반 RAID 컨트롤러와 동일한 기능을 수행하지만 소프트웨어 기반 RAID 컨트롤러는 성능 향상을 크게 제공하지 못할 수 있으며 서버의 다른 애플리케이션 성능에 영향을 미칠 수 있다.
출처: https://ko.wikipedia.org/wiki/RAID
RAID - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 복수 배열 독립 디스크(Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks)는 여러 개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술
ko.wikipedia.org
출처: https://www.techtarget.com/searchstorage/definition/RAID
RAID가 뭐에요? : 동국시스템즈 포탈 디케이앤유
안녕하세요. 동국시스템즈 대외사업지원팀에서 Quotation 업무를 맡고 있는 이빛나✨입니다.코로나19 거리 두기 4단계로 현재 재택 근무를 하고 있어서 영상이 아닌 블로그로 인사를 대신하겠습니
www.dknyou.com
출처: https://blog.naver.com/suin2_91/223035488810
0~ 10까지 RAID 구조 종류 및 구성방식
오늘은 저장장치를 효과적으로 적용할 수 있는 RAID에 대해 설명해 보도록 하겠습니다. RAID란 무...
blog.naver.com
출처: https://www.snia.org/sites/default/files/SNIA_DDF_Technical_Position_v2.0.pd
출처: https://namu.wiki/w/RAID#s-3.4
RAID
R edundant A rray of I nexpensive/ I ndependent D isk 복수 배열 저
namu.wiki