박봉달의 개발생활

[리눅스마스터 1급:#7] 리눅스와 RAID 본문

Qualification/리눅스 마스터 1급

[리눅스마스터 1급:#7] 리눅스와 RAID

박봉달 2021. 1. 3. 23:34
728x90

안녕하세요

박봉달입니다!

 

오늘은 리눅스 마스터 1급 공부 여섯째날의 기록을 남겨보도록 하겠습니다.

서적은 이기적 리눅스마스터 1급 이론서+기출문제를 기본으로 하고 있습니다.

 


 

1. 리눅스와 하드웨어

▶ 하드웨어의 이해

* 컴퓨터의 구성요소

 

 

1) 중앙처리장치

- 외부에서 정보를 입력받아 명령어들을 해석하여 연산하고 결과를 반환하여 시스템을 통제하는 제어장치

- CPU는 레지스터와 연산장치(ALU : Arithmetic-Logic Unit) 그리고 제어장치(Control Unit : CU)로 구성된다

- 레지스터는 연산을 위한 임시 저장소 역할을 하며 작은 데이터만 저장하나 액세스 속도는 빠르다

- 연산장치는 데이터들간의 비교, 판단, 연산을 수행한다

- 제어장치는 입력된 명령어를 해석하고 명령을 연산장치 등으로 보내고 주소를 디코드하여 레지스터에 데이터를 저장

 

2) 주기억장치

- CPU가 처리할 명령어와 데이터를 저장하기 위한 컴퓨터 하드웨어 장치이다

- 메모리는 휘발성 RAM과 비휘발성 ROM으로 분류 가능하다

- RAM 은 전원 공급이 중단되면 정보 손실이 있고, 메모리상 어느 주소에 접근하든 엑세스 시간 동일

- RAM은 DRAM과 SRAM으로 나뉜다

- ROM은 전원 중단 되더라도 데이터가 소멸되지 않는다

- ROM은 처음 켰을떄 구동 위한 BIOS와 같은 프로그램이 적재된다

- ROM은 저장 데이터를 변경할 수 없는 MASK ROM, 저장된 데이터를 1회 수정 가능한 PROM, 메모리에 저장된 데이터를 수회 삭제 및 저장할 수 있는 EPROM으로 구분됨

 

3) 입출력장치

- 입력장치에는 키보드, 마우스, 카메라. 스캐너, OMR, OCR, 트랙볼, 터치패드, 바코드, 조이스틱

- 출력장치에는 대표적으로 모니터, 프린터 등이 존재한다

 

4) 보조기억장치

- 주기억장치는 속도가 빠르나 용량이 작고 비싸다

- 보조기억장치는 속도는 느리나 용량이 크고 가격이 저렴하다

- 사용자의 데이터를 저장하거나 주기억장치의 메모리가 부족함을 해결하기 위해 가상메모리를 위한 스왑 영역으로 사용된다

- 하드 디스크, SSD, CD-ROM, DVD 등

 

▶ 하드웨어 선택

1) RAID의 개요

- 하드디스크의 고성능 구현과 신뢰성을위해 여러 개의 하드디스크를 구성하고 일부에 중독된 데이터를 나눠 저장하는 복수 배열 독립 디스크 기술이다 (Redundant Array of Independent Disks)

- RAID0은 고성능 구현을 추구하고, RAID 1은 무정지 구현을 위해 사용된다 (RAID 1+0과 0+1은 이 둘을 혼합한 형태이다)

- RAID 5와 6은 고성능과 무정지 둘 다 추구한다

- 하나의 RAID는 운영체제에서 논리적으로 하나의 하드 디스크로 인식된다

- 스트라이핑 기술을 디스크의 성능 향상을 위해 연속된 데이터를 여러 개의 디스크에 라운드 로빈 방식으로 기록하는 기술이다

- 미러링 기술은 무정지를 위한 핵심 기술로서, 디스크에 에러 발생 시 디스크 운영 정지를 방지하기 위해 추가적으로 하나 이상의 장치에 중복 저장하는 기술이다

 

▶ RAID의 종류

1) RAID-0

- 데이터를 하나의 디스크가 아닌 여러 디스크에 걸쳐 저장하는 스트라이핑 기술을 이용하여 분산 저장

- 데이터를 저장할 때 여러 디스크에 동시에 쓸 수 있기에 속도가 빠르다

- 중복이 없고 패리티 기술을 사용하지 않기 때문에 구성된 디스크 중 하나라도 오류가 발생하면 복구 불가

 

2) RAID-1

- 패리티나 스트라이핑 없이 미러링 기술을 사용하여 데이터를 두개의 디스크에 동시 기록

- 각 디스크의 데이터를 동시 읽기 가능하여 속도 향상

- 하나의 디스크에 쓰기를 하는 것과 양 디스크에 쓰기 하는 것은 시간 면에서 동일

- 동일 데이터가 양 디스크에 존재하므로 오류 시 미러링 된 데이터 복구 가능

- 데이터를 중복 저장하기에 효율성이 50%

 

3) RAID-2

- 비트 레벨의 스트라이핑을 통하여 최소 3개의 디스크에 데이터를 분산 저장

- 오류 정정 부호를 기록하는 전용의 하드디스크 이용

