꽃삽질: autofs, 호스트가 없다고 주장함!

TLDR;

mount 로는 nfs 가 문제가 없는데, autofs 에서 오류가 발생한다면, IP 를 확인하고, 끝자리가 100 이 넘지 않도록 바꿔준다. (예. 192.168.0.127 ➙ 192.168.0.98)


이 무더운 여름 날. 또 한번 꽃삽질을 해댔더랬다. (해댔더랬다… 이거 맞는 표현인가? 쓰고도 어색함이 느껴지는건 더위 탓인가?)

시작은 이랬다. nfs 로 공유된 디렉토리를, 다른 PC(사실은 VirtualBox 가상머신)에서 autofs 로 마운트하려했다.
그런데 실패. 가상 머신 탓일까, OS(우분투 20.04) 탓일까하여 이 짓(ㅈㄹ), 저 짓, 별 짓을 다했지만 결국은 실패했다.

도대체 문제가 뭘까.

Nfs 자체 설정을 잘못했나 싶어 mount 명령으로 직접 연결해봤는데, 거기선 정상 작동했다. 이렇다면 문제 원흉은 autofs 다.

확인을 위해서 이런 작업을 했다. (여기까지 오기까지, 꽤 많은 구글 삽질이 있었다.)
autofs 를 일단 멈추고, autofs 를 돌려주는 실체인 automount 를 실행한다.

$ sudo systemctl stop autofs.service
$ sudo automount -fv
Starting automounter version 5.1.6, master map /etc/auto.master
using kernel protocol version 5.05
mounted indirect on /nfs with timeout 60, freq 15 seconds
ghosting enabled
(이 상태에서, 다른 터미널에서 nfs 디렉토리로 접근한다. 예. ls /nfs/Scratch_Paper)
attempting to mount entry /nfs/Scratch_Paper
mount(nfs): no hosts available
failed to mount /nfs/Scratch_Paper

automount 가 구동되고 있는 동안, 다른 터미널에서 autofs 로 마운트한 디렉토리로 접근해본다. 내가 설정한 디렉토리는 /nfs/Scratch_Paper 였으므로, ls 등으로 그곳을 건드려(?)봤다.

헌데, automount 에선 ‘no hosts available‘ 이란 황당한 메시지를 뿌릴 뿐, 내가 원하는 답은 주질 않는다.
이에 관해, 구글에서 몇몇 글들이 검색되긴 했으나, 확실한 해결책을 제시해주진 못했다.

그러다가.. 왜 그랬는진 기억이 나지 않지만, IP 를 바꿔보자는 생각이 들었다. 당시 IP 는 100 (192.168.0.137 등)이 넘어가 있었다.
이걸 100 미만으로 바꿔주니 언제 그랬냐는 듯 정상 작동하기 시작했다. 우연히 IP 를 바꿔준게 원래 근본 원인을 슬쩍 비껴가게 했는지는 모르겠다. 어쩌면 내 공유기(Openwrt) 문제일 지도 모르겠고.. 아무튼, 현 상황에선 이게 내가 찾은 유일한 해결책이다.
이게 혹시 DHCP 자동할당인가 싶어 자동으로 설정하되 100 미만이 되게 했더니 잘 작동했다. 물론 수동으로 100 미만으로 했을 때는 당연히 문제가 없었다.

이와 관련된 보고는, 아주 예전(2004/2008년)에 Redhat 에서 찾을 수 있었다. 보고자는 DHCP 를 의심했다. 상황도 나와 비슷하다.

DHCP      : 192.168.0.158
수동 할당 : 192.168.0.10

보고자는 100 영역에 대한 의심은 하지 않고 DHCP 를 문제삼았는데, 이 문제는 결국 해결되지 않은 상태로 그냥 흐지부지 되고 말았다.
그리곤 그다지 이에 관한 내용을 찾을 순 없었는데.. (그리 열심히 뒤져보지도 않았고)

이제와서 다시 어딘가에 보고 하기도 애매한게, github 등에 공개가 되어 있다면 문의가 자유롭지만, 이건 그 시절 한참 전에 개발이 된 모양인지 소스코드가 어디서 관리되고 있는지 찾을 수가 없었다. 다만, automount man page 에 autofs@vger.kernel.org 로 버그보고를 보내라곤 돼 있는데.. 경험상 이렇게 이메일 주소만 있을 경우, 제대로된 답을 받기는 어렵다. 저 주소가 아직까지 유효한 주소인지도 알 수가 없고.

아무튼, 지금으로선 IP 를 바꿔서 사용하여 이 문제를 돌아가는 수밖에.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.