우분투 서버 재부팅 후 하드 디스크 자동 마운트 설정하기
우분투 서버 재부팅 후 하드 디스크 자동 마운트 설정하기
문제 상황
우분투 서버를 재시작하니 외장 하드 디스크가 마운트 해제되어 있는 문제가 발생했다. 수동으로 매번 마운트하는 것은 번거롭고, 서버 운영에도 적합하지 않다.
원인 분석
시스템 재부팅 시 하드 디스크가 자동으로 마운트되지 않는 이유는 /etc/fstab 파일에 자동 마운트 설정이 없기 때문이다. fstab은 파일 시스템 테이블로, 시스템 부팅 시 어떤 디스크를 어디에 마운트할지 정의하는 중요한 설정 파일이다.
환경 정보
- OS: Ubuntu Server
- 대상 디스크: /dev/sda1 (465.8GB HDD)
- 파일시스템: ext4
- UUID: 181ea352-5011-4c9e-9d20-a0991c9ff68f
해결 과정
1단계: 디스크 정보 확인
먼저 시스템에 연결된 디스크 목록을 확인한다.
lsblk
출력 결과에서 마운트하려는 디스크를 확인할 수 있다.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
└─sda1 8:1 0 465.8G 0 part
2단계: UUID 확인
디바이스 이름은 재부팅 시 변경될 수 있으므로, UUID를 사용하는 것이 안전하다.
sudo blkid
결과:
/dev/sda1: UUID="181ea352-5011-4c9e-9d20-a0991c9ff68f" BLOCK_SIZE="4096" TYPE="ext4"
3단계: 마운트 포인트 생성
하드 디스크를 마운트할 디렉토리를 생성한다.
sudo mkdir -p /mnt/hdd
4단계: 수동 마운트 테스트
fstab 설정 전에 먼저 수동으로 마운트가 정상적으로 되는지 확인한다.
sudo mount /dev/sda1 /mnt/hdd
df -h | grep sda1
5단계: fstab 파일 편집
이제 자동 마운트를 위해 fstab 파일을 수정한다.
sudo nano /etc/fstab
파일 맨 아래에 다음 내용을 추가한다.
UUID=181ea352-5011-4c9e-9d20-a0991c9ff68f /mnt/hdd ext4 defaults 0 2
각 필드의 의미는 다음과 같다.
- UUID: 디스크의 고유 식별자
- /mnt/hdd: 마운트 포인트
- ext4: 파일시스템 타입
- defaults: 마운트 옵션
- 0: dump 백업 여부
- 2: 부팅 시 파일시스템 체크 순서
6단계: 설정 테스트
fstab 파일의 문법 오류나 설정 문제를 확인한다.
sudo umount /mnt/hdd
sudo mount -a
오류가 발생하지 않으면 정상이다.
7단계: 최종 확인
df -h | grep sda1
정상적으로 마운트되었는지 확인한다.
8단계: 재부팅 테스트
시스템을 재부팅하여 자동 마운트가 제대로 작동하는지 최종 확인한다.
sudo reboot
재부팅 후:
df -h | grep sda1
핵심 포인트
UUID를 사용하는 이유
디바이스 이름 방식인 /dev/sda1은 하드웨어 추가나 변경 시 달라질 수 있다. 예를 들어 새로운 디스크를 추가하면 기존 /dev/sda1이 /dev/sdb1로 바뀔 수 있다. 반면 UUID는 디스크의 고유 식별자로 절대 변하지 않는다.
fstab 필드 설명
fstab의 마지막 두 숫자는 다음을 의미한다.
- 첫 번째 숫자: dump 백업 도구 사용 여부 (0=사용안함, 1=사용)
- 두 번째 숫자: 부팅 시 fsck 파일시스템 체크 순서 (0=체크안함, 1=루트파티션, 2=기타파티션)
다른 파일시스템의 경우
NTFS 파일시스템을 사용한다면 다음과 같이 설정한다.
UUID=your-uuid /mnt/hdd ntfs-3g defaults 0 0
결과
이제 서버를 재부팅해도 하드 디스크가 자동으로 /mnt/hdd에 마운트된다. 수동으로 마운트할 필요가 없어졌고, 서버 운영이 훨씬 편리해졌다.
트러블슈팅
Permission denied 오류
마운트 포인트 권한 문제라면 다음 명령으로 해결한다.
sudo chmod 755 /mnt/hdd
sudo chown $USER:$USER /mnt/hdd
mount -a 실행 시 오류 발생
fstab 파일의 문법을 다시 확인한다. 특히 UUID가 정확한지, 공백이나 탭이 올바르게 사용되었는지 점검한다.
재부팅 후에도 마운트 안됨
다음 명령으로 시스템 로그를 확인한다.
sudo journalctl -xe | grep mount