일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 유닉스
- IAC
- 시스템
- SSH OTP
- backend storage
- devops
- kv
- VIRT
- DATA 백업
- auth methods
- SHR
- 전체 백업
- vault agent
- 앤서블
- 백업
- REST API
- 통합 풀 백업
- 차분 백업
- 인프라
- Vault
- 리눅스
- secret engines
- 커널 파라미터
- 자동화
- Secret Engine
- 구성관리
- Role
- key/value
- hashicorp
- 파일시스템
- Today
- Total
클라우드 아카이브
[파티션] 파티션의 개념과 종류 본문
개요
엔터프라이즈 환경에서 서비스를 출시하기 위해 3-tier 아키텍처를 구성할 때, WEB/WAS는 윈도우, DB는 리눅스 등으로 지정하여 구축하곤 합니다. 초기에 시스템을 구성할 때 시스템 관리를 위한 디스크, 특정 소프트웨어를 사용하기 위한 디스크로 나누어 구성하는데요. 오라클의 경우 보통 관리 및 데이터 영역을 파티션으로 나누어 구성합니다. 본 포스팅에서는 이러한 영역을 나누기 위해 사용되는 파티션에 대한 개념 및 종류, 그리고 파티션 관리자와 파티션 테이블에 대해 알아보는 글을 작성하도록 하겠습니다.
파티션이란?
파티션은 물리적인 디스크를 여러 개의 논리적인 부분으로 나누어 사용하기 위한 단위이며, 해당 파티션을 나누기 위해서는 리눅스에 파티션 관리자 역할을 수행하는 소프트웨어가 설치되어야 합니다. 즉, 파티션은 단지 단위를 나타내는 개념이며 "파티션을 나눈다."라는 의미는 운영체제에 설치된 파티션 관리자를 사용하여 물리적인 디스크를 파티션으로 나눈다는 의미입니다. 파티션 관리자는
파티션 관리자
운영체제에서 사용자가 효과적으로 물리적인 디스크를 파티션으로 나눌 수 있도록 해주는 소프트웨어입니다. 파티션 관리자는 GUI, CLI 환경에 따라 사용 도구가 달라지며 리눅스/유닉스에서 대표적으로 사용하는 소프트웨어로는 fdisk, GNOME 디스크 등이 있습니다.
(우리가 리눅스에서 물리 디스크 정보를 확인할 때 사용하는 그 fdisk -l의 fdisk가 맞습니다 ㅎㅎ)
각 파티션 관리자마다 지원하는 파티션 테이블(이를테면 GPT 등)이 다르기 때문에 이를 확인하고 소프트웨어를 사용할 필요가 있습니다. 여기서 말하는 파티션 테이블은 파티션 관리자가 파티션 정보를 저장하기 위한 자료구조입니다. 초기 운영체제를 구성할 때 디스크의 처음과 끝에 파티션 테이블에 대한 정보 등을 저장합니다.
즉, 우리는 운영체제에서 파티션을 나눈다고 말할 때, 파티션 관리자를 사용하여 파티션을 나눕니다. 이러한 파티션에도 파티션 테이블과 파티션 형식이 존재합니다.
파티션 테이블
1. MBR (Master Boot Record) : 32bit + 제한된 Priary Partition 개수
과거 BIOS를 주로 사용하던 IBM PC XT와 함께 하드디스크가 보급되면서 만들어진 형식입니다. 주소가 32bit이기 때문에 최대 용량이 2TB로 제한되며, Primary Partition 개수가 4개로 제한되기 때문에, 5개 이상의 파티션이 필요한 경우, 별도의 Extended Partition을 따로 만들어서 별도의 Logical Partition을 구성해서 관리해야됬습니다. MBR은 UEFI와 GPT 보급과 함께 점점 점유율이 감소하게 됩니다.
2. GPT (GUID Partition Table) : 64bit + 128개의 Primary Partition 개수
MBR의 한계를 극복하기 위해 만들어진 파티션 테이블로 UEFI 체제와 함께 보급이 시작되었습니다. 또한, 주소가 64bit로 확장되어 최대 용량 제한이 거의 없다시피 되었을 뿐만 아니라 Primary Partition 개수가 최대 128개로 늘어났기 때문에, 굳이 Extended Partition을 사용할 필요가 없게 되었습니다.
파티션 테이블로 GPT를 설정할 경우, UEFI에서는 문제없이 부팅이 가능하지만, BIOS에서는 GPT 형식을 지원하지 않기 때문에 부팅이 불가능합니다. 반대로 파티션 테이블로 MBR을 설정할 경우에는 BIOS 및 UEFI 둘 다 부팅이 가능합니다.
개인적으로, MBR과 GPT가 지원되는 주소 및 부팅 로더에 대한 이해가 있어야 깊이있는 업무 수행이 가능할 것이라고 생각하기 때문에 해당 파티션에 대한 정리는 필수라고 생각합니다.
파티션 형식
Primary Partition (주영역)
- 운영체제 설치가 가능한 파티션으로, 실제 데이터를 저장할 수 있는 영역입니다.
- GPT에서는 거의 무제한(Windows는 128개 제한), MBR에서는 최대 4개까지 생성 가능합니다.
Extended Partition (확장영역)
- Logical Partition을 담기 위한 컨테이너 역할을 수행하는 영역입니다. 따라서 실제 데이터 저장이 불가능합니다.
- 데이터 저장이 불가능하므로, 파일시스템 형식 지정 및 마운팅이 불가능합니다.
Logical Partition (논리영역)
- Extended Partition이 갖는 범위에서 생성되는 파티션입니다.
- 운영체제 설치가 불가능하며, 실제 데이터를 저장할 수 있는 영역입니다.
- Extended Partition에 할당된 디스크 용량만큼 제한 없이 생성 가능합니다.
정리
운영체제에서 파티션을 구성하기 위해 파티션 관리자라는 소프트웨어를 사용합니다. 파티션 관리자에서 효율적으로 파티션을 생성 및 관리하기 위해 파티션 테이블이 존재하는데요. 파티션 관리자에 따라 지원되는 파티션 테이블이 다릅니다. 어떤 파티션 테이블을 사용하느냐에 따라 Primary Partition 최대 생성가능한 개수, 지원 가능한 부팅 로더 등이 달라지는데요. UEFI의 보급과 함께 GPT를 이용한 파티션 관리가 주로 사용되는 추세입니다. 파티션은 Primary Partition, Extended Partition, Logical Partition으로 나뉘는데요. 각 파티션마다 목적 및 특성이 달라지기 때문에 반드시 숙지할 필요가 있습니다.
마무리
시스템 운영자로써 파티션과 파티션 테이블 등에 대한 학습은 필수라고 생각합니다. 또한, 시스템의 목적 및 성격에 따라 적합한 파티션 테이블 및 파티션 설정에 대한 인사이트는 기본적인 자질이 되는 것 같습니다. 다음 포스팅에서는 파티션과 LVM에 대한 이해도를 바탕으로 실제 리눅스 서버에서 파티션과 LVM을 생성하는 실습을 진행하도록 하겠습니다.
[출처]
- https://ko.wikipedia.org/wiki/%ED%8C%8C%ED%8B%B0%EC%85%98_%ED%85%8C%EC%9D%B4%EB%B8%94
- https://ko.linux-console.net/?p=2368
- https://namu.wiki/w/%ED%8C%8C%ED%8B%B0%EC%85%98
-
'OS 및 스토리지 > 스토리지' 카테고리의 다른 글
[스토리지][이중화] RAID의 개념 및 특징과 종류 (0) | 2022.01.02 |
---|---|
[스토리지] LVM (Logical Volume Manager)의 개념과 사용법 (0) | 2021.09.21 |
[스토리지] 파일/블록/오브젝트 스토리지의 개념과 특징 (0) | 2021.09.15 |
[백업] PTL과 VTL의 차이점 (0) | 2021.08.22 |