6장. 디스크 관리와 사용자별 공간 할당 (5) - RAID 0, RAID 1, RAID 5 구현

728x90
반응형

출처 : https://www.youtube.com/watch?v=uTdCT1toGzY&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=37

 

RAID 0 구축

RAID 0는 Linear RAID 와 비슷하게 2개 이상의 디스크를 1개의 볼륨으로 사용한다는 공통점이 있지만, 모든 디스크를 동시에 사용하는 스트라이핑 방식으로 동작한다는 차이점이 있다. 

 

구현 방법은 Linear RAID와 비슷하다. 차이점은 RAID 장치를 /dev/mod0로 사용하는 것과 mdadm 명령을 실행할 때 --level=0로 설정하며, 마운트할 디렉토리는 /raid0라는 것 정도다.

 

 

파티셔닝 등의 선처리 작업은 이전에 진행했으므로 mdadm 명령을 사용해 RAID를 만들어서 하나의 볼륨을 만든다. 논리 볼륨의 이름은 /dev/md0 라고 이름짓자.

 

다음 명령을 입력해 /dev/sdd1과 /dev/sde1을 RAID 0 장치인 /dev/md0로 생성하고 잘 생성되었는지 확인한다.

 

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1
-> RAID를 만들어라 /dev/md0라는 장치로 RAID 0로 장치는 2개를 쓰는데 /dev/sdd1과 /dev/sde1이다.
mdadm --detail --scan -> RAID 확인

 

논리 볼륨을 생성한 다음 mkfs.ext /dev/md0 명령을 입력해 /dev/md0 파티션 장치의 파일시스템을 생성한다. 즉, /dev/md0를 포맷한다.

 

그리고 /raid0 디렉토리를 생성한 다음, mount /dev/md0 /raid0 명령을 입력해 /dev/md0를 /raid0 디렉토리에 마운트한다.

 

 

gedit /etc/fstab 명령을 입력해 /etc/fstab을 gedit 에디터로 실행한다. 그 다음 맨 아래줄에 다음 명령을 입력한다. (블로그 주인장은 가상 머신을 껐다가 켰더니 에러가 나서 스냅샷을 통해 디스크 9개 파티셔닝했을 때로 초기화했다. 원래대로라면 이전에 했던 /dev/md9 또한 존재하는 것이 맞다.)

/dev/md0	/raid0	ext4	defaults	0	0

 

저장하고 에디터를 닫는다.

 

 

RAID 1 구축

RAID 1의 핵심은 미러링(Mirroring)이다. 즉, 동일한 데이터를 각 디스크에 모두 저장하는 방식이다.

 

RAID 1은 데이터를 저장하는데 2배의 용량을 사용해 결론적으로 총 디스크 용량의 절반밖에 사용하지 못한다는 단점이 있지만, 2개의 디스크 중 하나가 고장 나더라도 데이터가 손실되지 않는다는 장점이 있다. 즉, 디스크가 고장나도 없어져서는 안 될 중요한 데이터를 저장할 때 유용하다.

 

운영체제 항목에 저장한 내용을 참고하면 좋다.

 

 

운영체제 12. 입출력 시스템 & 디스크 관리 (3) - RAID Architecture

출처 : https://www.youtube.com/watch?v=omDkxSyol98&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=45 이번 시간에는 RAID Architecture에 대해서 알아본다. RAID는 디스크 시스템의 성능을 높이는 방법 중 하나이다. RAID Architec

zangwoo.tistory.com

 

구축하는 방법은 RAID 0과 거의 같다.

 

 

다음 명령어를 입력한다.

 

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1
	-> 'Continue creating array?' 메시지가 나오면 y를 입력해서 계속 진행한다.
            RAID 1은 부팅디스크로 사용 못한다는 내용이다.
mdadm --detail --scan -> RAID 확인

 

 

mkfs.ext4 /dev/md1 으로 포맷팅을 해준다.

 

/raid1 디렉토리를 생성한 다음 해당 디렉토리로 /dev/md1을 마운팅 해준다. RAID 1은 공간 활용률이 50% 밖에 안되기 때문에 1GB 밖에 사용하지 못한다.

 

 

gedit /etc/fstab 명령을 입력해 /etc/fstab을 gedit 에디터로 실행한다. 그 다음 맨 아래줄에 다음 명령을 입력한다.

 

/dev/md1	/raid1	ext4	defaults	0	0

 

저장하고 에디터를 닫는다.

 

 

mdadm --detail /dev/md1 명령을 입력하면 /dev/md1의 상세 정보를 확인할 수 있다.

 

2개의 장치가 작동하고 있고, 그 2개의 장치는 /dev/sdf1과 /dev/sdg1 이다.

 

 

