Fuse를 이용하여 Object Storage 쉽게 사용하기

NAVER CLOUD PLATFORM
NAVER CLOUD PLATFORM
5 min readJul 1, 2019

안녕하세요, 네이버 클라우드 플랫폼입니다.

오늘은 Fuse를 이용하여 Object Storage를 사용하는 방법에 대해 소개합니다.

Fuse를 이용하면 다양한 명령어를 실행할 수 있습니다.

스토리지는 그 성격과 용도에 따라 계속 발전해 왔죠. 그러면서 자연스럽게 스토리지의 종류도 늘어나게 되고 사용하기 위한 방법도 그에 맞게 다양해질 수밖에 없습니다. 성능도 중요하지만 편의성, 운용성 또한 매우 중요한 운영 요소죠. 때문에 새로운 스토리지가 나오더라도 기존 운영체제에서 사용해왔던 시스템 명령어를 그대로 이용할 수 있으면 편의성이 매우 높아집니다.

최근에 각광받고 있는 Object Storage는 안타깝게도 기본적으로 시스템 명령어를 그대로 이용할 수 없습니다. API나 CLI, 혹은 Web UI를 이용하여야 하기 때문에 cp나 rm 같은 명령어를 그대로 이용할 수 없어서 번거로움이 있죠.

만약 Object Storage가 NAS와 같이 mount 해서 사용할 수 있으면 편의성이 높아질 텐데요. 이러한 요구 사항에 대한 응답으로 오픈소스 프로젝트인 Fuse가 있습니다. Fuse를 이용하면 마치 Object Storage가 NAS처럼 시스템에 Mount 되고 시스템 명령어를 사용하여 파일을 복사하거나 삭제하는 등 다양한 명령어를 실행할 수 있습니다.

오늘은 Object Storage가 시스템 명령어를 사용할 수 있도록 Fuse를 설치하고 Object Storage를 연결해 보겠습니다. 다만 사전에 주의하여야 하는 것은 Fuse는 Open Source인 만큼 문제 발생 시 모든 책임은 사용자에게 있습니다.

Fuse 설치하고 Object Storage 사용하기

FuseFilesystem in Userspace에서 따온 용어로 시스템 변경 권한이 없는 사용자가 커널 코드를 수정하지 않고도 사용자만의 파일시스템을 만들 수 있는 파일시스템 인터페이스입니다.

(1) S3FS-Fuse 설치

리눅스에 S3용 Fuse를 구성하기 위해서는 먼저 라이브러리를 설치해야 합니다.

root로 로그인하여 다음 명령어를 순서대로 입력합니다.

yum install automake fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

git clone https://github.com/s3fs-fuse/s3fs-fuse.git

cd s3fs-fuse

./autogen.sh

./configure

make

make install

아무런 문제없이 설치가 완료되었으면 몇 가지 환경 설정을 해주어야 합니다.

환경 설정을 위해 Access Key와 Secret Key에 대한 정보가 필요합니다.

네이버 클라우드 플랫폼 홈페이지에서 로그인 후 마이페이지 > 인증키 관리로 들어가서 Access keySecret Key를 확인합니다.

만약 Access Key가 1234567, Secret Key가 abcdefg라고 한다면 다음과 같이 파일을 생성합니다.

echo 1234567:abcdefg > /etc/passwd-s3fs

chmod 600 /etc/passwd-s3fs

(2) Object Storage에 버킷 생성

이제 Fuse로 마운트 하여 사용할 버킷을 생성하여야 합니다. Fuse는 버킷을 마운트 할 수 있으며 Object Storage 전체를 마운트 하지는 않습니다. 네이버 클라우드 플랫폼에서 Object Storage를 생성합니다. 여기서는 “my-fuse”라는 이름으로 버킷을 만들었습니다.

(3) Fuse를 이용한 Object Storage 마운트

버킷까지 만들었다면 이제 모든 준비가 완료되었습니다. 마운트 할 디렉토리를 만들고 마운트 명령어로 마운트만 해주면 시스템 명령어로 Object Storage의 데이터를 자유롭게 조작할 수 있습니다. 마운트 포인트를 /my-objstorage라고 가정하면

mkdir /my-objstorage

그리고 마운트 명령어로 다음과 같이 마운트를 합니다.

s3fs my-fuse /my-objstorage -o url=https://kr.object.ncloudstorage.com

df 명령어와 mount 명령어로 확인해보면 정상적으로 마운트 되었고 파일의 복사나 삭제, 기타 다양한 조작을 시스템 명령어를 이용하여 할 수 있는 것을 확인할 수 있습니다.

글을 마무리하며…

도움이 되셨나요? Fuse는 기존의 시스템 명령어를 이용할 수 있는 장점이 있지만 Open Source인만큼 안정성에 대한 부분과 명령을 변환하는 과정에서 발생하는 속도 저하는 감수하여야 하는 부분입니다. 서비스 사용 및 구축 중에 이슈가 발생하신 경우 네이버 클라우드 플랫폼 고객지원으로 문의하시면 빠른 지원 받으실 수 있습니다. 끝까지 읽어주셔서 감사합니다.

앞으로도 네이버 클라우드 플랫폼에 많은 관심 부탁드립니다!

--

--

NAVER CLOUD PLATFORM
NAVER CLOUD PLATFORM

We provide cloud-based information technology services for industry leaders from startups to enterprises.