리눅스 파티션 나누기
60G 정도의 하드 디스크와 1G의 RAM을 탑재한 하드웨어에 설치한다고 가정하고 우분투 리눅스의 파티션 분할의 예시를 들어 보겠습니다.
리눅스 파티션의 종류와 용도
파티션 | 할당 용량 |
/ | 3072 MB |
/boot | 150M |
/usr | 6000 MB |
/tmp | 1024M |
swap | 2048MB (RAM 용량의 2배) |
/usr/local | 1024MB |
/home | 나머지 모두 할당 |
/var | 5120MB |
메일서버로 활용할 경우
파티션 | 할당 용량 |
/ | 루트 파티션. 바이너리 디렉토리 /bin, /sbin 디렉토리와 시스템 및 네트워크 설정 파일 디렉토리인 /etc 등을 포함한다. |
/boot | 부팅 커널이 저장됨 |
/usr | 리눅스 시스템에 필요한 대부분의 바이너리 파일들과 라이브러리 파일, 커널 소스 그리고 X-Window 파일들이 설치되는 파티션으로 넉넉한 용량을 요구한다. (응용프로그램 설치 디렉토리) |
/tmp | 임시 파일이 저장됨 |
swap | RAM이 부족할 경우 사용되는 공간 (가상메모리) |
/usr/local | apahche, proftpd 등의 (주로 소스를 직접 컴파일 하여 설치해야 하는) 프로그램들의 설치 공간 |
/home | 사용자 계정이 위치하는 곳으로 루트 파티션이 포함될 수 있다. |
/var | 로그, 캐시 파일 등이 저장된다. 또한 웹 서버의 기본 디렉토리 위치 및 메일 서버에서 수신된 이메일들이 저장되는 곳이기도 하기 때문에 용도에 따라서 큰 용량을 부여해야 하는 경우도 있다. (메일 서버 등) |
네임서버로 활용할 경우
파티션 | 할당 용량 |
/ | 3072 MB |
/boot | 150M |
/usr | 6000 MB |
/tmp | 1024M |
swap | 2048MB (RAM 용량의 2배) |
/usr/local | 1024MB |
/home | 1024MB |
/var | 나머지 모두 할당 |
웹서버로 활용할 경우
파티션 | 할당 용량 |
/ | 3072 MB |
/boot | 150M |
/usr | 6000 MB |
/tmp | 1024M |
swap | 2048MB (RAM 용량의 2배) |
/usr/local | 1024MB |
/home | 나머지 모두 할당 |
/var | 5120MB |
메일서버로 활용할 경우
파티션 | 할당 용량 |
/ | 3072 MB |
/boot | 150M |
/usr | 6000 MB |
/tmp | 1024M |
swap | 2048MB (RAM 용량의 2배) |
/usr/local | 1024MB |
/home | 1024MB |
/var | 나머지 모두 할당 |
DB서버로 활용할 경우
파티션 | 할당 용량 |
/ | 3072 MB |
/boot | 150M |
/usr | 6000 MB |
/tmp | 1024M |
swap | 2048MB (RAM 용량의 2배) |
/usr/local | 1024MB |
/home | 1024MB |
/var | 나머지 모두 할당 |
출처 - http://hoyanet.pe.kr/1985
===================================================================================
리눅스를 설치할 때 필요한 최소한의 파티션은 2개입니다. 루트파티션(/)과 swap만 있으면 되죠.
만약 리눅스만을 설치하여 운영하시는 거라면 파티션을 더 세밀히 나누기를 권장합니다.
/var : 이 디렉토리는 로그파일과 프린터 스풀(프린터로 가는 파일을 임시저장) 메일스풀의 용도로 사용됩니다.
이 디렉토리는 로그파일 때문에 크기가 지속적으로 커진다는 특성을 가지고 있습니다. 이 디렉토리를 별도의 파티션으로 나누지 않는다면 시스템의 안정성에 좋지않은 영향을 줄 수 있습니다. 계속 사이즈가 증가하여 루트파티션을 몽땅 차지해 버릴 수 있기 때문이죠.
이 경우 종종 시스템이 다운됩니다. 따라서 /var는 별도의 파티션으로 나누는 것이 바람직합니다. /var를 파티션으로 나눈다면 크기는 하드의 용량과 시스템의 사용용도 등에 따라 다르겠지만 서버가 아니라면 256-512MB정도면 충분합니다.
서버라면 회사의 정책에 따라 (이를 테면 로그를 한달동안 보관해야 한다든지...) 사이즈를 결정하시면 됩니다. 대략.. 하루에 남는 로그의 양 * 필요 보관 일수 * 1.5 정도로 계산하시면 됩니다.
/home : 이 디렉토리는 사용자들의 홈 디렉토리입니다.
/home을 별도의 파티션을 이용하여 구성하게 되면 백업하기가 쉽고 사용자가 늘었을 때 /home을 확장하기가 쉬워집니다. 따라서 이 부분도 대부분 별도의 파티션으로 구성하게 됩니다. 사이즈는 사용자당quota크기 * 사용자수 * 1.5정도면 됩니다.
/tmp : 이 디렉토리는 임시 파일들이 생성/소멸되는 곳입니다.
굉장히 동적인(writing이 자주 발생하는..) 특성을 가지고 있습니다. 이러한 부분을 별도의 파티션으로 분리하면 시스템의 안정성을 높일 수 있습니다.
예를 들어 커널이나 중요 프로그램이 저장된 곳과 /tmp가 동일 파티션이라면 잦은 access로 인해 하드디스크에 fail이 발생할 경우 kernel이 손상을 입을 가능성이 아무래도 파티션을 분리했을 때보다 클 것입니다. (동일 파티션의 파일들을 디스크상에서 비슷한 곳에 저장됩니다.)
또한 이 디렉토리는 누구나 읽고 쓸 수 있다는 특성 때문에 다른 디렉토리에 접근 권한을가지고 있지 못하는 공격자들이 공격툴을 런칭하는 곳으로 사용되기도 합니다. 따라서 /tmp에 저장되어 있는 프로그램들을 실행하지 못하도록 한다면 보안을 아주 아주 조금은 향상시킬 수 있을 것입니다.
유닉스/리눅스에서는 특정 파티션에 존재하는 프로그램들을 실행시키지 못하도록 제어할 수 있습니다. 따라서 이러한 기능을 이용하기 위해서는 /tmp를 별도의 파티션으로 구성해야 합니다. 사이즈는 그리 크지않아도 됩니다.
/usr : 이곳에는 주로 유틸리티들이 저장됩니다.
이 디렉토리는 굉장히 정적인 특성을 가지고 있습니다.(write보다는 reading 이 주로일어납니다.) 백업을 비롯한 여러가지 이유때문에 이 디렉토리 역시 별도의 파티션으로 구성하면 편리합니다.
OS에따라 사용하는 애플리케이션의 종류와 그 크기에 따라 /usr의 크기는 달라지겠지만 RedHat Linux라면.. 3GB정도면 기본 애플리케이션들을 full로 설치할 수 있을 것입니다. 나중을 위해서 좀 더 넉넉하게 잡아두는 것도 좋겠지만 너무 많이 잡아두면 쓸데없이 하드디스크 공간을 낭비하게 됩니다.
/swap : 이곳에는 페이징 파일이 할당 됩니다.
메모리의 2배수가 적당하다고는 하나 어디까지나 상식적인 선에서 결정하셔야 합니다. 이를테면 메모리가 512MB이므로 스왑은 1G를 잡아야 겠다.
역시 어떠한 프로그램을 사용하시느냐에 따라 다르겠지만 일반적으로 1G 이상의 스왑영역을 잡는 것은 사실 낭비의 요소가 많습니다.
* 추가 설명 *
현재 사용하고 있는 하드디스크의 파티션을 나누려면 가급적 중요한 내용을 다 백업하시고 다시 파티션을 나누는 것이 좋습니다. 또한 그렇게하시길 권장합니다.
하지만 파티션매직과 같은 프로그램을 이용하시면 기존의 내용을 그대로 둔 채 파티션을 조정할 수 있습니다.
출처 - http://kerrigan.egloos.com/2329642
'System > Common' 카테고리의 다른 글
ssh와 sftp 사용 권한 설정 (0) | 2012.04.04 |
---|---|
/bin/false VS /sbin/nologin (0) | 2012.04.04 |
HP ProLiant DL160 G6 Server series (491532-B21) - specifications and warranty (0) | 2012.03.31 |
표준에러 미출력(/dev/null 2>&1) (0) | 2012.03.02 |
APUE2(Advanced Programming in the UNIX Environment) 정리 (0) | 2012.02.12 |