You cannot see this page without javascript.

Linux 파티션

Linux 조회 수 448 추천 수 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
번호 제목 글쓴이 날짜 조회 수

APM mariadb download origin address

  • LynX
  • 2019-06-19
  • 조회 수 1992

APM What one can and should optimize

  • LynX
  • 2019-06-03
  • 조회 수 1419

CentOS mariadb install

  • LynX
  • 2019-05-31
  • 조회 수 1183

CentOS init mode change

  • LynX
  • 2019-05-30
  • 조회 수 1291

APM ext zip install

  • LynX
  • 2019-02-19
  • 조회 수 1615

APM ext ImageMagick install

  • LynX
  • 2019-02-19
  • 조회 수 513

3D Printer Pronterface(PrintRun) install file

  • LynX
  • 2018-09-13
  • 조회 수 753

CentOS Grub UUID change

  • LynX
  • 2018-08-08
  • 조회 수 869

Linux letsencrypt wildcard

  • LynX
  • 2018-07-26
  • 조회 수 798

Printer cura usb connection

  • LynX
  • 2018-07-06
  • 조회 수 666

CentOS cli 무선랜

  • LynX
  • 2018-06-07
  • 조회 수 448

APM 윈도우에 APM 페키지 설치 file

  • LynX
  • 2018-05-04
  • 조회 수 593

APM MySQLTuner 설치

  • LynX
  • 2018-04-27
  • 조회 수 545

CentOS CentOS7 커널 업데이트

  • LynX
  • 2018-04-23
  • 조회 수 702

HTML Tag CSS 여러가지 모양 만들기

  • LynX
  • 2018-02-08
  • 조회 수 772

Linux wkhtmltopdf wkhtmltoimage install

  • LynX
  • 2018-01-31
  • 조회 수 602

APM LZ4_LIBS Not Found (CentOS7, MariaDB 10.1.29)

  • LynX
  • 2018-01-03
  • 조회 수 485

APM mysql ./configure

  • LynX
  • 2017-12-15
  • 조회 수 805

APM PHP-7.2.0

  • LynX
  • 2017-12-12
  • 조회 수 3157

Linux libiconv

  • LynX
  • 2017-12-08
  • 조회 수 558

XE Login