파티션이란
- 하나의 물리적 디스크를 여러 개의 논리적인 디스크로 분할하는 것
- 디스크 공간을 여러 개의 하드디스크가 있는 것처럼 활용하기 위함
파티션 분할 이유
- 한 시스템에 서로 다른 운영체제 사용 가능 (멀티 부팅 가능)
- 디스크 공간의 효율적 활용 (저장 공간)
- 하드 디스크의 물리적으로 손상 시 피해 축소 및 보안 유지
- 부팅 시간 단축 (파일 시스템 검사 시간 단축)
- 손상된 하드디스크 복구 시간 단축
- 자료 백업과 보안의 용이성
파티션의 특징과 종류
▷ 주 파티션(Primary Partition)
- 부팅이 가능한 기본 파티션
- 하나의 하드디스크에 최대 4개의 주 파티션 분할 가능
(하나의 HDD에는 주 파티션과 확장 파티션을 합쳐 모두 4개의 파티션까지 나눌 수 있다는 제한)
- 하드디스크를 4개 이상의 파티션으로 사용해야 할 때 하나의 확장 파티션을 설정하여 확장 파티션 안에 여러 개의 논리 파티션을 분할하여 데이터 저장
(4개 이상의 파티션이 필요할 경우 확장 파티션을 만들어 그 안에 논리 파티션을 두어야함)
▷ 확장 파티션(Extended Partition)
- HDD를 여러 개의 파티션으로 나누고자 할 때 만드는 파티션
- 주 파티션 내에 생성, 하나의 물리적 디스크에 1개만 생성
- 파티션 번호는 1~4번이 할당
- 데이터 저장 영역을 위한 것이 아니라 논리 파티션을 생성
(저장 공간이 없으며, 안에 논리 파티션을 만들 수 있게 해주는 큰 그릇의 역할만 함)
▷ 논리 파티션(Logical Patition)
- 확장 파티션 안에 생성되는 파티션
- 4개 이상의 파티션을 사용하게 되는 경우, 확장 파티션 내에 논리 파티션을 만들어서 사용
- 논리 파티션은 12개 이상 생성하지 않는 것을 권고
- 5번 이후의 번호가 붙여짐
▷ 스왑 파티션(Swap Partition)
- 하드디스크의 일부를 메모리처럼 사용하는 영역
- 주 파티션 또는 논리 파티션에 생성
- 프로그램 실행 시 부족한 메모리 용량을 하드디스크로 대신
- 리눅스 설치 시에 반드시 설치되어야 하는 영역
- 스왑 영역의 크기는 메모리의 2배를 설정하도록 권고

파티션 개수의 제약
- 하나의 하드디스크에 만들 수 있는 주 파티션의 최대 개수 : 4개
- 파티션을 4개 이상으로 더 분할할 경우 : 주 파티션 중 하나를 확장 파티션으로 전환 후 확장 파티션 내에 논리 파티션 생성
- 하나의 하드 디스크에서 사용 가능한 파티션의 최대 개수 : 15개 (주 파티션 3 + 확장 파티션 1{논리 파티션 12개})
디스크와 장치명
- 분할된 파티션은 디스크의 장치 파일명 뒤에 숫자를 붙인다.
- 리눅스에서 파티션을 만들고 마운트할 때 지정된 디바이스명을 사용한다.
리눅스의 하드 및 파티션 표시법
1. (E)IDE 타입의 하드디스크인 경우의 표현
- (E)IDE 컨트롤러에 연결되어있는 순서에 따라 " hd? " 로 표현
- ex) hda, hdb, hdc, hdd
2. SCSI, SATA 타입의 하드디스크인 경우의 표현
- " sd? " 로 표현
- 요즘 거의 이렇게 표시
- ex) sda, sdb, sdc, sdd

3. 파티션 표시
- 하드디스크 표현 끝에 숫자를 붙여서 표시
- ex) hda1 : hda의 첫 번째 파티션, hdb2 : hdb의 두 번째 파티션
* 하드디스크 및 파티션 인식 방법의 예
- /dev/hda1 : Primary master 하드디스크 첫 번째 파티션
- /dev/hda2 : Primary master 하드디스크 두 번째 파티션
- /dev/hdb1 : Primary slave 하드디스크 첫 번째 파티션
- /dev/hdc2 : Secondary master 하드디스크 두 번째 파티션
* 하나의 하드디스크 상에서 파티션 표기법

리눅스 설치를 위한 최소의 파티션 개수 : 2개
- 네이티브(native) 파티션 혹은 루트(/) 파티션 : 리눅스가 설치되거나 시스템 파일 및 사용자 개인 파일 등 모든 파일이 저장되는 파티션
- 스왑(swap) 파티션 : 시스템 메모리를 확장하기 위해 사용하는 파티션(가상 메모리)
파일 시스템
- 운영체제가 파일을 시스템의 디스크 파티션상에 구성하는 방식
- 일정한 규칙을 가지고 파일을 저장하도록 규칙 방식을 제시
- 파티션에 파일 시스템이 없으면, 파일 시스템 생성을 거쳐야 사용 가능
- 리눅스는 고유의 파일 시스템뿐만 아니라 다양한 파일 시스템을 지원하고 있음
LVM (Logical Volume Manager)
- 논리 볼륨 관리자
- 여러 개의 물리적인 하드디스크 파티션을 Volume Group으로 묶은 다음, 논리적인 디스크로 할당하여 유연하게 관리할 수 있게 해주는 기술
- 여러 개의 하드디스크를 합쳐서 사용하는 기술로, 한 개의 파일 시스템을 사용
- 작은 용량의 하드디스크 여러 개를 큰 용량의 하나의 하드디스크처럼 사용
- 서버를 운영하면서 대용량의 별도 저장 공간이 필요할 때 활용
- 여러 개의 디스크를 묶어서 사용함으로써 파티션의 크기를 줄이거나 늘릴 수 있음
LVM 구성의 예

LVM 구현 방법

- Fdisk를 통해 생성한 파티션을 나누고, 파티션 타입을 Linux LVM(8e)로 선택
- 생성된 파티션을 pvcreate 명령으로 physical volume으로 생성
- vgcreate 명령으로 각각 PV(Physical Volume)들을 묶어 VG(Volume Group)을 만듦
- lvcreate 명령으로 VG에서 원하는 size 만큼의 LV(Logical Volume)을 만듦
- 생성된 LV에 file system을 생성하고, /etc/fstab에 등록하여 마운트함
RAID
- 복수 배열 독립 디스크
- 여러 개의 물리적 디스크를 하나의 논리적 디스크로 인식하여 작동하게 하는 기술
- 여러 개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술
- RAID 종류 : 하드웨어 RAID, 소프트웨어 RAID
- 레벨 : 데이터를 저장하는 방법. 다양함
- 레벨에 따라 저장 장치의 신뢰성을 높이거나 전체적인 성능을 향상시키는 다양한 목적을 만족시킴
- 각 레벨의 장점을 합친 RAID 구성으로는 대표적으로 RAID 0+1과 RAID 1+0 이 있음
파티션 분할
- fdisk : 파티션 테이블을 관리하는 명령. 리눅스의 디스크 파티션을 생성, 수정, 삭제할 수 있는 일종의 유틸리티
▷ 참고
https://itdexter.tistory.com/279
https://www.sharedit.co.kr/posts/1234
https://tech.cloud.nongshim.co.kr/2018/11/23/lvmlogical-volume-manager-1-%EA%B0%9C%EB%85%90/