본문 바로가기

OS/Linux

#12. HDD추가, 파티션 나누기 & 마운트(Mount)

이번소개에서는 리눅스에 새로운 HDD추가 하는법과 추가후 파티션을 나누는법에 대해서 소개해드리겠습니다.



1.HDD추가


먼저 HDD추가 하는법부터 보겠습니다. HDD를 추가하기위해선 VMware에 깔려있는 리눅스부터 Power off시켜주셔야 합니다.




power off를 해주신다음 장치 목록중 하드디스크를 더블클릭 해줍시다.



창이 하나뜨면 add를 눌러줍시다




다시 이런창이뜨네요. 근데 우린 이창을 본적이있죠. 리눅스를 설치할때 가상머신 설정할시 뜨던 창입니다. next를 눌러줍시다.



계속 next를 누르다보면 가상 하드디스크 용량을 정해주는 창이뜰텐데요. 저같은 경우엔 5기가만 할당 해보겠습니다.



계속 next를 눌러 finish가 뜨면 완료! 목록들을 보니 하드디스크가 하나더 생긴걸 볼수있네요.

ok누르시고 리눅스를 다시 부팅 시켜봅니다~


로그인 하시고 터미널을 실행 시켜보아요~



터미널을 실행 시킨뒤 fdisk -l를 처봅시다.


fdisk -l 는 현재 가상머신에 장착되어있는 disk들의 정보를 보여주는 명령어입니다.


위에서 보시면 처음 빨간색 네모안에 있는 정보들이 첫번째 가상 하드 디스크 정보들입니다. 리눅스를 설치할때 하드디스크의 파티션을 나눈 정보가 고스란히 나와있습니다.


그후 이번에 새로 추가한 HDD의 정보는 아래의 빨간줄을 보시면됩니다.

아직 알맞은 파티션 테이블을 가지고 있지 않다고 하네요.


이제부터 본격적으로 파티션의 설명과 파티션을 나누는 법에 대해서 소개해드리겠습니다.



2.파티션(Partition)


파티션은 기본적으로 최대 4개의 기본 파티션으로 나눌수가 있습니다. 하지만 위에서 보시면 알수있듯이 첫번째 하드디스크는 4개이상의 파티션을 가지고있지요. 이렇게 4개 이상의 파티션을 만들수 있도록 도와주는 파티션이 확장 파티션입니다.


확장 파티션은 말그대로 파티션을 확장 시켜주는 역활을 하는거라고 보시면됩니다.

확장 파티션안에 또다른 파티션을 논리 파티션이라고 합니다. 논리 파티션은 최대 12개까지 파티션을 나눌수가있습니다. 결론적으로 최대 파티션을 나눌수있는 갯수는


기본 파티션 3개,    확장 파티션 1개,    확장 파티션안의 논리파티션 12개총 16개입니다.


하지만 이렇게 많이 나누는 일은 많지가 않죠. 이번 소개에서도 파티션 나누는 법을 소개해드리는것이기때문에 많이 나누지는 않겠습니다. 확장 파티션 이해를 위해 사용할수있는 5개의 파티션을 만들어보도록 하겠습니다.(확장 파티션은 논리 파티션을 추가 할수있는 기능만 제공 하기때문에 실질적으로 사용 할수 없는 파티션이에요)


먼저 파티션이 나눠져 있는 하드디스크 경로는 /dev/sda라는 것을 알수있지요.

그럼 파티션 테이블을 가지고 있찌 않는 하드디스크 경로는 뭘까요? 위에 그림을 살펴볼께요.


마지막 줄의 빨간색 밑줄친 부분을 보시면 /dev/sdb라는 것을 알수있습니다.


이제 하드디스크의 경로도 알고 있으니 파티션을 나누어보도록 할께요.

파티션을 나누어 설정하는 명령어는 fdisk [경로] 입니다.



fdisk /dev/sdb를 처봤더니 이런 식의 문구들이 뜨네요.


마지막줄을 잘보시면 명령어치는 부분이 있습니다. m을 눌러 명령어의 종류를 볼수도있지만

일단 중요한 몇가지 명령어에대해서 설명 드릴께요.


n        새로운 파티션을 만듭니다.

