모든 강의를 무료로 볼 수 있어요. 회원가입 없이도 학습 가능합니다.

7강 / 전체 9강

파티션 구성 — 주/확장/논리 파티션과 마운트 포인트 설계

14분 읽기 조회 0

[1과목 2장 02절] 디스크 장치명 규칙, MBR/GPT, 주·확장·논리 파티션 규칙, 마운트 포인트 설계와 스왑 크기를 다룹니다.

🎯 이 강의 학습 목표

이 강은 1과목 2장 02절 파티션 구성과 파일 시스템 유형의 앞부분입니다. 이 강을 마치면 /dev/sdb6 같은 장치명을 보고 어떤 디스크의 몇 번째 파티션인지 읽을 수 있고, 주·확장·논리 파티션의 개수 규칙을 정확히 말할 수 있으며, 마운트 포인트를 어떻게 설계하고 스왑을 얼마나 잡아야 하는지 근거를 들어 설명할 수 있게 됩니다.

파티션은 1과목에서 출제 빈도가 가장 높은 주제 중 하나입니다. 특히 "확장 파티션은 2개 이상 설정할 수 있다", "스왑은 디스크 용량의 2배를 권장한다"처럼 숫자와 대상을 한 군데만 바꾼 오답이 반복 출제되므로, 규칙을 흐릿하게 알면 반드시 틀립니다.

💡 디스크 장치명 읽는 법

리눅스는 모든 장치를 /dev 아래의 파일로 표현합니다. 디스크도 마찬가지이며, 인터페이스 종류에 따라 이름 규칙이 다릅니다.

인터페이스장치명설명
IDE(PATA)/dev/hda ~ /dev/hdd과거 방식. hda=Primary Master, hdb=Primary Slave, hdc=Secondary Master, hdd=Secondary Slave
SCSI · SATA · USB/dev/sda, /dev/sdb, …인식 순서대로 a, b, c… 현재 가장 일반적
NVMe SSD/dev/nvme0n1컨트롤러 번호 + 네임스페이스 번호
가상 디스크/dev/vdaKVM 등 가상화 환경의 virtio 디스크

장치명 뒤에 붙는 숫자가 파티션 번호입니다. 예를 들어 /dev/sdb6은 SCSI/SATA 계열의 두 번째 디스크(sdb)의 6번 파티션입니다. 여기서 한 걸음 더 나가면 정보가 하나 더 나옵니다. 번호가 5 이상이면 논리 파티션이라는 규칙 때문에, /dev/sdb6은 논리 파티션임을 알 수 있습니다. 시험에서 장치명 하나를 주고 "이에 대한 설명으로 알맞은 것"을 고르게 하는 문제가 바로 이 세 정보(인터페이스·디스크 순서·파티션 종류)를 묻습니다.

NVMe는 규칙이 다릅니다. /dev/nvme0n1p1처럼 p를 붙여 파티션 번호를 표시합니다. 숫자가 이미 여러 개 쓰이고 있어 구분자가 필요하기 때문입니다.

💡 MBR과 GPT, 그리고 파티션의 3가지 종류

디스크의 맨 앞에는 파티션이 어떻게 나뉘어 있는지 적어 둔 표가 들어갑니다. 이 표의 형식이 MBR과 GPT 두 가지입니다.

구분MBRGPT
정식 명칭Master Boot RecordGUID Partition Table
최대 디스크 용량약 2TB사실상 제한 없음(ZB급)
주 파티션 개수최대 4개기본 128개
확장/논리 개념있음(4개 한계를 넘기 위한 우회책)없음(모두 동등)
펌웨어주로 BIOS주로 UEFI
백업파티션 테이블 1부디스크 앞·뒤에 복제본 보관

MBR 방식에서 주 파티션(Primary Partition)은 최대 4개까지만 만들 수 있습니다. 그런데 4개로는 부족한 경우가 많아 나온 우회책이 확장 파티션(Extended Partition)입니다.

확장 파티션의 성질을 정확히 정리하면 다음과 같습니다. 첫째, 확장 파티션은 디스크당 1개만 만들 수 있습니다. "2개 이상 설정 가능"이라는 서술은 대표적인 오답 선지입니다. 둘째, 확장 파티션 자체에는 데이터를 저장할 수 없습니다. 파일 시스템을 만들 수 없는 껍데기이며, 안에 논리 파티션(Logical Partition)을 만들어야 비로소 쓸 수 있습니다. 셋째, 확장 파티션은 주 파티션 4개 자리 중 하나를 차지합니다. 그래서 확장 파티션을 만들면 주 파티션은 최대 3개가 됩니다.

