디스크, 마운팅 및 fstab
디스크 및 파티션 관리는 Ubuntu 26.04 시스템 관리의 핵심 기술입니다. 이 문서에서는 디스크 정보를 보고, 파티션을 수동으로 마운트하고, fstab을 통해 부팅 시 자동 마운트를 구성하는 방법을 설명합니다.
디스크 및 파티션 정보 보기
lsblk - 블록 장치 목록
# Basic usage
lsblk
# Example output:
# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
# sda 8:0 0 500G 0 disk
# ├─sda1 8:1 0 512M 0 part /boot/efi
# ├─sda2 8:2 0 488G 0 part /
# └─sda3 8:3 0 11.5G 0 part [SWAP]
# sdb 8:16 0 2T 0 disk
# └─sdb1 8:17 0 2T 0 part
# Show filesystem types and UUIDs
lsblk -f
# Show more detailed information
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL기타 디스크 정보 도구
# View partition table
sudo fdisk -l
# View disk usage
df -h
# View disk usage of a specific directory
du -sh /var/log
# View UUIDs of all partitions
sudo blkid파티셔닝
MBR 파티셔닝을 위해 fdisk 사용
# Partition /dev/sdb
sudo fdisk /dev/sdb
# fdisk interactive commands:
# n - Create a new partition
# p - Print partition table
# d - Delete a partition
# t - Change partition type
# w - Write changes and exitGPT 파티셔닝에 gdisk 사용
sudo apt install gdisk
sudo gdisk /dev/sdbparted 사용하기
# Interactive mode
sudo parted /dev/sdb
# Non-interactive example: create a GPT partition table and one partition
sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary ext4 0% 100%파티션 포맷
# Format as ext4
sudo mkfs.ext4 /dev/sdb1
# Format as XFS
sudo mkfs.xfs /dev/sdb1
# Format as Btrfs
sudo mkfs.btrfs /dev/sdb1
# Format as NTFS (requires ntfs-3g)
sudo mkfs.ntfs /dev/sdb1
# Set a volume label
sudo e2label /dev/sdb1 "DataDisk"마운트 및 마운트 해제
mount - 파티션 마운트
# Create a mount point
sudo mkdir -p /mnt/data
# Mount a partition
sudo mount /dev/sdb1 /mnt/data
# Mount as read-only
sudo mount -o ro /dev/sdb1 /mnt/data
# Mount an ISO file
sudo mount -o loop ubuntu-26.04.iso /mnt/iso
# Mount an NFS share
sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs
# Mount a CIFS/SMB share
sudo mount -t cifs //192.168.1.100/share /mnt/smb -o username=user,password=pass
# View all current mounts
mount | column -t
findmntumount - 파티션 마운트 해제
# Unmount a partition
sudo umount /mnt/data
# If the device is busy, find the processes using it
sudo lsof +f -- /mnt/data
sudo fuser -mv /mnt/data
# Force unmount (use with caution)
sudo umount -l /mnt/data # Lazy unmount
sudo umount -f /mnt/data # Force unmount (NFS)/etc/fstab 자동 마운트
Warning
/etc/fstab의 구성 오류(예: UUID의 오타 또는 존재하지 않는 마운트 지점)로 인해 시스템이 정상적으로 부팅되지 않을 수 있습니다. 편집하기 전에 항상 파일을 백업하고(sudo cp /etc/fstab /etc/fstab.bak), 변경 후에는 sudo mount -a 및 sudo findmnt --verify을 사용하여 구성을 확인하세요. 중요하지 않은 파티션의 경우 부팅 실패를 방지하려면 nofail 옵션을 추가하는 것이 좋습니다.
fstab 파일 형식
/etc/fstab은 부팅 시 자동으로 마운트되는 파티션을 정의합니다. 각 줄에는 6개의 필드가 포함되어 있습니다.
# <device> <mount point> <filesystem> <options> <dump> <fsck>
UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2필드 설명:
| 필드 | 설명 |
|---|---|
| 장치 | 파티션 식별자. UUID를 권장합니다 |
| 마운트 지점 | 마운트할 디렉터리 경로 |
| 파일 시스템 | ext4, xfs, btrfs, ntfs 등 |
| 옵션 | 쉼표로 구분된 마운트 옵션 |
| 덤프 | 백업 플래그, 일반적으로 0 |
| Fsck | 부팅 확인 순서: 루트의 경우 1, 기타의 경우 2, 건너뛰는 경우 0 |
UUID 가져오기
# Method 1: blkid
sudo blkid /dev/sdb1
# Output: /dev/sdb1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4"
# Method 2: lsblk
lsblk -f /dev/sdb1
# Method 3: ls symlinks
ls -la /dev/disk/by-uuid/fstab 구성 예
# Edit fstab (back up before modifying)
sudo cp /etc/fstab /etc/fstab.bak
sudo nano /etc/fstab일반적인 구성:
# ext4 data partition
UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /mnt/data ext4 defaults 0 2
# Mount with specific options
UUID=b2c3d4e5-f6a7-8901-bcde-f12345678901 /mnt/ssd ext4 defaults,noatime,discard 0 2
# NTFS partition (Windows data drive)
UUID=1234567890ABCDEF /mnt/windows ntfs-3g defaults,uid=1000,gid=1000,umask=022 0 0
# NFS network share
192.168.1.100:/shared /mnt/nfs nfs defaults,_netdev 0 0
# tmpfs (in-memory filesystem)
tmpfs /tmp tmpfs defaults,noatime,size=2G 0 0
# swap partition
UUID=c3d4e5f6-a7b8-9012-cdef-123456789012 none swap sw 0 0공통 마운트 옵션
| 옵션 | 설명 |
|---|---|
defaults | rw,suid,dev,exec,auto,nouser,async와 동일 |
noatime | 액세스 시간을 업데이트하지 마십시오. 성능 향상 |
nodiratime | 디렉터리 액세스 시간을 업데이트하지 않음 |
discard | TRIM 활성화(SSD에 권장) |
nofail | 장치가 없는 경우 부팅을 차단하지 마십시오. |
_netdev | 마운트하기 전에 네트워크를 기다리세요 |
ro | 읽기 전용으로 마운트 |
noexec | 바이너리 실행 방지 |
nosuid | SUID/SGID 비트 무시 |
fstab 구성 확인
# Mount all entries in fstab that are not yet mounted (tests if configuration is correct)
sudo mount -a
# Verify with findmnt
sudo findmnt --verify
# If there are errors, restore the backup
sudo cp /etc/fstab.bak /etc/fstab스왑 관리
# View current swap
swapon --show
free -h
# Create a swap file
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Add to fstab to make it persistent
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Disable swap
sudo swapoff /swapfileLVM 논리 볼륨 관리
# Install LVM tools
sudo apt install lvm2
# Create a physical volume
sudo pvcreate /dev/sdb1
# Create a volume group
sudo vgcreate mydata /dev/sdb1
# Create a logical volume
sudo lvcreate -L 100G -n myvolume mydata
# Format and mount
sudo mkfs.ext4 /dev/mydata/myvolume
sudo mount /dev/mydata/myvolume /mnt/data
# Online extend a logical volume
sudo lvextend -L +50G /dev/mydata/myvolume
sudo resize2fs /dev/mydata/myvolume
# View LVM status
sudo pvs
sudo vgs
sudo lvs문제 해결
부팅 시 fstab 마운트 실패
fstab 구성이 잘못되어 부팅이 불가능한 경우 GRUB 복구 모드를 사용하세요.
# Remount root partition as read-write
mount -o remount,rw /
# Edit and fix fstab
nano /etc/fstab
# Reboot
reboot부족한 디스크 공간 문제 해결
# View partition usage
df -h
# Find large files
sudo find / -type f -size +100M -exec ls -lh {} \;
# View directory space usage (sorted)
sudo du -sh /* | sort -rh | head -20
# Clean APT cache
sudo apt clean
sudo apt autoremove