- ECC를 통해 오류 복구 가능하나 추가 연산 필요해 속도 떨어짐

 

4) RAID-3

- 바이트 수준의 스트라이핑 통해 데이터 분산 저장

- 한번 읽거나 쓸 때 각 디스크에 동시 접근 가능하므로 순차적 쓰기와 읽기 성능 우수

- 패리티를 제공하여 오류 체크 및 복구 수행 가능

 

5) RAID-4

- 블록 레벨의 스트라이핑 통해 데이터 분산 저장

- 패리티 이용하여 오류 체크 및 정정 기능 제공

- 블록 단위로 데이터 저장되어 단일 디스크에서 데이터 읽을 수 있고 여러 디스크에서 동시 데이터 읽기 가능

- 데이터 쓸 때마다 패리티 디스크도 접근하기에 쓰기 성능 좋진 않다

 

6) RAID-5

- RAID-4와 같이 블록 수준 스트라이핑 저장되며, 패리티도 별도 디스크가 아닌 모든 디스크에 나뉘어 저장

- 성능 면에서 RAID 0보다 부족하지만 성능, 안정성, 용량 세 부분을 모두 고려하여 사용

 

7) RAID-6

- RAID-5와 유사한 구성이며 2차 패리티 구성을 포함함

- RAID-5의 경우 1개의 디스크 오류 대처 가능하지만 RAID-6은 2개의 디스크 오류에 대처 가능

 

8) RAID 0+1

- 디스크 2개를 스트라이핑 기술을 사용하는 RAID 0으로 구성하고 이러한 RAID 0 구성 세트를 다시 미러링 기술을 사용하는 RAID 1 로 구성하는 방식

 

9) RAID 1+0

- 디스크 2개를 RAID 1으로 구성하고 이 세트를 다시 RAID 0로 구성하는 방식

- RAID 1보다 높은 성능을 제공하지만 가격이 비싸다

 

10) RAID 5+3

- RAID-3 방식에 스트라이프 어레이를 구성하는 방식

- RAID-3 보다 높은 성능을 제공하지만 가격이 비싸다


 

▶ 디스크 인터페이스

1) IDE(Intergrated Driver Electronics)

- 가장 오래된 규격으로 40개의 핀으로 된 병렬 인터페이스

- 병렬 전송을 강조하는 의미에서 PATA(Parallel Advanced Technology Attachment)라고 부름

- 초기형 IDE 보다 향상된 E-IDE가 있으며 133.3mb/s로 데이터 전송

 

2) S-ATA

- IDE의 한계 극복 위해 직렬 전송하는 인터페이스

- SATA1은 초당 150mb, SATA2는 초당 300MB의 속도 보인다, SATA3는 6GBps를 제공

- SATA2는 허브를 이용해 하나의 포트에 여러 하드디스크 연결 가능

 

3) SCSI (Small Computer System Interface)

- 고성능과 안정성, 신뢰성을 중시하는 워크스테이션 및 서버 시장에서 주로 사용하던 디스크 인터페이스

- IDE와 마찬가지로 병렬전송, 병렬전송의 한계가 존재

 

4) SAS(Serial Attached SCSI)

- SCSI 한계를 극복하기 위해 시리얼 방식을 도입한 디스크 인터페이스

- SCSI의 안정성과 확장성, 신뢰성을 이어가면서 시리얼 전송을 통해 속도 향상

 

▶ LVM(Logical Volume Manager)

1) LVM의 개요

- 블록 디바이스를 유연하게 관리하기 위해 여러 블록 디바이스를 가상의 Logical Volume에 매핑하고, 스토리지를 관리하는 커널 기능 

- 기존에는 블록 디바이스에 직접 I/O를 수행했지만, LVM 기반 시스템은 블록 디바이스 대신 LVM이 매핑한 Logical Volume에 I/O를 수행한다

- LVM을 통해 유연한 용량, 크기 조절 가능한 스토리지 풀, 온라인 데이터 재배치, 디스크 스트라이핑, 미러 볼륨, 볼륨 스냅샷 기능 제공

 

2) LVM의 구성도

 

 

3) LVM의 구성요소

- PV(Physical Volume) : 기존의 블록 디스크를 LVM에서 사용할 수 있도록 변환한 볼륨 형식

- PE(Physical Extent) : PV는 PE라 불리는 일정 크기의 블록으로 구성되며, 기본 크기는 4MB

- VG(Volume Group) : 여러 PV를 하나의 VG로 묶어 통합 가능. VG에 LV를 할당 가능

- LV(Logical Volume) : VG에서 필요한 만큼 할당하여 만들어지는 공간, 사용자는 LV를 통해 하드디스크에 접근

- LE(Logical Extent) : LV를 구성하는 일정 크기의 블록으로 기본 크기는 PE와 마찬가지로 4MB

 


 

오늘은 리눅스와 하드디스크 구성 방식에 대해 알아보았습니다.

리눅스 마스터 1급 공부 여섯째날의 포스트를 이것으로 마치고,

내일 다시 돌아오도록 하겠습니다!

 

읽어주셔서 감사합니다!

좋은 정보 가지고 계신 분이 계시다면

댓글 부탁드려요 :)

 

728x90
반응형