You cannot see this page without javascript.

Linux 파티션

Linux 조회 수 345 추천 수 0 2014.06.25 10:06:11


ㅇ 디스크 파티션의 등장 배경


초기 유닉스 시스템의 구성에서 예측하기 어려운 부분이 RAM이었다. 

CPU와 HDD는 일정한 사용량을 예측하여 구성하더라도, 많은 수의 클라이언트들이 서버에 접속하면 프로세스가 발생하면서 RAM 사용량이 급격히 증가할 수 있기 때문이다. 

그래서 상대적으로 가격이 저렴하고 공간적 여유가 있는 하드디스크의 일부를 SWAP 영역이라는 이름으로 파티션을 설정하여 최상위 디렉토리인 "/(루트)"가 사용하는 파티션과 더불어 디스크를 파티셔닝하여 사용하였다. 이때 SWAP의 용량은 전체 디스크의 10% 정도가 권장되었다. 


리눅스의 파티션은 초창기는 유닉스처럼 /와 swap 영역으로만 분할되었으나 본격적으로 서버로 사용되기 시작한 커널 2.2 기반의 레드헷 리눅스 버전 6(1999년)에서는 4개의 파티션 분할이 권장되었다. 


이때부터 리눅스는 Primary Partition을 4개까지 지원하였고, 이때 권장하는 분할 파티션이 /, swap, /usr, /home 이었다. /usr과 /home의 공통점은 서버로 사용될 경우 급격한 디스크 용량 증가가 발생할 수 있는 디렉토리라는 점이다. 


2000년 이후로 기업체의 서버로 리눅스가 사용되면서 이메일(스팸메일 포함)이 쌓이는 /var/spool/mail 디렉토리와 각종 로그가 쌓이는 /var/log 때문에 /var 디텍토리도 분할하여 사용되기 시작하였다. 


/usr, /home, /var 디렉토리를 분할하여 파티셔닝하지 않는 경우 / 디렉토리의 용량이 풀(full) 이 되면 프로세스가 중단되거나, 새로운 프로세스를 실행시킬 수 없는 문제가 발생할 수 있으므로 분할하여 사용하는 것이 권장되는 것이다. 

추가적으로 멀티부팅을 위해 사용하는 LILO 부트 매니저 프로그램은 부팅을 위한 리눅스 커널이 하드디스크의 1024 실린더 영역에 있어야 부팅이 가능하기 때문에 부팅을 위해 /boot 도 분할하여 사용해야 했다(현재 부트 매니저로 사용되는 GRUB은 이 문제점을 해소한 상태이다)



ㅇ 파티션 분할이 필요한 디렉토리


현재는 보안상의 이유, 시스템의 안정성 확보, 관리의 편의성에 따라 리눅스에서 사용하는 각 디렉토리의 특성에 따라 별도의 파티션을 구성하거나, 단지 /와 swap 만으로 분할하여 파티셔닝을 한다. (전적으로 사용자 맘이다)


별도의 파티션을 구성하는 것을 검토할 필요가 있는 디렉토리는 다음과 같다. 


- /swap : /와 함께 반드시 필요한 파티션이다. 통상 물리 메모리의 2배 정도를 할당한다. 


- /boot : 운영 시스템의 커널이 들어가는 디렉토리이다. 커널 컴파일을 위해 여유있게 100M 이상으로 할당해야 한다. 


- /usr : 리눅스의 응용프로그램이 설치되는 디렉토리이다.(windows의 C:Program Files에 해당)  전통적으로 분할이 권장되었지만, 현재는 /와 /usr이 분리될 경우 유지관리의 문제가 발생할 수 있으므로 분리하지 않도록 권장된다

(시스템 유지관리에 필요한 일부 명령어가 /usr/sbin에 저장되기 때문)


- /var : 위에서 언급한 것처럼 반드시 분할해야 하는 디렉토리로 부상하고 있다. 스풀링 파일들이 저장되는 /var/spool, 메일이 저장되는 /var/spool/mail, 로그가 저장되는 /var/log, yum 패키지를 다운로드하는 /var/cache/yum 디렉토리 때문에 적어도 3G 이상 설정을 권장한다. 


