디스크 확인하기

디스크를 확인하는 방법은 아래와 같습니다.

(1) lsblk : 시스템에 연결된 모든 블록 장치(디스크와 파티션)를 나열한다.
(2) df -h : 파일 시스템의 디스크 사용량을 출력한다.
(3) mount : 현재 마운트된 파일 시스템을 나열한다.

lsblk

lsblk 명령어는 시스템에 연결된 모든 블록 장치를 나열합니다. 블록 장치는 주로 디스크와 파티션을 의미합니다. 이 명령어는 블록 장치의 계층 구조를 보여주며, 각 장치와 그 파티션의 정보를 포함합니다.

1
2
3
4
5
6
7
8
9
10
11
12
lsblk

>>> NAME               MAJ:MIN RM     SIZE RO TYPE   MOUNTPOINT
>>> sdb                  8:16   0   931.5G  0 disk 
>>> sda                  8:0    0   223.6G  0 disk 
>>> ├─sda4               8:4    0     512M  0 part   /boot/efi
>>> ├─sda2               8:2    0      18G  0 part 
>>> ├─sda5               8:5    0       4G  0 part   /var/log
>>> ├─sda3               8:3    0   182.1G  0 part 
>>> │ └─VG_XenSt...     253:0   0       4M  0 lvm  
>>> ├─sda1               8:1    0      18G  0 part   /
>>> └─sda6               8:6    0       1G  0 part   [SWAP]

열 설명

설명
NAME 디스크 또는 파티션의 이름
MAJ 주요 번호 (장치 파일의 고유 식별자)
MIN 부 번호 (장치 파일의 고유 식별자)
RM 제거 가능한 장치인지 여부 (0:제거 불가 / 1:제거 가능)
SIZE 장치의 크기
RO 읽기 전용 장치인지 여부 (0:읽기-쓰기 / 1: 읽기 전용)
TYPE 장치 유형 (disk, part, lvm 등.)
MOUNTPOINT 장치가 마운트된 위치

해석

항목 해석
sdb 크기 931.5GB의 디스크로, 현재 파티션이 없으며 마운트되지 않음.
sda 크기 223.6GB의 디스크로, 여러 파티션으로 나누어져 있음.
sda4 크기 512MB의 파티션으로, /boot/efi에 마운트됨.
sda2 크기 18GB의 파티션.
sda5 크기 4GB의 파티션으로, /var/log에 마운트됨.
sda3 크기 182.1GB의 파티션.
VG_XenSt… LVM으로 관리되는 4MB의 볼륨.
sda1 크기 18GB의 파티션으로, /에 마운트됨.
sda6 크기 1GB의 파티션으로, 스왑 공간으로 사용됨.

df -h

df 명령어는 파일 시스템의 디스크 사용량을 출력합니다. -h 옵션을 사용하면 출력이 인간이 읽기 쉬운 형식으로 제공됩니다(예: KB, MB, GB 단위).

1
2
3
4
5
6
7
8
9
10
11
12
df -h

>>> Filesystem      Size  Used Avail Use% Mounted on
>>> devtmpfs        1.3G     0  1.3G   0% /dev
>>> tmpfs           1.3G   96K  1.3G   1% /dev/shm
>>> tmpfs           1.3G  9.0M  1.3G   1% /run
>>> tmpfs           1.3G     0  1.3G   0% /sys/fs/cgroup
>>> /dev/sda1        18G  9.4G  7.3G  57% /
>>> xenstore        1.3G     0  1.3G   0% /var/lib/xenstored
>>> /dev/sda4       512M  3.0M  509M   1% /boot/efi
>>> /dev/sda5       3.9G   16M  3.7G   1% /var/log
>>> tmpfs           250M     0  250M   0% /run/user/0

열 설명

설명
Filesystem 파일 시스템의 이름.
Size 파일 시스템의 전체 크기.
Used 사용된 공간.
Avail 사용 가능한 공간.
Use% 사용된 공간의 백분율.
Mounted on 파일 시스템이 마운트된 위치.

각 파일시스템 설명

파일시스템 마운트 위치 설명
devtmpfs /dev 장치 파일을 위한 가상 파일 시스템
tmpfs /dev/shm 공유 메모리를 위한 가상 파일 시스템
tmpfs /run 런타임 데이터를 위한 가상 파일 시스템
tmpfs /sys/fs/cgroup 컨트롤 그룹 파일 시스템
tmpfs /run/user/0 사용자 런타임 데이터를 위한 가상 파일 시스템
/dev/sda1 / 루트 파일 시스템
xenstore /var/lib/xenstored XenStore 데이터베이스를 위한 가상 파일 시스템
/dev/sda4 /boot/efi EFI 시스템 파티션
/dev/sda5 /var/log 로그 파일을 저장하는 파티

mount

mount 명령어는 현재 마운트된 파일 시스템을 나열합니다. grep /dev/sd를 사용하면 특정 장치(/dev/sd* 형식의 디스크 및 파티션)가 마운트된 정보를 필터링하여 보여줍니다.