번호 부여 규칙도 함께 외워야 합니다. 1~4번은 주 파티션과 확장 파티션에 배정되고, 논리 파티션은 실제 개수와 무관하게 언제나 5번부터 시작합니다. 주 파티션을 2개만 만들었더라도 논리 파티션의 첫 번호는 3번이 아니라 5번입니다. 이 규칙이 있기 때문에 앞에서 /dev/sdb6을 논리 파티션이라고 단정할 수 있었던 것입니다.

💡 왜 파티션을 나누는가, 그리고 어떻게 나누는가

디스크 하나를 통째로 / 하나에 쓸 수도 있습니다. 그럼에도 나누는 이유가 있습니다.

첫째, 장애 격리입니다. 로그가 폭주해 /var가 가득 차도 /가 별도 파티션이면 시스템은 계속 동작합니다. 반대로 한 파티션이면 디스크가 꽉 차는 순간 로그인조차 안 되는 상태가 됩니다. 둘째, 보안입니다. 사용자가 쓰기 가능한 /home이나 /tmp에 noexec·nosuid 같은 마운트 옵션을 걸어 실행을 막을 수 있습니다. 셋째, 백업과 재설치가 쉬워집니다. /home을 따로 두면 배포판을 다시 설치해도 사용자 데이터를 보존할 수 있습니다.

일반적으로 쓰이는 마운트 포인트는 다음과 같습니다.

마운트 포인트용도비고
/ (루트)파일 시스템의 최상위. 반드시 필요모든 디렉터리의 출발점
swap가상 메모리 영역. 반드시 필요디렉터리가 아니라 전용 파티션
/boot커널 이미지와 부트로더 설정수백 MB~1GB 수준
/home사용자 홈 디렉터리사용자가 많으면 가장 크게
/var로그·메일·스풀·DB 등 변하는 데이터서버라면 반드시 분리 권장
/usr명령어·라이브러리·문서 등 시스템 프로그램설치 패키지가 많으면 커짐
/tmp임시 파일누구나 쓰기 가능(스티키 비트)

여기서 반드시 기억할 최소 구성이 있습니다. 리눅스를 설치하려면 최소한 /와 swap 두 개의 파티션이 필요합니다. 서버로 운영한다면 여기에 /boot·/home·/var를 더해 4개 이상으로 나누는 것이 일반적입니다.

💡 스왑 크기와 파티션 종류 ID

스왑(swap)은 하드디스크의 일부를 메모리처럼 사용하는 기술이며 가상 메모리의 역할을 담당합니다. 물리 메모리가 부족할 때 오래 쓰지 않은 페이지를 디스크로 옮겨 두는 용도입니다.

크기에 관한 전통적인 권장값은 물리 메모리(RAM)의 1~2배입니다. 시험에서는 2배를 기준으로 묻는 경우가 많습니다. 예를 들어 RAM이 1GB이면 스왑은 2GB가 권장값입니다. 여기서 주의할 함정이 있습니다. 기준은 RAM 용량이지 디스크 용량이 아닙니다. "디스크 용량의 2배를 권장한다"는 서술은 오답입니다. 단어 하나만 바꿔 놓은 선지이므로 반드시 걸러야 합니다.

다만 실무에서는 메모리가 수십 GB인 서버가 흔해져서 2배 규칙을 그대로 적용하지 않습니다. 최근 배포판 문서는 메모리 크기 구간별로 훨씬 작은 값을 권장하며, 최대 절전(hibernation)을 쓸 때만 메모리 크기 이상을 요구합니다. 시험은 전통적 기준(2배), 실무는 구간별 권장으로 구분해 두십시오.

파티션을 만들 때는 파티션 종류 ID를 지정합니다. 시험에 나오는 주요 값은 다음과 같습니다.

