Linux / 디스크 관리 / 파티션, 포맷, 마운트

장착된 디스크 확인하기

  • ls 명령어로 컴퓨터에 장착된 하드디스크 정보를 출력할 수 있습니다.
  • /dev/sda, /dev/sdb 등이 하드디스크, /dev/sda1 등이 파티션입니다.
# ls -l /dev/sd*
brw-rw----. 1 root disk 8,  0 Oct 16 13:12 /dev/sda
brw-rw----. 1 root disk 8,  1 Oct 16 13:12 /dev/sda1
brw-rw----. 1 root disk 8,  2 Oct 16 13:12 /dev/sda2
brw-rw----. 1 root disk 8, 16 Oct 16 13:12 /dev/sdb
brw-rw----. 1 root disk 8, 32 Oct 16 13:12 /dev/sdc

파일시스템은 아래 두가지 방법으로 확인할 수 있습니다.

  • df -T : 마운트된 파티션의 파일 시스템 확인
  • blkid /dev/sd* : 모든 파티션의 파일 시스템 확인

파티션 만들기

  • 파티션을 관리하는 명령어는 fdisk입니다.
  • /dev/sdb의 파티션을 관리하고 싶다면 다음과 같이 명령합니다.
# fdisk /dev/sdb

  • 도움말이 필요하면 m을 입력합니다.

  • 새 파티션은 n을 입력하고 안내에 따라 만듭니다.

  • w를 입력하여 변경사항을 반영합니다.

2TB를 초과하는, 예를 들어 4TB 하드디스크를 장착하고 파티션을 만들려고 하면 다음과 같은 메시지를 보게 되고, 전체 디스크를 사용할 수 없습니다.

The size of this disk is 4 TiB (4398046511104 bytes). DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).

이런 경우 g를 입력하여 GPT partition table을 만든 후 파티션을 만듭니다.

Command (m for help): g
Created a new GPT disklabel (GUID: F13C6D0D-1E30-4448-B015-A61F3AE9EA48).

포맷하기

  • 포맷하는 명령어는 mkfs입니다. 예를 들어 /dev/sdb1 파티션을 ext4 파일 시스템으로 포맷하려면 다음과 같이 명령합니다.
# mkfs.ext4 /dev/sdb1
  • xfs 파일 시스템으로 포맷하려면 다음과 같이 명령합니다.
# mkfs.xfs -f /dev/sdb1

마운트하기

  • 파티션을 특정 디렉토리에 연결해야 그 파티션을 사용할 수 있습니다.
  • 예를 들어 /dev/sdb1을 /mnt 디렉토리에 마운트하려면 다음과 같이 명령합니다.
# mount /dev/sdb1 /mnt
  • 마운트를 해제할 때는 umount 명령어를 사용합니다. 두 가지 방식이 가능합니다.
# umount /dev/sdb1
# umount /mnt
  • 부팅 시 자동으로 마운트되도록 하려면 /etc/fstab 파일에 다음과 같은 코드를 추가합니다.
  • /dev/sdb1 파티션을 /mnt 폴더에 마운트하라는 뜻입니다. 파일 시스템 등 옵션은 적절히 변경한다.
/dev/sdb1 /mnt xfs defaults 0 0
  • fstab 파일의 변경 내용을 바로 적용하고 싶다면 다음과 같이 명령합니다.
# mount -a

UUID 사용하기

하드디스크에 /dev/sdb 같은 이름이 붙고, 파티션에는 /dev/sdb1 같은 이름이 붙는데, 이 이름이 고정된 것은 아닙니다. 하드디스크 장착 위치를 바꾸거나, 인식 순서가 바뀌면 그 이름도 바뀝니다. 그런 경우 마운트가 제대로 되지 않을 수 있습니다. 그래서 fstab을 이용하여 마운트를 할 때는 하드디스크 고유값인 UUID를 사용하는 것이 좋습니다.

  • UUID는 blkid 명령으로 확인할 수 있습니다.
# blkid
/dev/sda1: UUID="69d9add5-2153-4bc2-ad99-1560fb205c4b" TYPE="ext4" PARTUUID="aa61ba4b-01"
/dev/sda2: UUID="PuMuNg-5YHg-qikJ-tc10-iPIM-7W1q-4fUqyc" TYPE="LVM2_member" PARTUUID="aa61ba4b-02"
/dev/mapper/cl-root: UUID="79c8cfcb-c9e2-4243-8cf2-cf10eab57c40" TYPE="xfs"
/dev/mapper/cl-swap: UUID="b69a5fc3-98db-4a27-b3d4-a7ef76244ad1" TYPE="swap"
/dev/mapper/cl-home: UUID="fd372a6b-ee76-41d6-b7e6-6e6a7cf8193b" TYPE="xfs"
/dev/sdb1: UUID="fd95c93f-03fc-418a-a6db-c26b921ec93b" TYPE="xfs" PARTUUID="e5f55ef6-01"
  • /etc/fstab에 마운트 정보를 넣을 때 다음과 같이 UUID 정보를 넣습니다.
UUID=fd95c93f-03fc-418a-a6db-c26b921ec93b /home xfs defaults 0 0