1
2
3
4
5
mount | grep /dev/sd

>>> /dev/sda1 on / type ext3 (rw,relatime)
>>> /dev/sda4 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
>>> /dev/sda5 on /var/log type ext3 (rw,relatime)
출력 구문 해석
/dev/sda1 on / type ext3 (rw,relatime) /dev/sda1 on / /dev/sda1은 /에 마운트됨.
  type ext3 파일시스템의 유형은 ext3다.
  rw 읽기와 쓰기가 모두 가능하다.
  relatime 파일의 마지막 접근 시간 기록을 상대적으로 업데이트
/dev/sda4 on /boot/efi type vfat … /dev/sda4 on /boot/efi /dev/sda4 는 /boot/efi에 마운트됨.
  type vfat 파일시스템의 유형은 vfat
  rw 읽기와 쓰기가 모두 가능하다.
  relatime 파일의 마지막 접근 시간 기록을 상대적으로 업데이트
  fmask=0022 파일의 기본 권한 마스크
  dmask=0022 디렉토리의 기본 권한 마스크
  codepage=437 코드 페이지 설정
  iocharset=iso8859-1 입출력 문자셋 설정
  shortname=mixed 짧은 파일 이름의 대소문자 혼용
  errors=remount-ro 오류 발생 시 읽기 전용으로 재마운트

디스크 이름의 뜻 풀이

1
2
3
4
5
6
7
8
9
10
11
12
lsblk

>>> NAME               MAJ:MIN RM     SIZE RO TYPE   MOUNTPOINT
>>> sdb                  8:16   0   931.5G  0 disk 
>>> sda                  8:0    0   223.6G  0 disk 
>>> ├─sda4               8:4    0     512M  0 part   /boot/efi
>>> ├─sda2               8:2    0      18G  0 part 
>>> ├─sda5               8:5    0       4G  0 part   /var/log
>>> ├─sda3               8:3    0   182.1G  0 part 
>>> │ └─VG_XenSt...     253:0   0       4M  0 lvm  
>>> ├─sda1               8:1    0      18G  0 part   /
>>> └─sda6               8:6    0       1G  0 part   [SWAP]
1
2
3
4
5
sd    a     4
--    -     -
(1)  (2)   (3)

# (1) 

sda와 sdb는 Linux 시스템에서 디스크 장치를 식별하는 이름입니다.

(1) sd는 SCSI 프로토콜을 사용하는 모든 디스크를 포함해, SATA, USB 등 다양한 인터페이스의 디스크를 포함합니다.

(2) a, b, c … 와 같이 ‘sd’ 다음의 알파벳은 디스크의 순서를 나타냅니다. 시스템에서 첫 번째로 인식된 디스크는 sda, 두 번째는 sdb 와 같은 순서로요.

(3) a, b, c … 뒤에 붙는 1, 2, 3 … 은 파티션을 의미합니다. sda1 이면 sda의 첫 번째 파티션이라는 의미죠.

파티션 생성부터 마운트까지

파티션 생성 (옵션)

/dev/sdb에 파티션이 없다면, 먼저 파티션을 생성합니다. 이를 위해 fdisk 또는 parted를 사용할 수 있습니다. 여기서는 fdisk를 사용하여 하나의 파티션을 생성한다고 가정하겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# (1) fdisk 실행하고, 마운트되지 않은 디스크를 지정
fdisk /dev/sdb

>> Welcome to fdisk (util-linux 2.23.2).
>> 
>> Changes will remain in memory only, until you decide to write them.
>> Be careful before using the write command.
>> 
>> Device does not contain a recognized partition table
>> Building a new DOS disklabel with disk identifier 0x9df50e1b.
>> 
>> The device presents a logical sector size that is smaller than
>> the physical sector size. Aligning to a physical sector (or optimal
>> I/O) size boundary is recommended, or performance may be impacted.
>> 
>> Command (m for help)
1
2
3
4
5
6
7
8
9
# (2) n을 눌러 새로운 파티션을 생성
n

# (3) 파티션 유형을 선택
일반적으로 p (primary)를 선택

# (4) 파티션 번호를 선택하고, 기본 시작과 끝 섹터를 확인하고 수락

# (5) w를 눌러 변경 사항을 저장하고 종료

파일 시스템 생성

새 파티션이 /dev/sdb1에 생성되었다고 가정하고, 해당 파티션에 파일 시스템을 생성합니다. 여기서는 ext4 파일 시스템을 생성합니다.

1
mkfs.ext4 /dev/sdb1

마운트 포인트 생성

마운트 포인트 디렉토리를 생성합니다.

1
sudo mkdir -p /data

파티션 마운트

새 파티션을 /data에 마운트합니다.

1
sudo mount /dev/sdb1 /data

fstab에 추가하여 자동 마운트 설정

시스템 부팅 시 자동으로 마운트되도록 /etc/fstab 파일에 추가합니다.

1
echo '/dev/sdb1 /data ext4 defaults 0 0' | sudo tee -a /etc/fstab

마운트 확인

1
df -h /data