본문 바로가기

Server/Unix, Linux

리눅스 하드 추가 및 파티션 RAID 설정하기

반응형

0. Intro. 현재 나의 상황


대용량의 개인 서버를 처음 다뤄보는 나는 지금 4T짜리 HDD를 2대에서 4대로 증설했다.

데이터 분석을 하는데, 백업 공간이 부족하기 때문이다.

현재 4T HDD를 RAID1으로 묶여있다.

앞으로 할 작업은 4T HDD 두대를 설치후 RAID1으로 묶을 작업이다.



1. RAID란?


RAID의 종류에는 가장 기본으로는 0 (stripping)과 1 (mirroring)이 있다.

간단하게 말하자면, RAID0은 성능향상을 위해,  RAID1은 안정성 향상을 위해 쓴다.

RAID0은 성능향상을 위해 디스크를 묶는다. 따라서 디스크 전체 용량이 커진 셈이지만, 고장이 날 경우 모두 고장나기 때문에 안정성 측면에서 떨어지는 편이다. RAID1은 이름에서도 알 수 있듯이, 안정성 향상을 위해 다른 하나를  mirror로 쓴다. 이 외에도 다른 RAID 시스템이 있는데, 구성은 다음 링크를 참조하자.

(참고1.여러 하이브리드형 RAID가 존재하는 것을 알 수 있다.)


필자는 데이터의 보존에 초점을 맞추고 있기 때문에 RAID1으로 묶는다.



2. HDD 설치 후 파티션 설정


먼저 물리적으로 HDD를 연결하는 것은 크게 어렵지 않다. SATA 케이블 (전원공급선)과 메인보드케이블 (데이터케이블)이 있으면 된다. 보통 SATA 케이블 하나당 3개의 HDD에 전원을 공급할 수 있으니 참고. 케이블 연결은 파워서플라이에서 하나, 메인보드에서 하나씩 연결하면 되니 크게 어려울 것 없다. 이후 리눅스에서 하드를 인식했는지 확인하려면 다음의 명령어를 친다.


#fdisk -l


보통 /dev/sda /dev/sda1 ... /dev/sdb /dev/sdc ... 와같은 식으로 이루어져있다. 발견한 순서대로 sda, sdb, sdc... 이고 각 디스크의 파티션에따라 뒤에 1,2,3이 붙는다. 기본으로 하나의 하드에 파티션이 하나만 있어도 sda, sda1 두 개가 존재하게 된다.


필자의 경우 sdc와 sdd를 추가했으므로, 각각 fdisk를 통해 수정하도록 하겠다.


#fdisk /dev/sdc


이후 m을 누르면 잘 볼수 있는데, 2T가 넘는 경우 우선 빨간 글씨로 다음과 같은 경고가 뜬다.


The size of this disk is 3.7 TiB .... Dis partition table format can not be used on ..... Use GUID partition table format (GPT).


이 경우 g(enter)를 해서 GPT를 만들자.

이후 통짜로 만들려면 다음의 순서로 하면 된다. 설명이 자세히 나오기 때문에 큰 실수 하지 않아도 된다.


n(enter) p(enter) 1(enter) (enter) (enter)        / 새로만들기, 첫파티션(생략가능; 그냥 엔터), 파티션번호(생략가능), 시작점, 끝점,

t(enter) 28(enter) p(enter) w(enter)              / 타입 변경, LINUX RAID, 확인, 저장후 종료


레이드 묶지 않을 경우에는 적절히 옵션을 변경해서 하면 되고,

레이드 묶기 위해서는 sdd에도 같은 작업을 해 준다.



3. RAID 묶기


먼저 디스크에서 Multiple-device Disk (md)를 쓰고있는지 확인하자.

RAID를 묶을 땐 mkdir처럼 mknod를 쓴다. 필자는 기존에 이미 묶여있던 md0이 존재하기 때문에 md1로 만들겠다.

그리고 mdadm으로 /dev/sdc1과 /dev/sdd1 두 파티션을 묶는다.


#mknod /dev/md1 b 9 1

#mdadm --create /dev/md1 --level=1 --raid-device=2 /dev/sdc1 /dev/sdd1


필자는 부트로 적합하지 않다고 경고가 떳는데 그렇지 않기 때문에 걍 경고 무시하고 고했다.

다음으로 포멧을 한다. 3.4T라 시간이 꽤 걸린다. 체감 10분정도 걸린 듯 하다.특히

Writing superblocks and filesystem accounting information: _

저기서 커서가 대기중이길래 뭐 입력해야하나 하고 착각할 뻔 했다;;


#mkfs.ext3 /dev/md1


4. mount 하기


이제 가장 마지막 단계이다.

묶은 md에 폴더를 mount하면 된다.


#mount /dev/md1 ./Data02


매 부팅때마다 자동으로 mount하기 위해서는 다음을 해주어야 한다.

다음 명령어로 md1에 해당하는 uuid를 찾는다. (**뒤에서 ARRAY에서 나오는 UUID와는 다르다...! 왜인지 모르겠지만;;)

ll /dev/disk/by-uuid


이제 다음과 같은 내용을 /etc/fstab에 추가한다. 다음과 같은 형식으로

UUID=123njka-12j2-.... /Data02 ext4 defaults 0 0


참고:(링크)


** 중간에 실수해서 RAID를 지워야하는 경우


1. 깔려있는지 확인하기

#cat /proc/mdstat


2. 멈추고 지우기

#mdadm --stop /dev/md1

#mdadm --remove /dev/md0



** md1이 md127로 바뀌는 현상이 발생하였다.


#mdadm --detail /dev/md1227을 하면 나오는 정보중에서 Name. UUID 장치명 등을 기억한다.


이를 이용해 /etc/mdadm/mdadm.conf에 다음과 같은 한 줄을 추가한다.


ARRAY /dev/md1 devices=/dev/sdc1,/dev/sdd1 name=ubuntu-kimyoungjin:1 UUID=********* level=1 num-devices=2 auto=yes

다음 링크를 참고.


이렇게 하고 cat /proc/mdstat에서 recync가 끝나면 다 되는 것 같다. (확인중)

https://blog.boxcorea.com/wp/archives/316


반응형