>n을 치고나서의 명령어

p    기본 파티션을 생성합니다

e    확장 파티션을 생성합니다


w        파티션 테이블 설정을 저장합니다.



일단 첫번째 기본 파티션을 설정 해보았습니다.


첫번째로 n(새로운 파티션 생성) -> p(파티션 종류는 기본파티션) -> 1(첫번째 파티션) -> 1(하드디스크 용량 시작점) -> +1g (총 1GB를 첫번째 기본 파티션에 할당)


이 순서로 설정을 해주었습니다. 파티션도 각각 용량을 할당 해주어야하는데요.

총 5개의 파티션을 만들거고 5기가의 용량이 존재 하기때문에 1기가씩 주도록 하겠습니다.


먼저 첫번째는 1 ~ 1GB까지의 용량(영역)을 할당 했습니다.



두번째 파티션을 만들어보도록 하겠습니다.


n(새로운 파티션생성) -> p(파티션 종류는 기본파티션) -> 2(두번째 파티션) -> 그냥 엔터(기본 값 124를 사용하겠다는 의미) -> +1g(총 1GB용량 할당)


*기본값이 정해져 있는경우 엔터를 치면 기본값이 적용됩니다.




3번째까지 기본 파티션으로 만들었습니다.


4번째는 기본 파티션이 아닌 확장 파티션으로 만들어 추가적인 파티션을 생성할수있도록 만들어줘야 합니다. 확장 파티션 안에 추가적인 파티션을 생성하기위해선 할당 하고 남은 나머지 용량을 모두 확장 파티션에 할당 시켜줘야합니다.

그래야 확장 파티션이 가지고 있는 용량으로 추가적인 파티션을 생성할수있는거지요~



4번째는 확장 파티션으로 만들어줬습니다. 4번째 파티션이 선택됬다고 문구가 뜨네요. 이 의미는 4번째 파티션에 확장 파티션을 생성했다는 의미와 같습니다.


지금까지 3개의 기본 파티션을 생성했기때문에 나머지 2개의 파티션도 만들어줘야겠지요.

새로 만들기 명령어 n을 사용하여 4번째 파티션에도 역시 1GB만큼용량을 할당했습니다.

지금부터는 몇번째, 무슨 종류의 파티션을 만들것인지 물어보지 않습니다. 이유는 기본 파티션 3개와 마지막 확장 파티션으로 4개 모두 만들어줬기때문에 더이상 몇번째 파티션에 만들지 않물어보는것입니다. 또한 자동적으로 확장 파티션안에 논리 파티션을 생성 하기때문입니다.


이와 같은 원리로 2개의 논리 파티션을 생성했습니다. 이제 총 5개의 파티션 설정이 완성 되었네요. 이렇게 테이블을 만든후 테이블을 저장 해줘야 파티션 설정이 완벽히 끝납니다.



w명령어를 사용해 저장을 했습니다. 테이블이 저장 됬다는 문구가 뜨면서 경고 메세지가뜨네요. 현재로는 방금 만들어진 테이블을 읽을수 없다고 뜨는 문구인데요. 재부팅을 하고 나면 읽을수 있다는 문구입니다. 



fdisk -l을 이용해 테이블들을 확인해보니 정상적으로 테이블이 만들어진걸 볼수있죠.

이제 파티션을 만들어줬으니 포멧을해 파일시스템을 구성해줘야 합니다.



3. 파일시스템(file system)


파일시스템은 메모리에 저장되어있는 데이터를 생성,삭제,이동 등등 데이터의 관한 모든 기능을 가능케 해주는 시스템 입니다.


항상 하드디스크를 사용하기전에 포멧을하지요. 포멧을 한다는건 단순히 하드디스크에 있는 데이터를 지우는 역활이 아닌 파일시스템을 구성하는 단계입니다.

여기서 마찬가지로 파일시스템을 구성해줘야 새로 추가한 하드디스크를 사용할수있는거죠.


리눅스뿐만 아니라 다른 OS에서도 파일시스템 종류는 다양합니다.

하지만 우리가 지금 쓰고있는 ext3이라는 파일시스템을 새로 추가한 하드디스크 파티션 각각에 설정 해보려 합니다.


