본문 바로가기
IT.인터넷

리눅스 파티션 이해

by Mr-후 2017. 7. 13.
반응형

리눅스 파티션의 이해. 


파티션이란 하드디스크를 논리적으로 나눈 구역을 말하며, 하나의 디스크를 여러 개의 파티션으로 나누면 각 파티션마다 각각의 드라이브로 인식된다. 예를 들어 100GB 하드디스크를 50GB씩 두 개의 파티션으로 나누었다면, 50GB짜리 드라이브 C와 D가 생기게 된다. 


파티션 정보를 포함하는 파티션 테이블에는 파티션 정보를 4개까지 밖에 저장할 수 없는 제한이 있으며 이 4개의 파티션을 Primary 파티션(주 파티션)이라 부른다. 그러나 사용자의 요구에 따라 여러 개의 파티션을 원하게 되었고, 더 많은 파티션을 가지려고 Logical 파티션이라는 개념이 생겼다. 


디스크를 구성하는 4개의 Primary 파티션 가운데 하나만을 Extended파티션으로 쓸 수가 있으며, 이 Extended 파티션 안에 원하는 만큼의 논리적 개념의 Logical 파티션을 만들 수 있다. Extended 파티션(확장 파티션)은 그 자체로는 사용되지 않으며, Logical 파티션에 대한 정보만을 가진 테두리쯤으로 이해하면 된다. 디스크 하나당 SCSI 하드디스크는 15개, IDE 하드디스크는 63개의 파티션을 가질 수 있지만, 하나의 물리적인 디스크 안에 12개 이상 파티션을 만드는 것은 좋지 않은 것으로 알려져 있다. 


파티션의 크기는 여러 가지 면을 고려해 효율적으로 잡아 주면 조금이라도 공간을 절약할 수 있다. 


DOS의 FAT(File Allocation Table)에서는 디스크를 클러스터(cluster)라는 단위로 관리하며 파일을 클러스터 단위로 저장하고 읽는다. 이 클러스터의 크기는 그 드라이브의 전체 크기에 따라서 변하게 된다. 

예를 들어 드라이브 크기가 64BM이하일 경우에는 하나의 클러스터 크기는 1KB이다. 드라이브 크기가 256MB이하일 경우 하나의 클러스터 크기는 4KB이고, 512MB 이하일 경우 8KB이며, 1024MB 이하일 경우 16KB, 그 이상일 경우 32KB이다.


D드라이브의 크기가 500MB라고 하면 이 드라이브의 클러스터는 8KB이다. 여기에 10KB 문서 파일을 저장했다고 하면, 이 문서 파일은 두 개의 클러스터를 차지하게 된다. 첫 번째 클러스터는 가득 차지만 두 번째 클러스터는 2KB만 파일이 저장되고 6KB가 공간으로 남는다. DOS는 반드시 클러스터 단위로 파일을 저장하므로, 이 공간에는 다른 파일은 아무것도 저장될 수 없게 된다. 이런식으로 낭비되는 공간은 상당히 크다. (그래서 조각 모음이라는걸 실행하는 듯 하다. ) 


특히 드라이브의 크기가 크면 클수록 낭비는 심해진다. DOS는 하나의 파티션 크기가 2GB까지 (최근 4GB까지) 가능하므로 클러스터의 최대 크기는 32KB(64KB)이다. 클러스터 크기가 32KB인 상태로 그냥 사용하면, 나중에 사용하지도 못하고 낭비되는 공간의 크기가 100MB를 넘어가므로 이런 일을 방지하기 위해서라도 파티션을 적절하게 나누는 일이 필요하다. 


반면에 파티션의 크기를 너무 작게 잡아도 문제가 있다. 디스크 공간을 아끼려고 쓸데없이 파티션 크기를 작게 잡아 놓으면 나중에 용량이 큰 프로그램을 설치할 때 곤란하다. 항상 드라이브마다 여유 공간을 두어야 한다. 또 파티션의 개수가 너무 많으면 이것 역시 관리가 어려워진다. 드라이브 수가 많아지면 DOS가 하나의 드라이브를 할당할때마다 일정량의 메모리를 사용하기 때문에 메모리가 낭비된다. 






리눅스는 최소 두 개 이상의 파티션을 필요로 한다. 리눅스 시스템이 운영되는 리눅스 파티션(linux partition)과 물리적인 메모리 부족 상황을 대비해 가상으로 메모리를 사용할 수 있게 해 주는 스왑 파티션(swap partition)이 있다. 스왑 파티션은 설치된 메모리의 1.5 ~ 2배 크기로 설정해 준다. 예를 들어 256MB메모리를 가진 사람은 512MB로, 128MB 메모리를 가진 사람은  256MB의 크기로 설정하는 것이 좋다. 스왑 파티션이 작고 기본 설치된 메모리가 작으면 동시에 많은 프로그램을 실행시키는데 지장을 가져올 수 있다. 


리눅스에서는 파티션 설정을 위해 fdisk와 디스크 드루이드(disk druid)를 제공한다.

fdisk는 텍스트 콘솔(console) 타입이고 디스크 드루이드는 하드디스크 파티션을 좀 더 쉽게 할 수 있도록 비주얼한 마법사(Wizard)형식을 지원한다. 


IDE디스크는 /dev/hda, /dev/hdb, ...와 같이 앞쪽에 'hd'가 붙고, SCSI디스크는 /dev/sda, /dev/sdb,....와 같이 'sd'가 붙는다. 

Primary파티션은 1,2,3,4 를 차례대로 붙이고, Logical 파티션은 Primary파티션의 개수와 상관없이 5 이후의 번호가 붙여지게 된다. 


출처 : LINUX CentOS기초에서 활용까지 



반응형

'IT.인터넷' 카테고리의 다른 글

리눅스의 부팅과정  (0) 2017.07.17
리눅스 디렉토리 구조  (0) 2017.07.14
리눅스 커널(Kernel) 이야기  (0) 2017.07.13
컴퓨터 BIOS란?  (0) 2017.07.12
리눅스(Linux)의 특징  (0) 2017.07.12