1. 하나의 디스크에 여러 개의 운영체제를 사용할 수 있다. 리눅스와 윈도우를 같이 사용하고 싶은 경우 파티션을 분할해서 각각 설치하여 부팅이 가능하다.
2. 파티션 단위의 다양한 정책 설정이 가능하다. 파티션 단위로 사용자 및 그룹 쿼터 설정, 보안 및 백업 설정, 파일 시스템 점검 설정 등 다양한 정책 설정이 가능하다.
3. 사용자가 원하는 파일 시스템 구성이 가능하다. 원하는 블록(block)의 크기를 설정하여 디스크 공간 효율을 높일 수 있다.
4. 자료 이전 및 관리, 백업에 용이하다. 분할된 파티션의 데이터인 경우 마운트 포인트를 변경하여 이전 및 관리를 할 수있다.
5. 부팅이 빨라지고 파일 시스템 점검 시간을 단축할 수 있다. /boot 영역의 분할을 통해 부팅을 빠르게 할 수 있고, 특정 파티션만 점검하도록 설정하여 점검 시간도 단축할 수 있다.
6. 특정 영역 데이터 증가에 따른 시스템 및 프로세스 중단을 방지할 수 있다. 예시 ) /var를 따로 파티션해두지 않으면 /와 디렉터리를 같이 쓰게 되는데 /var에서 받을 시스템로그,메일이 /에 쌓여서 시스템이나 프로세스의 중단을 초래할 수 있다.
디스크와 장치명
리눅스는 x86시스템을 기반으로 탄생하여 초기의 하드디스크 인터페이스는 IBM호환 기종에서 많이 사용되었던 IDE(Intergrated Drive Electronics)이었다. 초기의 IDE는 하드디스크나 CD-ROM을 최대 4개까지 연결할 수 있었기 때문에 각 위치에 따라 장치의 파일명을 미리 지정하였다. IDE는 1988년 ANSI(미국표준협회)에서 ATA(AT attachment)라는 이름으로 규격화하였다.
IDE이외의 또 다른 인터페이스로는 SCSI(Small Computer System Interface)가 있다. 애플, 썬 마이크로시스템즈 등에서 너릴 쓰이는 직렬 방식 인터페이스이다. IDE방식에 비해 주변 기기를 더욱 많이 연결할 수 있고 전송 속도도 빠르나, 비싼 가격에 고성능 서버에 주로 사용되었다. SCSI방식의 하드디스크는 /dev/sdx로 관리된다.
최근에는 병렬방식의 ATA규격과 호환성을 갖는 직렬방식의 인터페이스인 S-ATA, USB 메모리, SSD도 SCSI방식과 동일하게 /dev/sdx로 관리된다.
파티션의 종류
1. 주 파티션(Primary Partition) 부팅 가능한 파티션으로 하드디스크에 하나 이상 존재해야 한다. 하나의 물리적 디스크에 총 4개까지 만들 수 있고, 파티션 번호로 1~4번이 할당된다. Extend Partition을 사용할 경우 실질적으로 사용가능한 주 파티션은 3개가 된다.
2. 확장 파티션(Extends Partition) 하나의 물리적 디스크에 1개만 생성할 수 있다. 주 파티션(Primary Partition) 영역 내에 대체로 사용하는 것이로 할당 번호도 1~4번이다. 자료를 저장하기 위해 직접 사용하는 파티션이 아닌 Logical Partition 선언용이다.
3. 논리 파티션(Logical Partition) 확장 파티션 안에 생성되는 파티션이다. 생성되는 개수 제한은 없지만, 12개 이상 생성은 권장하지 않는다. 5번 이후의 번호가 할당되어 진다.
파티션과 장치명
분할된 파티션은 디스크 장치 파일의 이름 뒤에 숫자가 붙어서 관리된다. 일반 IDE방식 디스크는 /dev/hda1 형식으로 생성된다. SCSI, S-ATA, SSD, USB메모리 등은 /dev/sda1,sdb1과 같은 형식으로 생성된다.
파티션 분할
레드햇 리눅스 계열은 디스크 드루이드라는 그래픽 유저 인터페이스 기반의 파티션 도구를 제공하고 있다. 디스크 드루이드의 장점은 쉽게 파티션을 분할 할 수 있다는 것이다. 하지만 설치 이후 파티션을 변경하거나 새로운 디스크를 추가할 수 없다. 따라서 설치한 후에는 fdisk, parted, cfdisk, sfdisk, kpartx 등의 도구를 이용한다. 가장 많이 사용하는 도구는 fdisk다.
fdisk -l 로 현재 생성된 장치의 리스트를 나열하며 그 중 디스크 이름만 출력한다.
설치할 장치를 fdisk [장치명]으로 파티션을 나눠주기 시작한다.
리눅스에서는 최소한 / 와 swap 파티션을 분할해야 한다. 또한 swap은 장착된 메모리의 2배를 설정하도록 권장한다.
파티션에 분할이 필요한 영역과 디렉터리
/ 리눅스 설치의 기본이 되는 영역이다. 다른 디렉터리에 대한 파티션을 분할하지 않을 경우 이 영역으로 모든 디렉터리와 프로그램이 설치된다.
swap 시스템에서 자료를 처리할 때 RAM이 부족할 경우 사용되는 스왑 영역은 다양한 기준에 의해 크기를 설정하도록 되어 있다. 전통적으로는 시스템에 장착된 RAM의 크기에 따라 설정하였고, 거의 표준처럼 RAM 용량의 2배를 스왑 영역으로 지정하였다. 하지만 최근 시스템에 대용량의 RAM이 장착되면서 이러한 기준이 무의미해지고 있다. 레드햇 리눅스는 시스템에 장착되어 있는 RAM의 용랴엥 따라 최소한의 스왑공간 용량만을 지정하여 권고하고 있다.
[권장 시스템 스왑 용량] /boot 부팅과 연관된 파일, 부트로더 GRUB 파일, 시스템 커널 등이 들어있는 디렉터리 별도로 파티션을 할당하는 경우 250MB정도면 충분하나, 커널 관련된 작업이 많은 경우 상황에 따라 적절히 할당한다.
/usr X-Window를 비롯하여 리눅스 응용프로그램의 대부분이 이 영역에 설치된다. 레드햇리눅스의 경우 4GB이상의 공간이 필요하며, 전체 설치 시에는 10GB의 공간 할당이 요구된다. 최근 레드햇에서는 iSCSI에서의 동작 이상과 부트 프로세스의 복잡성 등으로 별도의 파티션으로 분할하지 않도록 권장하지만, 여전히 분할해야 하는 영역으로 인식되고 있다.
/var 시스템의 로그파일, 메일, 프린터 spool 등이 저장되는 디렉터리이다. 최근에는 yum을 사용할 경우 다운로드한 업데이트 패키지들이 임시로 저장되는 용도로 쓰고 있다.
/home 계정 사용자의 자료가 저장되는 디렉터리로 다수의 사용자 기반의 서버로 운영하는 경우 반드시 할당해야 한다. 만약 10명의 사용자가 한 명당 100MB를 할당한다면 1GB가 필요하다.
/tmp 각종 프로그램이나 소켓 파일, 프로세스 작업을 할 때 임시로 생성되는 파일을 저장하는 공간이다. 이 티렉터리는 공유 모드로(Sticky BIt)로 설정되어 있어서 모든 사용자가 접근하여 파일을 생성 및 삭제할 수 있다. 보안상 취약하므로 보안 강화를 위해 파티션 분할이 요구된다.
[최소 파티션 할당 크기]
파티션 확인
분할된 파티션의 정보는 명령어 fdisk -l ,또는 /proc/partition파일에서 확인할 수 있다. fdisk명령은 파티션을 추가 후 재부팅을 하지 않으면 실제 리눅스 시스템 상에서는 반영이 안된다. mount 및 df 명령을 이용하면 각각의 파티션이 어떤 디렉터리로 사용중인지 여부를 확인할 수 있으며 파티션 옵션, 용량도 확인할 수 있다.