일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹페이지 기본
- multicast
- html input tag
- docker
- RAID개념설명
- 개념설명
- HTML
- 삼성SW역량테스트
- jupyter
- 삼성sw역량테스트b형
- html태그정리
- Ubunrtu
- 코딩테스트후기
- RIAD0
- html환경구축
- tensorflow
- Linux
- html input
- raspberrypi
- RAID구축
- 다항회귀
- CSS
- 다항회귀예제
- HTML예제
- C언어
- 라즈베리파이
- 멀티캐스트
- ubuntu18.04
- Raid
- TensorflowServer
- Today
- Total
Easy ways
RAID 란?? 본문
요즘 빅데이터 시대가 열리며 데이터의 가치가 올라가면서 서버의 중요성도 함께 올라가고 있습니다.
이러한 서버를 구축하기 위해선 거의 필수적으로 저장장치가 필요하죠 (HDD나 SSD)
저장장치를 어떻게 하면 효율적으로 사용할 수 있을까요?
어떻게 하면 더 안전하게 데이터를 저장하고 더 빠르게 읽고 쓸 수 있을까요?
그리하여 고안된것이 RAID입니다.
RAID란?
RAID는 Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks의 약자로
저장장치를 효율적으로 사용하기 위하여 제안된 기술입니다. (디스크 어레이라고도 부릅니다)
RAID를 한마디로 말하자면 여러 개의 하드디스크를 묶어 사용하는 겁니다.
데이터를 의도적으로 중복시켜 안정성을 높이거나
데이터를 나누어 저장하여 빠르게 읽고 쓸 수 있도록 하는 기술입니다.
레이드는 다양한 방식이 존재하는데 이를 레벨이라고 합니다.
RAID Level
레이드 레벨은 아주 여러 가지가 있지만 일반적으로 0,1,5,6,10 5가지 방식이 있습니다.
같은 연결이더라도 어떤 레벨로 구성하냐에 따라 완전히 다른 결과가 나옵니다.
RAID 0 : Striping
Minimum number of devices : 2
RAID 0 스트라이핑입니다.
N개의 디스크를 마치 하나의 디스크처럼 사용하는 겁니다.
2TB 하드 2개가 있다면 마치 4TB 하나처럼 사용하는 것이죠
2개로 나누어 사용하는 거랑 무슨 차이일까요?
하드디스크에 들어가는 입구가 2개이니 쓰기 속도 읽기 속도가 2배로 빨라집니다. 디스크 N개당 N배 빨라지게 되는 겁니다.
하드디스크가 병렬로 연결되어있다는 점을 이용하여 성능과 용량을 최대한으로 사용하는 겁니다.
하지만 하나의 디스크라도 고장 나면 전체 디스크 복구 불가능합니다.
안정성이 크게 중요하지 않고 성능이 중요한 곳에서 사용하면 됩니다
RAID 1 : Mirroring
Minimum number of devices : 2
RAID 1은 미러링이라고 하죠. 말 그대로 복제입니다.
혹시라도 하드디스크 하나가 터져버렸다면..? 백업이 안되어있다면?
거기 있는 데이터들은 말 그대로 공중분해되어버리는 거죠..
만약 그 데이터들이 대체 불가능한 아주 소중한 데이터였다면 머리 뜯는 수준에서 끝나지 않는 문제가 될 겁니다
RAID 1은 이러한 문제를 막기 위해 두 개의 하드디스크에 동시에 같은 내용을 적는 것입니다
디스크 N개당 하나의 데이터를 쓰는 것으로 쓰기 속도는 조금 상실될 수 있지만 읽기 속도는 N배 늘어납니다.
데이터 안정성이 필요한 곳에서는 필수적인 기술입니다.
RAID 5
Minimum number of devices : 3
RAID 5는 스트라이핑과 패리티를 함께 사용합니다.
스트라이핑은 RIAD 0에서 설명한 것처럼 각각의 저장 장치에 데이터를 분산하여 저장하는 기술이며 처리속도가 향상됩니다.
하지만 스트라이핑만 사용하면 안정성이 떨어집니다.
RAID 5에서는 이러한 스트라이핑의 단점을 보안하기 위하여 패리티를 사용합니다.
패리티는 정보 전달 과정에서 오류가 생겼는지 검사하기 위한 추가 비트를 뜻합니다.
데이터가 드라이브에 기록되면서 시스템은 패리티를 계산하고 해당 패리티를 디스크에 기록합니다.
패리티를 계산하고 다른 디스크에 저장하여 에러가 발생했을 경우 복구할 수 있도록 한 것이 RAID 5입니다.
패리티를 저장하는 디스크를 고정하지 않고, 매 번 다른 디스크에 저장합니다.
읽는 속도는 N배 빨라집니다.
쓰는 속도는 그냥 스트라이핑이 디스크 개수(N)만큼 N배 빨라진다면 RAID 5는 (N-1) 배로 빨라집니다
미러링과 다른 점은 미러링은 장애 발생 시 각 볼륨에 여러 데이터 사본을 유지하는 반면 RAID 5는 고정 단일 드라이브에 보관되지 않는 패리티 데이터를 사용하여 장애가 발생한 드라이브를 재구축할 수 있게 합니다.
각 드라이브에 데이터를 보관하면 두 개의 디스크의 데이터를 결합하여 세 번째 디스크에 저장된 데이터와 동일하게 만들 수 있는 것입니다.
RAID 5를 사용하면 고장 난 하드디스크를 신속하게 교체할 수 있으며 단일 디스크 장애를 허용합니다. 또한, 속도와 안정성을 모두 제공하는 모델로 다양한 방면에서 사용됩니다.
하지만 패리티 데이터 계산으로 인해 쓰기 속도가 느려지는 경향이 있고 재구축 중에 다른 디스크가 고장 나면 모든 데이터가 영구적으로 손실된다는 단점이 있습니다.
RAID 6
Minimum number of devices : 4
RAID 6은 RAID 5에서 안정성을 좀 더 높이기 위한 방식으로 패리티를 2개의 디스크에 저장하는 방식입니다.
패리티 저장하는 디스크를 고정하지 않고, 매 번 다른 디스크에 저장합니다.
읽는 속도는 N배 빨라집니다.
쓰는 속도는 그냥 스트라이핑이 디스크 개수(N)만큼 N배 빨라진다면 RAID 6는 (N-2) 배로 빨라집니다
최대 2개의 디스크 장애를 허용합니다. (3개 이상의 디스크 에러 시 복구 불가능)
RAID 10 : RAID 1+ 0
Minimum number of devices : 4
RAID 10은 RAID 0과 RAID 1의 단일 시스템에 결합하여 사용한 방식입니다.
미러링 되어있는 디스크들을 스트라이핑 하는 것으로 안정성과 속도를 모두 잡은 방식입니다.
RAID 10은 디스크가 고장 났을 때 복구가 빠릅니다.
RAID 5는 디스크 하나가 고장 나면 다른 모든 디스크를 읽어야 하지만 RAID 10은 하나의 디스크만 읽으면 되기 때문입니다.
읽기 속도는 N배 쓰기 속도는 N/2배 빨라집니다. 하지만 비용이 많이 든다는 단점이 있습니다.
요약
(N : 전체 하드디스크 개수)
Level | 설명 | 최소디스크 개수 |
성능 |
저장효율성 |
디스크 장애 허용 개수 | |
읽기 속도 | 쓰기속도 | |||||
RAID 0 | Striping | 2 | N | N | 1 | 0 |
RAID 1 | Mirroring | 2 | N | 1 | 1/N | N-1 |
RAID 5 | Striping + Parity | 3 | N | N-1 | 1-(1/N) | 1 |
RAID 6 | Striping + Parity * 2 | 4 | N | N-2 | 1-(2/N) | 2 |
RAID 10 | RAID 0 + RAID 1 | 4 | Depends | Depends | Depends | 하위배열당 1개 |
[ RAID 10은 몇 개의 디스크를 RAID 0으로 두냐에 따라 효율성 및 속도가 변합니다.]
참조
www.prepressure.com/library/technology/raid#raid-10
searchstorage.techtarget.com/definition/RAID-5-redundant-array-of-independent-disks
en.wikipedia.org/wiki/Standard_RAID_levels
www.acronis.com/en-us/articles/whats-raid10-and-why-should-i-use-it/
'개념정리' 카테고리의 다른 글
[python]다항회귀(Polynomial Regression)란? [예제 포함] (1) | 2022.07.25 |
---|---|
[개념정리] 빅엔디안(Big Endian)과 리틀엔디안(Little Endian) (0) | 2021.03.24 |
멀티캐스트(multicast)란? [feat. 브로드캐스트(broadcast)] (1) | 2021.02.05 |