[Linux] Rocky Linux 9.5 Parted로 GPT 파티셔닝: ext4/XFS 포맷과 fstab 자동 마운트






1. 개요

  • parted를 사용해 새 디스크에 GPT 라벨 생성 → 파티션 생성(ext4/XFS) → 포맷/마운트 → /etc/fstab 등록 → 안전 해제 및 삭제까지 전 과정을 단계별로 정리합니다.



2. 버전

  • Rocky Linux 9.5



3. 설명




3-1. Parted 란?

  • GNU 파티션 관리자. 디스크 라벨 생성(mklabel)파티션 생성/삭제(mkpart/rm)파티션 이름 설정(name)플래그 토글(set)정렬/단위 설정(unit, align-check) 등을 지원합니다.
  • 대화형 모드(parted /dev/sdX)와 스크립트 모드(parted --script ...)를 모두 지원하여 자동화에 유리합니다.



3-2. GPT 란?

  • GUID Partition Table. MBR의 한계를 개선한 현대적 파티션 방식입니다.
    • 대용량 지원: 2TiB 한계를 넘어 사용하실 수 있습니다. (실제 한계는 OS·디스크·컨트롤러에 따라 달라질 수 있음)
    • 내구성: 디스크 끝에 백업 헤더를 보관하고, 메타데이터를 CRC32로 무결성 점검합니다.
    • 유연성: 기본적으로 많은 파티션(보통 128개) 을 지원하며, 각 파티션에 이름(Name) 과 고유 GUID를 부여하실 수 있습니다.
    • 호환성UEFI 표준과의 궁합이 좋으며, BIOS 호환을 위해 Protective MBR을 포함합니다.



3-3. UUID

  • 파일시스템 UUID와 파티션 PARTUUID를 구분합니다.
    • UUID: 파일시스템을 생성하실 때(mkfs.ext4mkfs.xfs) 부여되는 식별자입니다. 파일시스템을 다시 생성하시면 변경됩니다.
    • PARTUUID: GPT 파티션의 고유 식별자입니다. 파티션 자체를 다시 만들지 않으시는 한 유지되는 것이 일반적입니다.



3-4. /etc/fstab

  • 부팅 시 자동 마운트를 정의하는 설정 파일입니다.
번호필드명의미대표 입력 예시핵심 포인트
1spec무엇을 마운트? (소스)UUID=...PARTUUID=.../dev/nvme0n1p2/dev/mapper/vg/lvserver:/exp(NFS), //srv/share(CIFS), tmpfsUUID 권장 (blkidlsblk -f로 확인)
2file어디에 마운트? (대상 경로)//home/data/boot/efinone(swap)디렉터리 미리 생성필요
3vfstype파일시스템 유형ext4xfsvfatbtrfsswapnfscifstmpfsiso9660ntfs-3gbind 마운트는 보통 none 사용 + 옵션에 bind
4options마운트 옵션(쉼표로 나열)defaultsnofail_netdevro/rwnoexecnosuidnodevnoatime/relatimediscardx-systemd.automountuid=,gid=(CIFS/FAT)용도/FS별 최적화(아래 템플릿 참고)
5dumpdump 백업 사용 여부0(대부분), 1(백업 대상)거의 항상 0
6pass부팅 시 fsck 순서1(루트), 2(그 외), 0(검사 안 함)XFS/네트워크/ISO 등은 0 권장



4. 디스크 확인

# parted -l

출력 예시:

Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)                                      
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 



5. 파티션 생성




5-1. GPT 라벨 생성

# parted /dev/vdb 


(parted) mklabel gpt



5-2. GPT 라벨 확인

(parted) p


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags



5-3. 1번 파티션(ext4) 생성

(parted) mkpart


설정 예시:

Partition name?  []? vdb1-ext4
File system type?  [ext2]? ext4                                           
Start? 1                                                                  
End? 64G



5-4. 1번 파티션(ext4) 확인

(parted) p


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  64.0GB  64.0GB  ext4         vdb1-ext4



5-5. 2번 파티션(xfs) 남은 용량 전체 생성

(parted) mkpart vdb2-xfs xfs 64G 100%