- /home : 시스템을 사용하는 사용자 계정이 많을 경우 반드시 분할하도록 권장된다. 사용자 계정을 만들면 각 사용자는 자신의 홈 디렉토리를 /home 디렉토리 밑에 자신의 계정명을 디렉토리로 갖기 때문이다.(/home/user01, /home/user02....등)      

/home을 분할할 경우 각 사용자가 불필요한 파일을 업로드 하는 것을 제한할 수 있고, 특수 파일 생성 제한 등의 정책을 파티션에 부여할 수 있으므로 분할이 권장된다. 


- /tmp : 스티키 비트라고 부르는 특별한 권한으로 인해 보안상의 이유로 파티션 분할이 권장된다.  /tmp 디렉토리는 원래 임시 저장 을 위한 디렉토리로 다양한 시스템 계정이 사용하기 때문에 스티키 비트라는 특수 권한을 부여해서, 공유 디렉토리처럼 모든 사용자가 /tmp 디렉토리에 파일을 생성할 수 있도록 하되, 삭제시에는 본인이 생성한 파일만 삭제할 수 있도록 만든 권한체계이다. 

(2010년 분할되지 않은 /tmp 디렉토리를 이용해 root 권한을 획득하는 취약점이 발표되었는데, /tmp 디렉토리를 분할하여 파티션 했다면 막을 수있는 취약점이었다)



ㅇ 파티션의 종류


위에서 잠깐 언급한 것처럼 하나의 디스크는 모두 4개의 Primary Partition을 가질 수 있다.

간단한 리눅스 서버 시스템이나 데스크탑으로 리눅스를 사용할 경우 /와 swap 두 개의 파티션으로만 구성할 수도 있다. 


그러나 /var, /tmp, /home 등 보안이나 안정성을 위해 추가적인 파티션 구성이 필요할 경우 4개의 Primary Partition만으로 만들 수 없기 때문에 Extended Partition을 사용한다. 


Extended 파티션은 논리 파티션을 담을 수 있는 그릇 역할을 하는 파티션이고 하나의 디스크에 하나의 확장 파티션만 설정할 수 있으므로 일반적으로 프라이머리 파티션을 구성하고 남은 디스크 전체의 공간을 확장 파티션으로 설정한다. 


논리 파티션은 확장 파티션 안에 논리적으로 만들 수 있는 파티션으로 최대 12개의 논리 파티션을 구성할 수 있다.



아래 그림은 주 파티션(Primary Partition)과 확장 파티션, 논리 파티션을 이용한 파티션 구성의 예이다. 


리눅스_파티션_구성.png

첨부
엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
49 윈도우서버2008 - 06 (보안 정책 및 감사) file [10] LynX 2012-11-28 285
48 32bit Driver을 64bi로 설치하기 [8] LynX 2011-06-21 282
47 Windows 윈도우 8 pro key LynX 2014-05-26 277
46 CentOS CentOS7 WHEEL 계정 추가 file LynX 2017-02-03 275
45 Xpress Engine XML 쿼리 대신 직접 mysql 사용하기 LynX 2014-07-19 273
44 웹 프린트 작업시 픽셀과 밀리미터간의 상관관계 (1mm=3.8px ) [8] LynX 2013-03-15 271
43 Xyview DVR서버 연결 [8] LynX 2012-04-19 269
42 웹 페이지의 원하는 테이블만 프린트 LynX 2013-03-15 266
41 Network vpn LynX 2016-06-29 263
40 HardWare 라우터 기본설정 LynX 2013-09-28 259
39 HP Officejet 6500A (Plus) 호환 드라이버 [8] LynX 2012-05-16 257
38 Linux 하위 디렉토리 문자열 일괄검색,치환 LynX 2016-08-24 250
37 윈도우7 알수없는장치 file [8] LynX 2012-03-13 250
36 HardWare DCE 기본설정 LynX 2013-09-28 247
35 Programing make - 03 make의 사용 file LynX 2017-02-22 246
34 Windows Windows Server 2012 - .NET Framework 1.x 미지원 LynX 2014-05-29 246
33 Linux Apache httpd mod_evasive compile LynX 2016-08-22 245
32 Programing make - 06 make 규칙 LynX 2017-02-22 242
31 Xpress Engine XE에 memcache 사용 설정 LynX 2016-09-23 242
30 Linux 리눅스 사용 기초 - 04 bash 셸 사용하기 LynX 2017-02-17 240

XE Login