RAID (Redundant Array of Independent Disk / Redundant Array of Inexpensive Disk)
= 속도가 느린 하드디스크의 단점을 보완하기 위해 만든 기술
= 여러 개의 디스크를 묶어 하나의 디스크처럼 사용하는 기술
RAID Level (구성 방식) [Standard]
RAID 0 = Striping
- 최소 2개의 디스크 필요
- RAID를 구성하는 모든 디스크에 데이터를 분할하여 저장
- 전체 디스크 동시 사용으로 성능은 단일 디스크 성능의 N배 / 용량 역시 N배
- 안정성은 1/N으로 감소 (하나의 디스크에 문제가 발생할 경우 전체 RAID가 깨짐)
- -> 성능 / 용량은 최대한으로 사용 | 안정성은 극악
- 실제 서버 환경에서는 거의 사용 X
RAID 1 = Mirroring
- 최소 2개의 디스크 필요
- RAID 컨트롤러에 따라서 2개의 디스크 구성 혹은 그 이상의 개수 사용 구성 가능
- 모든 디스크에 데이터를 복제하여 기록
- 동일한 데이터를 N개로 복제하여 각 디스크에 저장
- 여러 개의 디스크로 RAID를 구성하여도, 실제 사용 가능 용량은 단일 디스크 용량과 동일
- 단일 디스크의 Write 성능보다 낮음
- Read 의 경우 전체 디스크에서 읽어오기 때문에 단일 디스크의 N배의 성능
- 최대 강점은 안정성 => N-1개의 디스크가 고장나도 데이터 사용
- 비용 문제로 거의 사용 X => 안정성이 중요한 시스템에서는 사용 가능
RAID 2 = 현재는 사용하지 않는 RAID Level
- Bit 단위 Striping / Error Correction을 위해 Hamming Code 사용
- m + 1개의 데이터 디스크
- m개의 패리티 디스크 구성 ( N == (m+1) + m)
- 최소 3개의 디스크 구성 가능
- 1개의 디스크 에러 시 복구 가능 (2개 이상의 디스크 에러 시 복구 불가능)
RAID 3 = 현재는 사용하지 않는 RAID Level
- Byte 단위 Striping / Error Correction을 위해 패리티 디스크 1개 사용
- 너무 작게 Striping 뒤어 현재는 사용 안하는 이유
- 용량 및 성능이 단일 디스크 대비 (N-1) 배 증가
- 최소 3개의 디스크 구성 가능
- 1개의 디스크 에러 시 복구 가능 (2개 이상의 디스크 에러 시 복구 불가능)
RAID 4 = 현재는 (거의) 사용하지 않는 RAID Level (= RAID 4 지원하는 RAID 컨트롤러 존재)
- Block 단위 Striping / Error Correction을 위해 패리티 디스크 1개 사용
- 용량 및 성능이 단일 디스크 대비 (N-1) 배 증가
- 최소 3개의 디스크 구성 가능
- 1개의 디스크 에러 시 복구 가능 (2개 이상의 디스크 에러 시 복구 불가능)
- Block 단위로 Striping 하는 방식은 RAID 5 / RAID 6과 동일
- 패리티 코드를 동일한 디스크에 저장하여 패리티 디스크 사용량이 높아 해당 디스크 수명 감소
- 이를 개선한 RAID로 RAID 5 탄생
RAID 5 = 사용 빈도 최다 RAID Level
- Block 단위 Striping / Error Correction을 위해 패리티 디스크 1개 사용
- 패리티 저장 디스크를 고정하지 않고, 매 번 다른 디스크에 저장
- 용량 및 성능이 단일 디스크 대비 (N-1) 배 증가
- 최소 3개의 디스크 구성 가능
- 1개의 디스크 에러 시 복구 가능 (2개 이상의 디스크 에러 시 복구 불가능)
- RAID 0에서 성능 / 용량을 조금 줄이는 대신 안정성을 높인 RAID Level
RAID 6 = RAID 5에서 성능 / 용량을 조금 더 줄이는 대신 안정성을 더 높인 RAID Level
- Block 단위 Striping / Error Correction을 위해 패리티 디스크 2개 사용
- 패리티 저장 디스크를 고정하지 않고, 매 번 다른 디스크에 저장
- 용량 및 성능이 단일 디스크 대비 (N-2) 배 증가
- 최소 4개의 디스크 구성 가능
- 2개의 디스크 에러 시 복구 가능 (3개 이상의 디스크 에러 시 복구 불가능)
- 주로 서버 환경에서 사용
RAID Level (구성 방식) [Nested]
Standard RAID를 여러 개 중첩하여 사용 = 복수의 Standard RAID를 다시 RAID
EX) 2개의 RAID 0을 RAID 1로 재 RAID ( RAID 0+1 or RAID 01)
2개의 RAID 1을 RAID 0로 재 RAID ( RAID 1+0 or RAID 10)
출처 : https://harryp.tistory.com/806
https://en.wikipedia.org/wiki/RAID
[RAID 설정]
1. RAID 설정 전, Linux Device 정보 확인
2.Partition 설정
- RAID 설정을 진행할 Device 선택
- 10GB 중 1GB를 Partitioning
- Partition 종류 변경
명령어 개요 fdisk
- Partition Table 관리 명령어 [fixed disk]
- Command 입력 명령어 (fdisk 모드)
- Command T -> L 입력 시, Partition Type 출력
3. RAID Type 설정
- fd 으로 Type 변경
- -p 으로 설정 확인 및 -w 으로 설정 저장
4. 설정 후, Type 변경 확인
5. RAID할 나머지 Device도 한번 더 진행 후 확인
6. RAID 생성
명령어 개요 mdadm
- RAID 장치 관리 명령어
mdadm | --create | /dev/md0 | --level=0 | --raid-devices=2 | /dev/sdb1 /dev/sdc1 |
RAID 장치 관리 명령어 | 생성 옵션 | 디바이스 파일명 | RAID 레벨 | RAID 장치 개수 | RAID에 포함되는 디스크명 |
7. RAID 생성 확인
- ARRAY /dev/md/0으로 생성 확인
8. RAID /dev/md0 Formatting
- 설정한 md0을 ext4으로 포맷
명령어 개요 mkfs
- File System 포맷 명령어 [Make File System]
9. RAID 장치 Mount
- /raid0 Directory 생성 후, md0를 /raid0 Directory에 마운트
- df -h으로 Directory 확인
명령어 mkdir 개요
- Directory 생성 명령어 [Make Directory]
명령어 mount 개요
- 물리적 장치를 특정 Directory에 연결하는 명령어
10. RAID 설정 재 확인
'IT > ㄴ Linux' 카테고리의 다른 글
[CentOS] nmcli (0) | 2023.06.29 |
---|---|
[CentOS] 점검 명령어 정리 [df / top / free / netstat / Log File 보기] (0) | 2023.06.29 |
[CentOS] nmtui 설정 (0) | 2023.06.28 |
[CentOS] Run Level 확인 및 설정 [init] (0) | 2023.06.28 |
[CentOS] Swap Memory 설정 [free / swapon / fallocate / dd] (0) | 2023.06.26 |