하나의 물리적인 하드디스크를 여러 개의 논리적인 디스크로 나누는 것을 파티션(Partition)이라고 한다.
리눅스를 설치하는데 있어서 기본적으로 두 개의 파티션(리눅스 네이티브 및 스왑 파티션)이 요구한다.
2. 파티션 정보
하드디스크의 파티션 정보는 마스터 부트 레코드(Master Boot Recorde, MBR)라고 불리우는 하드디스크 첫 번째 섹터에 저장된다.
MBR은 컴퓨터 부팅하여 바이오스에 의해 인식되는 시작 섹터로 이 곳에 부팅 관련된 정보가 들어 있기 때문에 매우 중요한 섹터이다.
리눅스에서 멀티 부팅이 가능한 부트 로더로 GRUB과 LILO가 있다.
3. 파티션 종류
하디디스크의 파티션은 일반적으로 프라이머리 파티션(Primary Patition)과 확장 파티션(Extended Partition) 그리고 논리 파티션(Logical Partition)으로 구분된다.
리눅스의 파티션 도구인 fidsk에서 파티션은 기본적으로 프라이머리 파티션과 확장 파티션 두 종류의 파티션으로 나뉜다. 하나의 하드디스크에서 나눌 수 있는 프라이머리 파티션 개수는 4개이다. 그러나 이 중 하나를 프라이머리 대신 확장 파티션으로 지정하면 확장 파티션을 다시 논리 파티션을 나눌 수 있으며, 확장 파티션은 최대 12개까지 논리 파티션으로 다시 나눌 수 있다. 그러므로 리눅스에서 나눌 수 있는 최대의 파티션 개수는 프라이머리 3개, 확장 파티션 1개, 논리 파티션 12개를 포함하여 최대 16개이다.
리눅스를 설치하는데 있어서 최소 두 개의 파티션이 필요하다. 각각 리눅스 네이티브 파티션(Native Partition)과 스왑 파티션(Swap Partition)으로, 이들 파티션은 모두 두 개의 프라이머리 파티션으로 할당하거나 프라이머리 파티션 한 개와 논리 파티션 한 개에 할당하여 사용할 수 있다. 네이티브 파티션은 리눅스가 설치되는 파티션으로 루트 파티션을 포함하며, 파티션 도구인 fdisk에서 System ID는 83을 가지며, 스왑 파티션은 가상 공간으로 System ID는 82번을 갖는다.
4. 하드디스크 장치명
하드디스크 장치명은 EIDE 컨트롤러에 연결된 하드디스크 순서에 따라서 /dev/hd라는 명칭을 사용하며, 연결 방식에 따라서 알파벳 a부터 차례대로 붙인다. /dev는 디바이스라는 디렉토리를 의미하며 이 디렉토리에서 각종 하드웨어의 디바이스 파일들이 존재하여 하드웨어를 장치할 때 이용하게 된다. hd는 EIDE 방식의 하드 디스크를 의미한다.
EIDE 컨트롤러의 프라이머리 마스터에 연결되어 있는 하드디스크를 /dev/hda라고 부른다. 프라이머리 슬레이브에 있는 하드디스크를 /dev/hdb, 세컨더리 마스터의 하드디시크를 /dev/hdc, 세컨더리 슬레이브에 있는 하드디시크를 /dev/hdd라고 한다. EIDE 컨트롤러에는 4개 이상의 하드디스크를 장착할 수 없다.
하드디스크를 쪼개어 생성되는 파티션의 장치명은 하드디스크의 장치명에 숫자를 붙여 명명된다.
(/dev/hda1, /dev/hda2 ~ /dev/had16)
SCSI 하드디스크의 경우 /dev/sd로 표시하며 /dev/sda, /dev/sdb 와 같은 순서로 명칭을 사용한다.
5. 파티션 분할의 이해
다중 파티션 분할의 이점
- 파일 시스탬 점검 시간을 줄여 부팅 시간 감소 : 부팅시 fsck 유틸리티에 의해서 파일 시스템의 점검이 이뤄지게 되는데, 여러개의
파티션으로 나눠졌을 때 점검 시간이 빠르다. 또한 시스템이 비정상적인 종료에 의해서 파일 시스템이 깨진 경우 부팅시 이를
복구하기 위해서 파일 시스템 복구 유틸리티를 실행하는데 깨진 파티션만 복구하면 되므로 그만큼 부팅시간이 단축된다.
그리고 사용 중에 파일 시스템에 문제가 있는 파티션은 언마운트하여 파일 시스템 검사를 하여 복구할 수 있어 시스템을 재 부팅 할
필요가 없다.
- 자료 백업 및 업그레이드 수월
- 특정 파티션 읽기 전용으로 마운트 가능
- 루트 파티션 파괴 시 다중 파티션 자료 보호
파티션 분할의 이해
: 디렉토리 가운데 독립적으로 할당해 주어야 하는 디렉토리로는 /, /boot, /home, /usr, /usr/local, /var등이며, 나머지 디렉토리들은
/ 디렉토리를 포함하는 루트 파티션내에 위치해야하므로, 별도의 파티션을 생성해 주지 않아도 된다.
- / (Root Directory 최상위 루트 파티션) : 바이너리 디렉토리 /bin, /sbin 디렉토리와 시스템 및 네트워크 설정 파일 디렉토리인 /etc와
임시 저장 디렉토리인 /tmp 등을 포함한다.
- /boot (커널 부트 이미지 파티션) : 부팅시 부팅 가능한 커널 이미지 파일과 부트 로더인 GRUB을 담고 있는 디렉토리로 루트 파티션에
포함하더라도 상관없다.
- /home (사용자 계정 파티션) : 일반 사용자의 계정이 위치하는 곳으로 루트 파티션에 포함할 수 있다.
- /usr (대부분의 프로그램이 설치될 파티션) : 리눅스 시스템에 필요한 대부분의 바이너리 파일들과 라이브러리 파일, 커널 소스 그리고
엑스윈도우 파일들이 설치되는 파티션으로 많은 용량이 요구된다.
- /var (로그 파일 파티션) : 시스템의 로그 파일들이 위치하며, 웹서버의 기본 디렉토리 위치 및 메일 서버에서 수신된 이메일이
저장되는 곳이다.
- /data (사용자 정의 파티션) : 백업하기 위한 파티션이나 자료를 저장하기 위한 파티션으로 설정하지 않아도 된다.