Linux - 운영환경

Goofys - S3 마운트 하기

빠빠담 2020. 9. 17. 11:26
반응형

 

goofys는 go 언어로 만들어졌다고 한다

go와 fuse를 설치하자

$ sudo apt install golang fuse -y

 

GOPATH는 원하는 곳으로 설정하자

아래와 같이 홈 디렉토리로 설정했더니 눈에 거슬린다 ...

그리고 다운로드와 설치가 생각보다 시간이 걸리니 충분히 기다려주자

$ mkdir $HOME/go
$ export GOPATH=$HOME/go
$ go get github.com/kahing/goofys
$ go install github.com/kahing/goofys

 

AWS IAM으로 가서 사용자를 만들어 AmazonS3FullAccess 권한을 주자

 

해당 계정의 엑세스키와 시크릿키를 아래와 같이 작성하고 

$HOME/.aws/credentials 에 저장하자

(기본 ubuntu 계정에 적용하여 되던게 안되어 root 계정 $HOME에 설정해주니 마운트되었다.

이건 내가 잘못 알고 있는것일 수 있으니 한번더 확인해보자)

[default]
aws_access_key_id = AKID1234567890
aws_secret_access_key = MY-SECRET-KEY

 

마지막이다!

goofys를 이용하여 마운트 하자

$ mkdir -p /path/to/mount/point
$ $GOPATH/bin/goofys -o allow_other bucket-name /path/to/mount/point

 

아래 옵션을 꼭 넣어주자 없으니 마운트 폴더 접근이 까다롭다

Nginx 에서도 접근이 불가능해서 해당 옵션을 주어 접근가능하였다.

-o allow_other

 


 

언마운트시 target is busy 라는 문구와 함께 거부당하여 당황하였다.

심지어 -f 옵션을 줘도 동일하였다...

$ umount /path/to/umount

target is busy

$ umount -f /path/to/umount

target is busy

 

 

검색 결과 아래와 같이 언 마운트하니 가능하였다.

$ umount -l /PATH/OF/BUSY-DEVICE
$ umount -f /PATH/OF/BUSY-NFS (NETWORK-FILE-SYSTEM)


 

참고 사이트

grip.news/archives/597

 

AWS(Amazon) S3, goofys 로 mount 하기 - GRIP.News

  AWS EC2에 S3 Bucket을 직접 File System 으로 마운트 해 사용하기 위해선 얼마전 까지는 S3 Fuse 가 유일한 방법이었다. Fuse의 단점은 성능이 극단적으로 떨어지기 때문에, 메이저 용도로 사용은 부적합

grip.news

stackoverflow.com/questions/7878707/how-to-unmount-a-busy-device

 

How to unmount a busy device

I've got some samba drives that are being accessed by multiple users daily. I already have code to recognize shared drives (from a SQL table) and mount them in a special directory where all users can

stackoverflow.com

 

반응형