여기서 주의해야 하실점은 확장 파티션은 파일시스템 구성을 해줄필요가 없다는거죠.

그 이유는 우리가 직접 데이터를 저장하고 사용할 파티션은 확장 파티션이 아닌 확장 파티션 안에 존재하는 논리 파티션들이기때문입니다.


그렇다면 파일시스템을 구성해줘야 하는 파티션 경로는 위 테이블에 나와 있듯이 /dev/sdb1~3과 5,6 이네요. sdb4를 제외한 모든 파티션에 파일시스템을 구성 해주면 됩니다. 


파일 시스템을 구성 하는 방법


mkfs -t ext3 [파티션 경로]


mkfs는 make file system의 약자 이며 -t 옵션은 type을 뜻합니다. 위에서 말씀드렸다 시피 파일시스템 종류는 ext3으로 하겠습니다.


자 그럼 파일시스템 구성을 해보도록 할께요.



먼저 첫번째 기본 파티션에 파일시스템을 구성한 모습입니다. 수많은 정보들이 막뜨면서 완료가되네요. 이런식으로 4번째 확장 파티션을 제외한 모든 파티션에 파일시스템을 구성해줍니다.


모두 구성 해줬다면 정상적으로 모두 구성됬는지 확인을 해봐야 겠지요.


파일시스템 확인 명령어


file -s [파티션 경로]


이 명령어로 각각의 파티션을 확인 해보시면 ext3으로 구성된것을 알수있습니다.



하나하나 검사해보니 모두 ext3 파일시스템을 구성하고 있네요. 이렇게해서

파일 시스템 구성까지 완료 했습니다!


이제 파일 시스템 구성까지 끝났으니 사용하면 되는데... 대체 위 5개의 파티션은 어디를 통해서 사용할수 있는 용량들일까요??


리눅스 /(최상위) 디렉토리 아무 곳에 데이타를 저장 하게되면 저희는 단지 기존에 존재하던 하드디스크 용량을 쓰는 일이 됩니다. 


이런식으로 추가한 파티션을 쓰기위해선 통로가 필요하겠죠. 통로를 연결 하기위해서 쓰는 기능이 바로  mount입니다.


4. 마운트(Mount)


마운트는 하드디스크의 용량을 사용할수 있도록 파티션과 특정 디렉토리 사이에 통로를 만들어 주는 기능이라고 생각하시면 됩니다.


먼저 5개의 파티션을 모두 마운트 하기위해 5개의 디렉토리를 만들어보도록 할께요.



dir1~5까지 생성 했습니다. 이제 차례대로 파티션1~6(4제외)까지 각자 하나의 디렉토리에 마운트 해보도록 하겠습니다.



차례대로 모두 마운트 한후 이것또한 마운트가 잘되었는지 확인을 해봐야겠죠.


마운트 명령어


mount [파티션 경로] [마운트할 디렉토리 경로]


마운트 정보 확인 명령어


df -h


위에 명령어로 현제 어떤 디렉토리가 어떤 파티션에 마운트가 되어있는지 모두 확인할수가 있습니다.


위에 그림을 보시면 /dev/sdb1~6까지 어느 디렉토리에 마운트가 되어있는지 확인할수가있죠.


마운트까지 모두 끝났습니다. 이제 만약 dir1이라는 디렉토리안에 파일/디렉토리를 생성하여 메모리를 사용하게 된다면 메모리용량은 새로 추가한 하드디스크 파티션1에서 사용하게 되는것이지요.


주의하실점은 이렇게 마운트를 해놓게되면 재부팅을 한후 마운트 설정을 다시 해줘야 한다는 아주 불편한 단점이 있습니다.


재부팅이 될시 자동적으로 마운트가 되도록 설정해주는 방법은 따로 소개 해드리도록 하겠습니다. 읽어주셔서 감사합니다^^

'OS > Linux' 카테고리의 다른 글

#14. tar, gzip 압축파일 생성/해제  (0) 2012.09.23
#13. RPM & YUM  (0) 2012.09.22
#11. ACL(Access Control List)  (0) 2012.09.19
#10. Permission(권한)  (0) 2012.09.14
#09. User Account Management(사용자계정 관리)  (0) 2012.09.13