오브젝트 스토리지를 파일시스템으로 마운트해서 사용하기
오브젝트 스토리지에 파일을 업로드, 복사할 때 대부분의 클라우드 서비스에서 CLI 나 API 를 제공하지만 리눅스 커맨드를 이용해서 파일 동기화를 진행할 수 있다.
여기서는 fuse 라는 프로그램을 통해 s3fs 로 파일시스템을 마운트하는 방법에 대해 알아보겠다. (다른 대안 프로그램을 찾아봤는데 fuse 가 제일 네임드인듯..)
s3fs fuse 는 aws s3 용 프로그램이지만 네이버클라우드플랫폼 (이하 Ncloud) 의 오브젝트 스토리지는 S3 의 API 를 호환해서 사용할 수 있기 때문에 s3fs 를 설치해보았다.
1. s3fs-fuse 를 위한 기본 패키지 설치
# yum install automake fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel -y |
2. s3fs-fuse 설치
# git clone https://github.com/s3fs-fuse/s3fs-fuse.git # cd s3fs-fuse # ./autogen.sh # ./configure # make # make install |
3. s3fs 로 마운트 할 때 오브젝트 스토리지 접근에 필요한 네이버클라우드플랫폼 계정의 access/secret key 등록
![](https://blog.kakaocdn.net/dn/b3XntD/btqBSObI0yB/0tdrqs7zZzVwC2f89LrVIk/img.png)
# echo $accesskey:$secretkey> /etc/passwd-s3fs # chmod 600 /etc/passwd-s3fs |
4. 오브젝트 스토리지의 bucket 을 마운트 할 디렉토리 생성 및 버킷 마운트
s3fs 로 bucket06 을 마운트 해보았다.
# mkdir s3fs # s3fs bucket06 /s3fs -o url=https://kr.object.ncloudstorage.com # s3fs $오브젝트 스토리지 버킷명 /$버킷을 마운트 할 디렉토리 -o url=https://kr.object.ncloudstorage.com # df -k 명령어를 통해 /s3fs 로 마운트 된 것을 확인할 수 있다. |
5. 파일 업로드 시간 비교
fuse 는 간편하게 파일을 오브젝트 스토리지에 업로드 할 수 있는 프로그램이지만 속도가 잘 안나오는 것으로도 잘 알려져 있다.
업로드 속도는 파일 크기나 네트워크 환경, 파일 서버의 스펙에 따라 차이가 있을 수 있으니 참고만 하기 바란다.
- 1GB 파일 10개를 s3fs 로 마운트 한 버킷에 copy 할 때 소요시간
- 1GB 파일 10개를 오브젝트 스토리지 CLI 를 통해 업로드 할 때 소요시간