2013년 12월 30일 월요일

이번시간은 파티션 나누기와 마운트에 관해서 보고자 한다.
  파티션은 하드디스카 따위의 저장공간을 여러 영역으로 나눠서 각가 다른 disk 처럼
동작하게 하는 것이다. 각각이 다른 disk drive 처럼 동작하게 되므로 각 partition 마다
다른 종류의 filesystem을 구축 할 수 있다.
  파티션은 크게 4종류로 나눠 진다. 첫번째는 primary 영역이다 . 이 파티션에선 boot가능 하지만 각 disk나 raid volume을 총 4개까지 만들 수 있다. 하지만 4개 이상의 파티션을 만들 계획이라면 2번째 종류인 extended 파티션이 필요하다. 이 파티션은 내부에 logical partition을 포함 할수 있고 나누어지는 갯수 제한은 없다. extended 파티션이 logical 파티션을 포함한다. 파티션으로 나눴지만 disk처럼 사용되지는 못한다.3번째 파티션은 위에서 나온 logical 파티션이다. extended 파티션 영역 안에서 다시 세분화 해서 나눌 수 있다. 이 파티션이 extended 파티션안에서 실제 disk 처럼 동작하게 된다. logical 파티션 끼리는 서로 구분이 되므로 filesystem을 구축할 수 있다. 4번째는 swap 파티션이다. 이것은 virtual RAM이다. 컴퓨터가 동작하다가 RAM공간이 부족하면 이공간을 사용한다. 이 파티션은 리눅스를 설치할때 나눈다.

fdisk명령어는 파티션테이블을 관리하는 명령어입니다.  , 리눅스의 디스크파티션을 생성, 수정, 삭제할 수 있는 일종의 유틸리티라고 할 수 있습니다..  

 
 
fdisk -l 명령어를 치면 밑에 그림과 같이 파티션이 나누어진 정보가 나온다.
/dev/sda 가 있고 /dev/sdb/가 있는데 a는 첫번째 하드디스크이고 b는 2번째 하드디스라는
의미이다. 뒤에 숫자는 파티션 번호가 되겠다. 그리고 리눅스는 파티션을 명령어를 이용하여
나눌때 실린더를 기준으로 나눈다 그래서 start와 end는 실린더의 시작과 끝을 나타낸다.
blocks는 용량을 나타내고 뒤에 +는 어림잡아 그 이상이라는 뜻이다.

 
파티션을 나누게 되면 /dev라는 디렉토리에 이렇게 생성이 된다. grep 뒤에 sda라고 치면 sda에 관한 파티션 정보가 나오게 된다.
 
fdisk를 실행하게 되면 이와 같은 명령어가 있다. 우리는 이중에서 n,p,w,d만 쓰면 된다.

fdisk -t ext4 /dev/sdb 이렇게 명령어를 치면 Command (m for help) : 이렇게 나온다.
여기서 n을 누르고 enter친다음 p를 누르면 주영역이 만들어지고 e를 누르면 확장영역이 만들어진다.  주영역이나 확장영역이 만들어지는 과정은 똑같다 단지 Command (m for help) : 에서 e 를 누르느냐 p를 누르느냐에 따라 달라질 뿐이다.  순서는 primary를 만든다는 가정하에 p 엔터를 한다음 파티션 번호를 지정한다 그리고 실린더 시작번호인데 default로 하는게 가장 좋다. 그냥 enter하면 디폴트로 설정이된다. 그다음은 용량 할당인데 이부분은 +(size)로 설정해 주는 것이 좋다. +200M 이런식으로 입력하고 enter하면 된다 확인 방법은 Command (m for help) : 에서 p를 누르면 잘 만들어 졌는지 확인이 가능하다.
 
 


extended를 먼저 만들고 logical를 만들면된다.  가끔 햇갈려서 Command (m for help) : n 을 했는데 logical이 안나온다고 당황해 하는 경우가 있다. 반드시 extended 영역을 만들고 해야한다. logical 영역은 extended안에서 다시 나누는 것이기 때문에 반드시 extended영역을 만들어 주어야 한다.

이제 이 파티션을 사용하기 위한 작업중 하나인 포멧에 대하여 알아보자.  포멧하는 작업은 파일 시스템을 포멧하여  각 파티션이 원하는 파일 시스템을 만들어 주기 위함이다.

명령어는 mkfs -t ext4 /dev/sdbn과 같다 여기서 n은 숫자를 의미한다.  mkfs는 2가지 방법이
있다. .과 -t 가 있다. 전자는 리눅스 전용이고 후자는 리눅스와 유닉스 겸용이다.



이와 같이 하면 파일시스템을 적용하기 위한 포멧이 완료된 것이다. 이제 마운트라는 개념을 알아보면서 파일 시스템 적용을 해보도록 하겠다. 마운트란 파일 시스템 구조 내에 있는 일련의 파일들을 사용 할 수 있도록 인식시키는 것이다. 다시말하면 리눅스 시스템에서 사용하기를 원하는 특정 장치를 시스템에 인식시키는 작업이며 그 특정장치 하나를 하나의 디렉토리처럼 사용하기 위해 수행하는 작업이다.
  mount는 시스템에 연결된 장치는 물론, 원격 시스템의 파티션과도 접근 할 수 있다. 이것을 원격 마운트라고 한다. 매번 마운트를 수행 할때마다 수 많은 옵션을 계속 입력해야 한다면 너무나 힘들 것이다. 최근에 나온 리눅스를 설치할 경우 각 파티션에 이름을 붙여서 그 이름을 이용하이 파티션을 찾아 마운드 한다.
  해제하는 방법은 언마운트(unmount /mnt/win이런 형식으로)해주면 된다. 언마운트는 분리할 파일 시스템이 사용중인 경우에는 언마운트 되지 않는다.


이렇게 mkfs 로 파일시스템 포멧을하고 mount로 적용하게 하면 된다. 그리고 마운트가 잘 됐는지 확인하는 방법은 2가지가 있다. 확인하는 방법은 다음과 같다.
 
이렇게 확인한다음 그 마운트시킨 폴더에 가보면 다음과 같이 변해 있다.
 

위에 사진은 원래 /mp 디렉토리에 있는 파일들이고 밑에 사진은 마운트 시키고 나서 결과물이다.  이 사진이 알려주는 것은 해당 디렉토리에 마운트를 시면 마운트에서 입력한 파일 시스템이 적용되어 완전히 새로운 폴더가 된다는 것이다. 원래 있던 파일들은 숨겨지게된다. 이 숨겨진 파일과 디렉토리들은 시스템에서 찾을 수가 없다.
 
 

이렇게 언마운트 시키면 다시 제자리로 돌아오게 된다. 여기서 주의 해야 할점은 마운트를 해제할 디렉토리를 나와서 해야 한다는 것이다. 그렇지 않으면 오류가 나게 되서 풀리지 않는다.

다시한번 정리 하면
  1. fdisk로 파티션을 나눈다.
  2. mkfs로 파일 시스템을 생성한다.
  3. mount로 적용시킨다.
이렇게 된다. 이런 과정을 거쳐서 나누어진 파티션을 시스템에 적용해 사용 할 수 있다.
 추가적으로 마운트의 필수 조건이 있다.
  1. 파티션     - fdisk
  2. 포멧         - mkfs
  3. 디렉토리 - mkdir
이 3가지 항목이 만족되야 마운트를 할 수 있다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Categories:

0 개의 댓글:

댓글 쓰기

Subscribe to RSS Feed Follow me on Twitter!