예를들어
대상 스토리지 IP가 192.168.1.10 이고
해당 경로가 ubuntu_share 폴더인데,
/mnt/nas라는 경로에 마운트 하고자 한다면,
uid와 gid를 지정하여 마운트:
- <smb_user>와 <smb_pass>는 SMB 공유에 접근하는 사용자 이름과 비밀번호로 대체한다.
- 비밀번호에 특수문자가 들어갈 경우, 작은 따옴표 '' 로 감싸준다
- uid=1000,gid=1000 는 원하는 사용자의 값으로 바꾼다.
결과확인:
ls -ld /mnt/nas
/etc/fstab에 영구 적용
위 방법이 동작한다면, 부팅 시 자동으로 적용되도록 /etc/fstab을 수정:
- 파일 편집:
nano /etc/fstab
- 아래 줄 추가:
//192.168.1.10/share /mnt/nas cifs username=<smb_user>,password=<smb_pass>,uid=1000,gid=1000,rw 0 0
- 보안을 위해 비밀번호를 평문으로 저장하지 않으려면, 자격 증명을 별도 파일에 저장:
/etc/smb-credentialsusername=<smb_user> password=<smb_pass>chmod 600 /etc/smb-credentials//192.168.1.10/share /mnt/nas cifs credentials=/etc/smb-credentials,uid=1000,gid=1000,rw 0 0
- 보안을 위해 비밀번호를 평문으로 저장하지 않으려면, 자격 증명을 별도 파일에 저장:
- 마운트 테스트:
mount -a
- 마운트 옵션 확인:
mount | grep /mnt/nas
- uid=1000,gid=1000이 포함되어 있는지 확인
- SMB 버전:
- 오래된 SMB 버전(예: SMBv1)을 사용하는 경우 호환성 문제가 있을 수 있음. -o vers=3.0을 추가.
mount -t cifs //192.168.1.10/share /mnt/nas -o username=<smb_user>,password=<smb_pass>,uid=1000,gid=1000,vers=3.0
- 오래된 SMB 버전(예: SMBv1)을 사용하는 경우 호환성 문제가 있을 수 있음. -o vers=3.0을 추가.
최종확인:
ls -ld /mnt/nas
아래와 같이 뜨면서 언마운트가 되는 경우
root@server1:/mnt# umount -f /mnt/nas umount: /mnt/nas: target is busy.
umount -f /mnt/nas를 실행했는데 target is busy 오류가 발생한다는 것은 /mnt/nas 디렉토리가 현재 사용 중이어서 마운트를 해제할 수 없다는 뜻입니다. SMB 마운트를 강제로 해제하려면 사용 중인 프로세스를 종료하거나, 더 강력한 옵션을 사용해야 합니다. 아래에서 단계별로 해결 방법을 설명하겠습니다.
1. 왜 'target is busy'가 발생하는가?
- /mnt/nas에 접근 중인 프로세스가 있거나, 열린 파일/디렉토리가 존재합니다.
- 예: 셸에서 cd /mnt/nas로 이동한 상태이거나, 프로그램이 해당 경로의 파일을 사용 중일 수 있습니다.
2. 해결 방법
(1) 사용 중인 프로세스 확인
lsof 또는 fuser를 사용해 /mnt/nas를 사용 중인 프로세스를 찾아봅니다.
- lsof 사용:
lsof /mnt/nas
- 출력 예시:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1234 user1 cwd DIR 0,XX 4096 12 /mnt/nas
- PID 열에 나오는 프로세스 번호(위 예시에서는 1234)를 확인하세요.
- 출력 예시:
- fuser 사용:
fuser -m /mnt/nas
- 출력 예시:
/mnt/nas: 1234 5678
- 사용 중인 프로세스 ID(PID)가 나옵니다.
- 출력 예시:
(2) 프로세스 종료
확인된 PID를 종료합니다.
- 특정 PID 종료:
kill -9 1234
- 예: 1234는 lsof나 fuser로 찾은 PID로 대체하세요.
- fuser로 한 번에 종료:
fuser -km /mnt/nas
- -k: 프로세스를 강제로 종료.
- -m: 마운트 포인트를 지정.
(3) 다시 언마운트 시도
프로세스를 종료한 후 다시 시도:
- 여전히 실패하면 강제 옵션 추가:
umount -f /mnt/nas
(4) 최후의 수단: Lazy 언마운트
위 방법으로도 안 되면, lazy unmount(-l)를 사용해 즉시 마운트를 해제할 수 있습니다:
- -l: 사용 중인 프로세스가 끝날 때까지 기다리지 않고 마운트를 즉시 해제. 이후 시스템이 자동으로 정리합니다.
- 이 방법은 마운트 포인트를 즉시 사용 가능한 상태로 만들지만, 백그라운드에서 정리 작업이 진행되므로 주의하세요.
3. 추가 팁
- 현재 디렉토리 확인:
- 셸에서 /mnt/nas에 들어가 있다면 빠져나오세요:
cd /
- 그런 다음 다시 umount를 시도하세요.
- 셸에서 /mnt/nas에 들어가 있다면 빠져나오세요:
- lsof나 fuser가 설치되어 있지 않다면:
- 설치 명령어:
apt install lsof # Debian/Ubuntu
yum install lsof # CentOS/RHELapt install psmisc # fuser 설치, Debian/Ubuntu
yum install psmisc # CentOS/RHEL
- 설치 명령어:
4. 최종 확인
언마운트가 성공했는지 확인:
- 아무 출력이 없으면 마운트가 해제된 것입니다.
그 후, 원래 목표였던 SMB 마운트를 uid와 gid 옵션으로 다시 마운트하세요:
'Tech' 카테고리의 다른 글
[proxmox] 노트북의 CPU의 core 수가 계속 1로만 뜨는 오류 (0) | 2025.04.10 |
---|---|
[proxmox] 안쓰는 노트북에 proxmox 설치 (0) | 2025.04.10 |
[proxmox] QEMU 에이전트 설치 (0) | 2025.04.10 |
Proxmox (ubuntu 환경)에 Tailscale 설치하는 방법 (0) | 2025.03.31 |
MINI KEYBOARD (알리익스프레스) 키 맵핑 프로그램 (0) | 2025.02.03 |