RAID 5 구축

RAID 0는 속도와 공간 효율성은 뛰어나지만 Reliability를 보장하지 못하고, RAID 1는 Reliability는 보장하지만 속도의 향상이 없고 공간 효율성이 절반으로 떨어진다는 단점이 있다.

 

이 장점들을 어느 정도 포용하는 방식이 RAID 5다. RAID 5는 최소한 3개 이상의 디스크가 있어야만 구성이 가능하다. 디스크에 오류가 발생하면 Parity를 이용해 데이터를 복구하는 방식이다.

 

한 개의 디스크를 Parity로 사용하기 때문에 공간 효율성은 약간 떨어지지만, 많은 디스크를 사용할수록 공간 효율성은 증가한다. 4개의 디스크를 RAID 5로 구축하면 75%(3/4), 10개의 디스크를 RAID 5로 구축하면 90%(9/10) 이 된다.

 

Parity bit는 네트워크, 운영체제 심지어 디지털 논리회로에서도 사용된다. 자세한 내용은 네트워크 항목 참고.

 

 

6. The Link Layer and LANs (1)

본 장에서 가장 중요한 점은 MAC address와 multiple access 부분이다. ​ 6.1 Introduction, Services Link layer의 가장 큰 특징은 모든 노드들(host와 라우터)에 다 구현이 되어있다는 점이다. ​ 코어 파트의 디바

zangwoo.tistory.com

 

 

 

다음 명령어를 입력한다. 주의해야 할 점은 RAID 5는 최소한 3개의 디스크를 사용해야한다는 점이다. 우리는 /dev/sdh1, /dev/sdi1, /dev/sdj1 을 사용한다.

 

mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdh1 /dev/sdi1 /dev/sdj1
mdadm --detail --scan

 

 

mkfs.ext4 /dev/md5 명령을 입력해 /dev/md5 를 포맷한다.

 

그 다음 /raid5 디렉토리를 생성한 다음, /dev/md5를 /raid5 디렉토리에 마운트한다.

 

df 명령을 통해 살펴보면 /dev/md5 는 2GB를 사용하는 것을 확인할 수 있다. 왜냐하면 1GB 용량의 3개의 디스크 중 1개의 디스크는 Parity로 사용하기 때문이다. 만약 10개의 디스크를 사용했다면 9GB를 사용할 수 있다.

 

 

gedit /etc/fstab 명령을 입력해 /etc/fstab을 gedit 에디터로 실행한다.

 

제일 마지막 줄에 다음 명령을 입력한다.

 

/dev/md5	/raid5	ext4	defaults	0	0

 

저장하고 에디터를 닫는다.

 

 

mdadm --detal /dev/md5 명령을 입력해서 살펴보면 /dev/sdh1, /dev/sdi1, /dev/sdj1 총 3개의 장치를 사용하고, 가용 용량은 2GB 인 것을 확인할 수 있다.

 

 

현재 상황에서 재부팅을 하면 안된다. mdadm --detail --scan 명령을 입력한 다음 출력되는 결과들을 복사해둔다.

(아마 이 글을 보고 실습하는 분들께서는 총 4줄이 나올것이다. 블로그 주인장도 추후 다시 실습해놓겠다.)

 

 

그 다음 gedit /etc/mdadm.conf 를 입력해 새로운 파일을 연다. 그 다음 ctrl + v를 눌러 복사한 내용을 붙여넣는다. 그리고 각 행의 name 부터 localdomain=숫자 까지 지운다. 이 과정을 진행하지 않으면 부팅할 때 문제가 생긴다. (블로그 주인장은 그래서 스냅샷으로 복구했다....)

 

저장하고 에디터를 닫은 다음 재부팅을 한다.

 

 

재부팅을 해서 root로 로그인 한 다음 터미널을 열고 df 명령을 입력하면 md0~md9까지 잘 작동하고 있는 것을 확인할 수 있다.(아주 빠르게 LinearRAID를 다시 구축했다)

 

이렇게 총 4개의 RAID를 구축했다.

 

 

이 상태를 snapshot으로 저장을 하자. 혹시 snapshot 사용 방법이 기억나지 않는다면 밑의 글을 참고하자.

 

 

VMware Workstation Pro를 활용한 Snapshot

VMware Player는 무료 프로그램으로 snapshot 기능을 제공하지 않는다. 그러므로 VMware Workstation Pro를 사용해야 한다. VMware Workstation Pro를 실행한다. 다음 가운에데 Open a Virtual Machine을 클릭한다. 우리가

zangwoo.tistory.com

 

 

 

 

728x90
반응형