개발일기장

chapter 06 - 하드디스크 관리와 사용자별 공간 할당 (2) 본문

책 정리/리눅스 CentOS 8

chapter 06 - 하드디스크 관리와 사용자별 공간 할당 (2)

게슬 2023. 1. 2. 23:10
728x90

여러 개의 하드디스크를 하나의 하드디스크 처럼 사용할 수 있는 RAID와 LVM에 대해서..

HW RAID와 SW RAID가 있고

RAID 레벨 0~6까지 있는거는 여기서 이야기 할게 아닌거같음

근대 맨날 까먹음

  사용량  
단순 볼륨 1T(N) 디스크 하나
Linear RAID 2T(N) 디스크 하나 꽉차면 다음 디스크 연결
RAID 0 2T(N) 2개 이상 동시 저장 Stripping
RAID 1 1T(N/2) 2개 동시 저장 Mirroring
RAID 5 2T(N-1) 3개 이상 결함 허용, 패리티 정보 사용
RAID 6 2T(N-2) 4개 이상 RAID 5의 개선 결함 허용, 중복 패리티 정보 사용
     

대충 이런것들 사용한다~고 적혀있다.

RAID 0+1방식이나 1+0방식도 있고..

모르면 그때 그때 찾아보는걸로~


Linear RAID,RAID 0,RAID 1,RAID 5방식을 구현..

DISK 9개 추가!

 

징글징글하다

/dev/sdb ~ /dev/sdj 9개는 RAID용으로 사용할 것

fdisk /dev/sdb   [b~j까지해야함]
n
p Primary
1 partition num
[enter] 파티션
[enter] 파티션
t [파일 시스템 유형 선택]
fd [Linux raid autodetect]
p
w

내용은 그냥 한번 쭉 읽어보고 

이거를 디스크 9개에 다 적용하자

파티션 확인

그리고 이거 계속 써먹을 거니깐 snap shot을 남겨두자

 


Linear RAID 구성 (/dev/sdb. /dev/sdc)

일단 파티션 확인해보자

fdisk -l [disk]

두개 RAID용으로 잘 있음

LINEAR RAID생성

mdadm 명령
--create /dev/md9				->  /dev/md9 장치에 RAID생성
--level=linear					-> RAID LEVEL은 linear
--raid-devices=2  /dev/sdb1 /dev/sdc1		-> 2개 연결, 파티션 이름

이렇게 생성한다 mdadm은 CentOS에서 장치 생성하는 명령어

mdadm --stop /dev/md9
mdadm --run /dev/md9
mdadm --detail /dev/md9

이거는 설명없어도 대충 알듯

이전 포스트에서 설명되어있음

그리고 md9 장치는 ext4방식으로 포멧하고[mkfs]

폴더를 만든다음 마운트 시키고 확인하면 잘 있다..

그리고 /etc/fstab에 해당 내용을 저장해서 부팅할 때 읽도로 하자

그리고 detail을 통해 정보를 확인해보면 파티션 2개를 연결한 Linear방식의 3G(=2G+1G)크기의 디스크를 확인 할 수 있다.


RAID 0,1,5 구축

위의 방식이랑 비슷한데 admdm에서 --level=[ㅇㅅㅇ]으로 하는게 끝임..

그냥 알아서 하면 될듯

끝!

일단 Linear RAID의 경우 2G + 1G로 했으니깐 용량이 크다

RAID 0 의경우 그냥 stripping하는거 1G + 1G임

RAID 1 의 경우 1G를 Mirroring하는거라 용량이 작게 나온다

RAID 5 의 경우 1G짜리 3개 이지만 복구를 위한 패리티공간 때문에 2G크기로 나오는것을 확인 할 수 있다.


디스크 문제 발생 및 복구

RAID 1, 5의 경우 결함을 허용하는 놈이니깐 다른것들이랑 이것들 뿌시는거 확인해보자

아무 파일이나 생성

일단 각각의 마운트된 디렉토리에 아무 파일이나 생성해서 넣어두셈

>>>>>>>> 지금은 정상적인 상태

>>>>>>>> halt -p 로 종료하고

 

순서 마춰서 각각의 레이드에서 하나씩 제거하자

반토막남 ㅋㅋ

그리고 부팅하면 정상적으로 안되다고 몇 분 기다리 응급모드로 실행됨

응급모드
줄어들었다..

파티션을 확인해보면 제거했던 것들이 사라진 것을 확인 할 수 있다.

결함 허용을 하지않는 Linear랑 RAID 0은 사라져서 안보이고 testFile도 확인 할 수 없다.

mdadm --detail

그리고 raid를 확인해보면 removed된 파티션과 devices개수가 다른것을 확인 할 수 있다.

 

일단 정상적으로 시스템을 돌리기 위해서 안돌아가는 linear랑 raid 0은 종료하고 /etc/fstab도 수정해주자

mdadm --stop /dev/md0
mdadm --stop /dev/md9

그리고 reboot하면 정상적으로 작동되는 것을 확인 할 수 있다.


원상복구

Linear이랑 RAID 0에 저장된 파일은 살릴 수 없음 ㅜㅜ

disk추가

다시 디스크를 4개 추가해주고 SCSI 번호 일치하는지 확인하자

RAID 1의 상태

0번 disk의 경우 /dev/sdd 에서 /dev/sdf로 변경되었다.

 

일단 fdisk로 다시 파티션 생성해주자

그리고 아까 처음에 RAID 생성했던 방법으로 Linear과 RAID 0 을 생성하자

 

이제 결함허용이 되는 RAID 1,5를 복구하자

mdadm add

복구를 원하는 RAID에 장치를 추가해주기만 하면 된다.

-> 꼭 같은 이름이 될 필요가 없고, 아무거나 뿌셔진거 채워주기만 하면 된다.

 

겉으로는 RAID1, RAID5의 내부 파일이나 내용이 변하지는 않지만 좀 다른게 있따

 


다음장에 RAID6이랑 RAID 1 + 0도 있던데 그냥 비슷비슷하니 보기만 하고 넘겨야겠다.

 

아 월요일에 이렇게 하는거 맞음?

그냥 모르겠다.

이런거 공부해도 도움이 되는건지 아닌지

개발했던 경험이랑 전공 공부했던 것은 다 까먹고

이 회사에서 일하는걸로는 커리어 좀 이상해질거같은 생각도 들고

그렇다고 여기가 평생 책임져주는것도 아니고

어떻게 해야할까

728x90
Comments