2012-08-14 10 views
2

때때로 알 수없는 이유로 인해 Linux 서버의 Amazon S3 퓨즈 탑재가 하루 종일 실패합니다. 유일한 해결책은 umount이고 그 다음에 mount 디렉토리에 다시 있습니다. 수동으로 마운트 해제하고 다시 마운트 할 때 링크가 실패했지만 실제로 마운트 해제되지 않은 경우 다른 "상태"가 있어야한다는 것을 알게 된 다음 쉘 스크립트를 작성하려고했습니다.Linux 탑재가 오류와 함께 실패 함 전송 끝점이 연결되지 않음

원래 오류 : 마운트를 확인하고 실패하면 다시 마운트 할

[[email protected] mnt]# cd s3fs 
[[email protected] s3fs]# ls 
ls: cannot access amazon: Transport endpoint is not connected 
amazon 
[[email protected] s3fs]# umount amazon 
[[email protected] s3fs]# mount amazon/ 

쉘 스크립트 시도 (수동 테스트에서 일했지만 실패) :

#!/bin/bash 

    cat /etc/mtab | grep /mnt/$1 >/dev/null 
    if [ "$?" -eq "0" ]; then 
     echo /mnt/$1 is mounted. 
    else 
     echo /mnt/$1 is not mounted at this time. 
     echo remounting now... 
     umount /mnt/$1 
     mount /mnt/$1 
    fi 

  1. 왜 것 쉘 스크립트 수동으로 디렉토리를 마운트 해제하고 테스트를 실행하면 작동하지만 전송 엔드 포인트가 실패하면 테스트가 true를 리턴하고 다시 마운트되지 않습니다.
  2. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
+0

다른 클라우드 서비스 및 마운트 지점과 유사한 문제가있는 것으로 보입니다. https://github.com/redbo/cloudfuse/issues/15 –

+0

또 다른 비슷한 마운트 포인트 문제와 해결 방법은 마운트 해제하고 다시 마운트하는 것이 었습니다 : https : // bugs .launchpad.net/우분투/+ 소스/gvfs/+ 버그/212789 –

답변

0

나는 이것이 오래되었다는 것을 알고 있지만 다른 사람들이이 문제에 직면하도록 도울 수 있습니다. 우리 양동이가 무작위로 마운트 해제되고 '전송 엔드 포인트가 연결되지 않았습니다'오류가 발생하는 것과 유사한 문제가있었습니다.

"cat/etc/mtab"대신 "df -hT"를 사용하고 내 스크립트에서 작동합니다. 문제는 그것이 이상한 상태에 갇혀서 절반이 마운트 해제 된 상태이며 "mtab"은 여전히 ​​마운트 된 것으로 간주한다는 것입니다. 그러나 나는 아직도 이유를 모른다. 그렇지 않으면/다시 마운트를 마운트 해제 할 수 없습니다, 또한

 
#!/bin/bash 

if [ $(df -hT | grep -c s3fs) != 1 ] 
then 
     # unmount it first 
     umount /path/to/mounted/bucket; 

     # remount it 
     /usr/local/bin/s3fs bucket-name /path/to/mount/bucket -o noatime -o allow_other; 

     echo "s3fs is down"; 

     # maybe send email here to let you know it went down 
fi 

당신이 루트로 스크립트를 실행합니다

내가 사용하고 코드입니다.

관련 문제