5-6. 2번 파티션(xfs) 확인

(parted) p                                                                


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  64.0GB  64.0GB  ext4         vdb1-ext4
 2      64.0GB  137GB   73.4GB  xfs          vdb2-xfs



5-7. Parted 종료

(parted) quit



5-8. 파티션 재확인

# parted -l


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name       Flags
 1      1049kB  64.0GB  64.0GB               vdb1-ext4
 2      64.0GB  137GB   73.4GB               vdb2-xfs



6. 파일 시스템




6-1. 파일 시스템 생성(포맷)

# mkfs.ext4 /dev/vdb1
# mkfs.xfs /dev/vdb2



7. 수동 마운트




7-1. 마운트 포인트 생성 및 마운트

# mkdir /mnt/{ext4,xfs}
# mount /dev/vdb1 /mnt/ext4/
# mount /dev/vdb2 /mnt/xfs/



7-2. 마운트 확인

# df -Th


출력 예시:

Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs          tmpfs      16G     0   16G   0% /dev/shm
tmpfs          tmpfs     6.3G  8.7M  6.3G   1% /run
/dev/vda2      xfs       252G   15G  238G   6% /
tmpfs          tmpfs     3.2G  4.0K  3.2G   1% /run/user/0
/dev/vdb1      ext4       59G   24K   56G   1% /mnt/ext4
/dev/vdb2      xfs        69G  521M   68G   1% /mnt/xfs



8. 자동 마운트




8-1. UUID 확인

# blkid /dev/vdb1 


출력 예시:

/dev/vdb1: UUID="a4dd7497-5a33-498c-b79b-7c7cbd76f99b" TYPE="ext4" PARTLABEL="vdb1-ext4" PARTUUID="d2686612-b7f1-4796-ba86-ff0c60a346a4"


8-2. 자동 마운트 설정

# vi /etc/fstab 


설정 예시:

+ UUID=a4dd7497-5a33-498c-b79b-7c7cbd76f99b /mnt/ext4               ext4    defaults        0 0
+ /dev/vdb2                                 /mnt/xfs                xfs     defaults        0 0



8-3. 재부팅

# reboot



8-4. 자동 마운트 확인

# df -Th


출력 예시:

Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs          tmpfs      16G     0   16G   0% /dev/shm
tmpfs          tmpfs     6.3G  8.7M  6.3G   1% /run
/dev/vda2      xfs       252G   15G  238G   6% /
/dev/vdb2      xfs        69G  521M   68G   1% /mnt/xfs
/dev/vdb1      ext4       59G   24K   56G   1% /mnt/ext4
tmpfs          tmpfs     3.2G  4.0K  3.2G   1% /run/user/0



9. 파티션 삭제




9-1. 자동 마운트 해제

# vi /etc/fstab


설정 예시:

- UUID=a4dd7497-5a33-498c-b79b-7c7cbd76f99b /mnt/ext4               ext4    defaults        0 0
- /dev/vdb2                                 /mnt/xfs                xfs     defaults        0 0



9-2. 마운트 해제

# umount /mnt/ext4/ /mnt/xfs/



9-3. 마운트 해제 확인

# df -Th


출력 예시:

Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs          tmpfs      16G     0   16G   0% /dev/shm
tmpfs          tmpfs     6.3G  8.7M  6.3G   1% /run
/dev/vda2      xfs       252G   15G  238G   6% /
tmpfs          tmpfs     3.2G  4.0K  3.2G   1% /run/user/0



9-4. 1번 파티션 삭제

# parted /dev/vdb --script rm 1



9-5. 1번 파티션 삭제 확인

# parted -l


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name      Flags
 2      64.0GB  137GB  73.4GB  xfs          vdb2-xfs



9-6. 2번 파티션 삭제

# parted /dev/vdb


(parted) p    


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name      Flags
 2      64.0GB  137GB  73.4GB  xfs          vdb2-xfs


(parted) rm 2



9-7. 2번 파티션 삭제 확인

(parted) p


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags



9-8. Parted 종료

(parted) quit



9-9. 파티션 삭제 재확인

# parted -l


출력 예시:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 137GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags



댓글 남기기