ID종류
82Linux swap / Solaris
83Linux (일반 리눅스 파일 시스템)
85Linux extended
8eLinux LVM
fdLinux raid autodetect
5 / f확장 파티션(Extended / W95 Ext'd LBA)
7HPFS/NTFS/exFAT (윈도우)

특히 82(스왑)와 83(리눅스)은 그대로 출제됩니다. 두 숫자만큼은 반드시 외워 두십시오.

💻 실습으로 확인하기

아래는 WSL 우분투에서 실행한 결과입니다.

$ lsblk
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda    8:0    0 388.6M  1 disk 
sdb    8:16   0   186M  1 disk 
sdc    8:32   0     8G  0 disk [SWAP]
sdd    8:48   0     1T  0 disk /mnt/wslg/distro
                               /

장치명이 모두 sd로 시작합니다. 앞에서 정리한 대로 SCSI/SATA 계열 규칙을 따르며, 인식 순서대로 sda·sdb·sdc·sdd가 붙었습니다. sdc의 MOUNTPOINTS가 [SWAP]인 것은 이 디스크가 스왑 영역으로 쓰이고 있다는 뜻이고, sdd가 루트 /를 담당합니다.

$ swapon --show
NAME     TYPE      SIZE   USED PRIO
/dev/sdc partition   8G 458.4M   -2

swapon --show는 현재 활성화된 스왑 영역을 보여 줍니다. TYPE이 partition이면 스왑 파티션, file이면 스왑 파일입니다. 스왑은 파티션이 아니라 파일로도 만들 수 있다는 점을 함께 알아 두십시오. PRIO는 우선순위로, 스왑이 여러 개일 때 어느 것을 먼저 쓸지 정합니다.

$ sfdisk --list-types | grep -E "^(82|83|85|8e|fd) "
82  Linux swap / Solaris
83  Linux
85  Linux extended
8e  Linux LVM
fd  Linux raid autodetect

sfdisk --list-types는 파티션 종류 ID 목록을 출력합니다. 앞에서 표로 외운 값이 실제 도구에 그대로 정의되어 있음을 확인할 수 있습니다. grep -E로 필요한 줄만 걸러 냈는데, 정규표현식 ^(82|83|...) 는 "줄 시작이 82 또는 83… 이고 뒤에 공백이 오는 줄"이라는 뜻입니다. grep과 정규표현식은 13강에서 다룹니다.

파티션을 실제로 나눌 때는 fdisk(MBR 중심), gdisk(GPT), parted(둘 다·스크립트 가능)를 씁니다. fdisk /dev/sdb처럼 디스크 전체를 대상으로 실행하며, 대화식 화면에서 n(새 파티션), d(삭제), p(목록), t(종류 변경), w(저장 후 종료), q(저장 없이 종료)를 입력합니다. w를 누르기 전까지는 디스크에 반영되지 않으므로, 실수했다면 q로 빠져나오면 됩니다. 이 점이 실습 안전장치이자 시험 포인트입니다. 실제 디스크를 가진 환경이 아니라면 가상머신에 가상 디스크를 추가해 연습하십시오.

⚠️ 시험에 나오는 함정

함정정확한 사실
확장 파티션은 2개 이상 만들 수 있다디스크당 1개만
확장 파티션에 직접 데이터를 저장한다불가. 안에 논리 파티션을 만들어야 함
논리 파티션은 주 파티션 다음 번호부터 시작한다항상 5번부터
스왑은 디스크 용량의 2배RAM(물리 메모리)의 1~2배
스왑 파티션은 용량 제한이 없다제한이 있으며 권장 기준이 존재
MBR에서 주 파티션을 4개 만들고 확장도 만들 수 있다확장이 4개 자리 중 하나를 차지 → 주 파티션은 최대 3개
2TB 넘는 디스크도 MBR로 쓸 수 있다MBR은 약 2TB 한계 → GPT 필요

📝 핵심 요약 — 암기표

항목핵심
IDE 장치명hda=1st Master · hdb=1st Slave · hdc=2nd Master · hdd=2nd Slave
SATA/SCSI/USB/dev/sda, sdb… / NVMe는 /dev/nvme0n1p1
MBR주 파티션 최대 4개 · 약 2TB 한계
GPT기본 128개 · 2TB 초과 지원 · 확장/논리 개념 없음
확장 파티션1개만 · 데이터 저장 불가 · 주 파티션 자리 1개 소모
논리 파티션 번호항상 5번부터
최소 파티션/ + swap 2개 / 서버는 4개 이상 권장
스왑 크기RAM의 1~2배(시험은 2배 기준). RAM 1GB → 2GB
파티션 ID82=swap · 83=Linux · 8e=LVM · fd=RAID
파티션 도구fdisk(MBR) · gdisk(GPT) · parted — w 전까지 미반영

다음 8강에서는 이렇게 나눈 파티션을 실제로 쓸 수 있게 만드는 파일 시스템을 다룹니다. ext2에서 ext4까지의 발전, XFS와 Btrfs, 그리고 저널링이 주제입니다.

📋 실전 문제

1. 다음 중 파티션의 유형에 대한 설명으로 틀린 것은?
① 확장 파티션은 2개 이상 설정이 가능하다.
② 주 파티션은 MBR 방식에서 최대 4개까지 만들 수 있다.
③ 논리 파티션은 확장 파티션 안에 생성한다.
④ 확장 파티션 자체에는 데이터를 저장할 수 없다.

2. /dev/sdb6에 대한 설명으로 알맞은 것은?
① IDE 방식 첫 번째 디스크의 주 파티션이다.
② SCSI/SATA 계열 두 번째 디스크의 논리 파티션이다.
③ NVMe 첫 번째 디스크의 여섯 번째 주 파티션이다.
④ 확장 파티션이므로 데이터를 저장할 수 없다.

3. 물리적 시스템의 메모리(RAM) 크기가 1GB일 때 전통적으로 권장하는 스왑 공간 용량은?
① 512MB    ② 1GB    ③ 2GB    ④ 4GB

4. 스왑 파티션에 대한 설명으로 틀린 것은?
① 리눅스 설치 시 반드시 분할해야 하는 영역이다.
② 가상 메모리 역할을 담당한다.
③ 리눅스에서는 전통적으로 디스크 용량의 2배를 권장하였다.
④ 파티션 종류 ID는 82이다.

5. 파티션 종류 ID와 이름의 연결로 틀린 것은?
① 82 — Linux swap    ② 83 — Linux
③ 8e — Linux LVM    ④ fd — Linux extended

6. MBR과 GPT에 대한 설명으로 옳은 것은?
① MBR은 2TB를 초과하는 디스크를 문제없이 지원한다.
② GPT는 확장 파티션과 논리 파티션 개념을 사용한다.
③ GPT는 기본적으로 128개의 파티션을 만들 수 있다.
④ MBR은 파티션 테이블 복제본을 디스크 앞뒤에 보관한다.

7. 리눅스 시스템의 파티션 분할에 대한 설명으로 틀린 것은?
① /와 swap 등 최소 2개의 파티션이 필요하다.
② 서버로 사용하는 경우 4개 이상으로 분할하는 것이 일반적이다.
③ /var를 분리하면 로그 폭주 시 시스템 전체가 멈추는 것을 막을 수 있다.
④ 파티션을 나누면 재설치 시 /home의 데이터도 반드시 삭제된다.

8. fdisk로 파티션 작업을 하던 중 실수를 발견했을 때, 디스크에 아무 변경도 남기지 않고 빠져나오는 명령은?
① w    ② q    ③ d    ④ t

✅ 정답과 해설

1. 정답 ①
확장 파티션은 디스크당 1개만 만들 수 있습니다. 주 파티션 4개 한계를 넘기 위한 우회 수단이므로 여러 개를 둘 이유도 없습니다. ②·③·④는 모두 옳은 설명이며, 특히 ④는 확장 파티션이 논리 파티션을 담는 껍데기라는 점을 정확히 서술했습니다.

2. 정답 ②
sd로 시작하므로 SCSI/SATA/USB 계열, b이므로 두 번째 디스크, 번호가 5 이상인 6이므로 논리 파티션입니다. ①은 IDE라면 hd로 시작해야 하므로 틀리고, ③은 NVMe라면 /dev/nvme0n1p6 형태여야 합니다. ④는 논리 파티션이므로 데이터 저장이 가능합니다.

3. 정답 ③
전통적인 권장값은 RAM의 1~2배이며 시험은 2배를 기준으로 묻습니다. 따라서 1GB의 2배인 2GB가 정답입니다.

4. 정답 ③
기준은 RAM(물리 메모리)이지 디스크 용량이 아닙니다. 단어 하나를 바꿔 놓은 대표적 함정 선지입니다. ①·②·④는 모두 옳으며, 특히 ④의 ID 82는 단독 문제로도 출제됩니다.

5. 정답 ④
fd는 Linux raid autodetect이고, Linux extended는 85입니다. ①·②·③은 모두 올바른 연결이며, sfdisk --list-types로 직접 확인할 수 있습니다.

6. 정답 ③
GPT는 기본적으로 128개의 파티션 항목을 지원합니다. ①은 MBR이 약 2TB 한계를 가지므로 틀리고, ②는 GPT에 확장/논리 개념이 없다는 점에서 틀립니다. ④는 앞뒤 복제본을 두는 쪽이 GPT이므로 주어가 바뀐 오답입니다.

7. 정답 ④
/home을 별도 파티션으로 분리해 두면 배포판을 다시 설치해도 사용자 데이터를 보존할 수 있습니다. 이것이 파티션을 나누는 주요 이점 중 하나이므로 ④는 사실과 정반대입니다. ①·②·③은 모두 옳습니다.

8. 정답 ②
q는 저장하지 않고 종료합니다. fdisk는 w를 입력하기 전까지 변경 사항을 메모리에만 들고 있으므로, 실수했다면 q로 안전하게 빠져나올 수 있습니다. ①의 w는 디스크에 기록하고 종료, ③의 d는 파티션 삭제, ④의 t는 파티션 종류 ID 변경입니다.

📚 참고 자료

관련 주제

  • 파티션
  • 주 파티션
  • 확장 파티션
  • 논리 파티션
  • MBR
  • GPT
  • 스왑
  • fdisk
  • 자격증
  • 자격증 강의
  • 리눅스마스터 2급 완전정복
  • 무료강의
  • 무료 온라인 강의
  • NUGUNA
  • 누구나

📚 시리즈 전체 공유

리눅스마스터 2급 완전정복

이 강의가 속한 시리즈는 총 9강, 모두 무료입니다. 처음부터 배우려는 동료에게 시리즈 전체를 알려 주세요.

댓글

0/1000

불러오는 중...