본문 바로가기

LINUX/Ubuntu

23. 하드 디스크 RAID

RAID
 
RAID 는 여러 개의 디스크를 하나의 디스크 처럼 사용할 수 있게 한다.
 
하드웨어 RAID 도 있고 소프트웨어 RAID 도 있다.
 
여기에서는 가상머신을 통해 소프트웨어 RAID 를 한번 다뤄보자.
 
RAID 에는 다양한 방식이 있는데 특징적으로 아래와 같다.
 
 
 

Linear RAID 
 
단순히 두개의 하드 디스크를 사용하는 것과 동일하다.
 
 

RAID 0 ( Striping )
 
2개의 하드 디스크에 동시 저장하기 때문에 가장 바르다. 
 
I/O 가 일어날 때 데이터를 여러 조각으로 나누어 각각의 디스크에 순서대로 저장하게 된다.
 
하나의 하드디스크라도 깨지게 되면 사실상 나머지 하나의 디스크도 못쓰게 된다.
 
 
 

RAID  1 ( Mirroring )
 
RAID 0 과 달리 안정성에 중점을 둔 RAID 레벨이다.
 
두 개의 디스크에 동일한 데이터를 기록한다.
 
일반적으로 OS 가 설치되는 디스크에 필수적으로 사용되는 구성 방법이다.
 
 
 
 

RAID 4 ( Parity )
 
RAID 0 을 위한 2개의 하드와 문제가 생겼을 때 이를 복원하기 위한 하나의 하드를 더 두는 방식이다.
 
결국 저장되는 데이터는 0 또는 1 이므로 모든 수의 구성이 짝수개를 유지하도록 해서 문제가 생기면 문제가
 
생긴 하드를 복원할 수 있는 방식이다.
 
두 개의 하드디스크에 문제가 생기면 복원할 수 없는 단점과 하나의 하드디스크는 Parity 용으로 사용해서
 
실제 데이터를 저장할 수 없는 단점이 있다.
 
 
 

RAID 5
 
RAID 4 의 문제점이 Parity 용 하드가 하나라서 데이터를 동시에 기록하려고 하면 병목 현상이 일어날 수 있는데
 
이를 개선한 방식이라고 한다.
 

RAID 6
 
RAID 4,5 의 두 개의 하드디스크에 문제가 생기면 복원할 수 없는 단점을 두개의 Parity 하드를 사용해서
 
두개가 동시에 문제가 생겨도 복원이 가능하도록 하는 방식이다.
 
 
 

RAID 0 + 1
 
RAID 0 을 RAID1 로 묶는 방식이다.
 
세트 하나가 Fault 가 발생해도 다른 하나의 세트를 사용할 수 있다.
 
 
 

VMware 에 RAID 구축
 
아래와 같이
 
Linear RAID 를 /dev/sdb, /dev/sdc
 
RAID 0 타입으로 /dev/sdd, /dev/sde
 
RAID 1 타입으로 /dev/sdf, /dev/sdg
 
RAID 5 타입으로 /dev/sdh, /dev/sdi, /dev/sdj
 
형식의 RAID 용 하드 디스크를 추가한다. ( 앞장 참조 )
 
 
 

RAID 타입으로 파티션 나누기
 
각 물리 하드 디스크를 fdisk 로 들어가서 
 
sdb 하드 디스크의 타입을 보면 Linux 로 설정되어 있다.
 
 
type 정보는 t 를 명령창에 입력하면 되고 입력 가능한 타입을 보고 싶으면 L 을 누르면 된다.
 
이중 RAID 를 설정하기 위해 필요한 타입은 "fd" (Linux raid auto) 가 된다.
 
 
fd 를 입력하고 다시 확인해 보면 Type 이 raid autodetect 로 바뀐 것을 확인할 수 있다.
 
 
이 상태에서 w 를 주면 리부팅 하지 않아도 포멧 된 상태가 바로 나타난다.
 
 
마찬가지로 sdc, sde, ... 를 모두 RAID 타입으로 포멧후 실제로 파티션이 포멧되었는지 확인하자.
 
 
 

Linear RAID 만들기
 
앞서 fdisk 로 한꺼번에 파티션은 나누어 놓았다.
 
앞서 일반적으로 하드디스크를 추가하는 것과 달리 논리 볼륨을 구성해야 한다.
 
이를 위한 명령이 mdadm 이다.
 
# 볼륨 그룹 만들기
#   --level = linear (RAID Linear) , 0 (RAID 0) , 1 (RAID 1) , 5 (RAID 5)
#   --raid-devices = 2 ( 논리 볼륨을 구성할 파티션의 개수 )
$ mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1
 
# 볼륨 그룹 확인
$ mdadm --detail /dev/md9
 
# 볼륨 그룹 최근 확인
$ mdadm --detail --scan
아래와 같이 확인해 볼 수 있다.
 
 
이제 포멧하고 마운트하자.
 
 
 마지막으로 /etc/fstab 파일에 마운트 정보를 기록한다.
 
 
...
$ /dev/md9 /raidLinear ext4 defaults 0 0
 
 
 

나머지 RAID 만들기
 
나머지 RAID 를 만드는 과정도 동일하다.
 
mdadm 의 인자만 다르기 때문에 특별히 설명은 하지 않고 위에 구성대로 만들어보자.
 
 

추가작업
 
우분투 버그로 인해 한가지 작업을 더 해주어야 한다.
 
아래와 같이 논리 볼륨 정보를 수동으로 기입해야 한다.
 
이때 name=xx 부분은 지운다.
 
 
 
 
 

'LINUX > Ubuntu' 카테고리의 다른 글

25. 텔넷 서버  (0) 2020.01.29
24. LVM  (0) 2020.01.29
22. 하드디스크 추가  (0) 2020.01.29
21. 소켓  (0) 2020.01.29
20. 서비스 ( 데몬 )  (0) 2020.01.29