Partition
1️⃣ 디스크 파티셔닝: fdisk, parted
    
개념
- 
파티셔닝: 하나의 물리 디스크를 논리적 단위로 나누어 OS와 데이터를 분리. 
- 
MBR vs GPT - MBR: 최대 2TB, Primary 4개 제한
- GPT: 9ZB까지 지원, Primary 제한 없음, EFI 부트 지원
 
아키텍처 이미지
[Physical Disk /dev/sdb]
┌─────────────┐
│ Partition 1 │ -> /boot
├─────────────┤
│ Partition 2 │ -> /
├─────────────┤
│ Partition 3 │ -> /home
└─────────────┘명령어 예시
# 파티션 확인
sudo fdisk -l
# 디스크 파티셔닝 (fdisk)
sudo fdisk /dev/sdb
# parted로 GPT 파티션 생성
sudo parted /dev/sdb mklabel gpt
sudo parted -a opt /dev/sdb mkpart primary ext4 0% 50%
sudo parted -a opt /dev/sdb mkpart primary ext4 50% 100%실습 시나리오
- Ubuntu 22 VM에 2개의 추가 디스크 /dev/sdb,/dev/sdc연결
- fdisk로 각각 2개의 파티션 생성
- parted로 GPT 라벨 적용 및 파티션 생성
- lsblk로 구조 확인
2️⃣ LVM (Logical Volume Manager)
개념
- PV (Physical Volume) → VG (Volume Group) → LV (Logical Volume) 구조
- 장점: 디스크 추가, 확장/축소 유연
아키텍처 이미지
[Physical Disks: /dev/sdb, /dev/sdc] 
       │
       ▼
[Physical Volumes: PV1, PV2]
       │
       ▼
[Volume Group: vg_data]
       │
       ├─────────► [Logical Volume: lv_root]
       ├─────────► [Logical Volume: lv_home]
       └─────────► [Logical Volume: lv_var]명령어 예시
# PV 생성
sudo pvcreate /dev/sdb /dev/sdc
# VG 생성
sudo vgcreate vg_data /dev/sdb /dev/sdc
# LV 생성
sudo lvcreate -L 20G -n lv_root vg_data
sudo lvcreate -L 10G -n lv_home vg_data
# 파일시스템 생성
sudo mkfs.ext4 /dev/vg_data/lv_root
sudo mkfs.xfs /dev/vg_data/lv_home
# 마운트
sudo mkdir /mnt/root /mnt/home
sudo mount /dev/vg_data/lv_root /mnt/root
sudo mount /dev/vg_data/lv_home /mnt/home실습 시나리오
- 위에서 만든 파티션을 PV로 초기화
- VG 생성 후 LV 생성
- 각각 마운트하여 읽기/쓰기 테스트
- LV 확장/축소 실습
sudo lvextend -L +5G /dev/vg_data/lv_home
sudo resize2fs /dev/vg_data/lv_home3️⃣ RAID (mdadm)
    
RAID 종류
| RAID | 설명 | 장점 | 단점 | 
|---|---|---|---|
| 0 | 스트라이핑 | 속도 증가 | 데이터 보호 없음 | 
| 1 | 미러링 | 데이터 안전 | 용량 반감 | 
| 5 | 스트라이프 + 패리티 | 안전 + 속도 | 최소 3개 디스크 필요 | 
아키텍처 이미지
RAID 1 (미러링)
[Disk1] ┐
        │→ /dev/md0 → /mnt/raid
[Disk2] ┘명령어 예시
# RAID 1 생성
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
# 상태 확인
cat /proc/mdstat
# 파일시스템 생성 및 마운트
sudo mkfs.ext4 /dev/md0
sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid실습 시나리오
- 2~3개의 추가 디스크 준비
- RAID0, RAID1, RAID5 각각 생성 후 테스트
- mdadm --detail /dev/mdX로 상태 확인
4️⃣ 파일시스템 비교
| FS | 장점 | 단점 | 실무 사용 사례 | 
|---|---|---|---|
| ext4 | 안정적, 널리 사용 | 일부 최신 기능 부족 | Ubuntu, 일반 서버 | 
| xfs | 대용량 파일 효율적, 저널링 | 작은 파일 성능 낮음 | 로그, 빅데이터 | 
| zfs | 스냅샷, 압축, RAID-Z | 메모리 사용량 많음 | 스토리지 서버, 백업 | 
# 파일시스템 생성 예시
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.xfs /dev/sdb1
sudo zpool create zp1 /dev/sdb5️⃣ fstab & mount 옵션
주요 옵션
| 옵션 | 설명 | 
|---|---|
| noexec | 실행 금지 | 
| nosuid | setuid/setgid 금지 | 
| nodev | 특수 파일 장치 접근 금지 | 
| defaults | 기본값 (rw,suid,dev,exec,auto,nouser,async) | 
예시
# /etc/fstab
/dev/vg_data/lv_home  /mnt/home  ext4  defaults,noexec  0 2
# 마운트
sudo mount -a실습 시나리오
- 새 LV 생성 후 /mnt/home마운트
- noexec,- nosuid,- nodev옵션 적용
- 스크립트 실행 테스트 → 실패 확인
- 옵션 제거 후 재실행 → 성공 확인
✅ 종합 실습 시나리오 (Ubuntu 22)
- VM 생성: Ubuntu 22 LTS, 2개의 추가 디스크 /dev/sdb,/dev/sdc
- fdisk/- parted로 파티션 생성
- PV → VG → LV 구조로 LVM 구성
- RAID1 또는 RAID5 생성
- ext4, xfs 파일시스템 생성 및 마운트
- /etc/fstab에 mount 옵션 적용 후 테스트
- LV 확장 및 파일시스템 확장 실습
마지막 수정일자