블록 장치와 파티션

LinuxBeginner
지금 연습하기

소개

사무실 건물의 설계도를 살펴본다고 생각해 보겠습니다.

  • 건물: 디스크 드라이브 (물리적 저장 장치)
  • 방: 파티션 (논리적으로 나뉜 영역)
  • 방 이름: 마운트 지점 (/home과 같은 접근 경로)

이 실습에서는 lsblk를 사용해 이 설계도를 시각화합니다.

이처럼 계층적으로 보는 방식이 중요한 이유는 Linux 의 저장 장치가 여러 단계로 구성되기 때문입니다. 물리적 또는 가상 장치에는 파티션이 포함될 수 있고, 파티션에는 파일시스템이 포함될 수 있으며, 파일시스템은 다시 기본 디렉터리 트리에 마운트될 수 있습니다.

모든 블록 장치 나열하기 (lsblk)

lsblk(List Block Devices) 를 사용해 저장 장치 설계도를 확인합니다.

lsblk

출력:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop /snap/bare/5
...
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
└─vda3 252:3    0  39.8G  0 part /

트리 구조 이해하기:

  • NAME: vda는 디스크입니다. vda1은 파티션입니다. loopX는 가상 장치이므로 지금은 무시합니다.
  • SIZE: 용량입니다 (예: 40G).
  • TYPE: disk(디스크), part(파티션) 또는 loop(루프 장치) 입니다.
  • MOUNTPOINTS: 데이터에 접근하는 위치입니다 (예: /는 루트 디렉터리입니다).

초보자에게 lsblk가 특히 유용한 이유가 여기에 있습니다. 단순히 이름만 보여 주는 것이 아니라 장치 간 관계를 표시하므로, 어떤 저장 장치 객체가 다른 객체 위에 구성되어 있는지 확인할 수 있습니다.

설계도를 저장합니다.

lsblk > devices.txt

물리 디스크 필터링하기 (lsblk -d)

정보가 너무 많습니까? 파티션을 숨기고 디스크만 표시합니다.

-d 옵션 (device) 을 사용합니다.

lsblk -d

출력:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop ...
vda    252:0    0    40G  0 disk

파티션 (vda1, vda2) 이 표시되지 않습니다.

이 명령은 최상위 장치만 나열합니다.

전체 트리 보기와 최상위 장치 보기 사이를 전환하는 필터링은 저장 장치 문제를 해결할 때 유용합니다. 문제 상황에 따라“어떤 디스크가 있는가?”와“이 디스크는 어떻게 나뉘어 있는가?”를 번갈아 확인해야 하기 때문입니다.

목록을 저장합니다.

lsblk -d > disks.txt

파일시스템 확인하기 (lsblk -f)

파티션은 어떤 형식으로 구성되어 있을까요?

-f 옵션 (filesystem) 을 사용해 파일시스템 유형과 UUID 를 확인합니다.

lsblk -f

출력:

NAME   FSTYPE   FSVER LABEL UUID                                 ...
vda
├─vda2 vfat     FAT32       8E24-7BB2                            ...
└─vda3 ext4     1.0         7504cd7e-f775...                     ...
  • FSTYPE: 파일시스템 유형입니다. 예를 들어 ext4는 Linux 파일시스템이고 vfat는 EFI 파일시스템입니다.
  • UUID: 고유 ID(지문) 입니다. 자동 마운트에 특히 중요합니다.

부팅 순서나 연결된 하드웨어에 따라 장치 이름이 바뀌는 경우가 있으므로 UUID 가 중요합니다. UUID 를 사용하면 구성에서 더 안정적인 식별자를 사용할 수 있습니다.

세부 정보를 저장합니다.

lsblk -f > filesystems.txt

정확한 크기 확인하기 (lsblk -b)

스크립트에서 사용할 정확한 바이트 값이 필요합니까?

-b 옵션 (bytes) 을 사용해 G나 M과 같은 단위를 표시하지 않습니다.

사람이 읽기 쉬운 형식보다 정확한 숫자가 중요한 스크립트와 자동화 작업에서는 바이트 단위의 원시 출력이 특히 유용합니다.

lsblk -b

출력:

NAME   ... SIZE ...
vda    ... 42949672960 ...

원시 데이터를 저장합니다.

lsblk -b > sizes.txt

요약

이 실습에서는 lsblk 명령을 사용해 Linux 저장 장치의“설계도”를 읽는 방법을 배웠습니다.

  • lsblk: 가상 루프 장치를 포함해 디스크(건물) 와 파티션(방) 의 트리 구조를 표시합니다.
  • lsblk -d: 파티션을 제외하고 최상위 장치만 표시하도록 결과를 필터링합니다.
  • lsblk -f: “내부 장식”에 해당하는 파일시스템 유형과 고유 ID(UUID) 를 표시합니다.
  • lsblk -b: 바이트 단위로 정확한 크기를 제공합니다.

이러한 저장 장치를 이해하는 것은 저장 장치를 관리하는 첫 단계입니다. 새 하드 드라이브를 추가하거나, 파티션 크기를 조정하거나, 서버의 저장 공간이 가득 찬 이유를 확인할 때 모두 필요합니다.