보람찬 코기의 개발자 블로그
article thumbnail
반응형

AWS S3

대학교 수업  '오픈소스 소프트웨어' 강의를 들으면서 프로젝트를 하게 되었다.

 

우리 팀은 오픈소스인 s3fs-FUSE를 탐구하고 I/O 속도 개선을 목표로 주제를 선정하였다.

 

인프라에 관심있는 나에게 흥미있는 주제였고 심층적으로 탐색하고 기록하려고 한다.


 

s3fs-FUSE는

Amazon S3 (Simple Storage Service)에 있는 데이터를 파일 시스템으로 마운트할 수 있게 해주는 FUSE(Foreign File System in User Space) 기반의 도구다. 

 

S3는 분산된 객체 스토리지 서비스로, 대규모 데이터를 안정적으로 저장하고 검색할 수 있도록 설계되었다.

s3fs-FUSE를 사용하면 S3에 저장된 데이터를 일반적인 파일 시스템 명령어로 다룰 수 있어 편리하다.


이를 사용하면 S3에 저장된 객체(파일)를 로컬 파일 시스템처럼 쉽게 접근할 수 있다. FUSE는 사용자 공간에서 파일 시스템을 구현할 수 있게 하는 인터페이스를 제공한다.

 

이해를 쉽게 하기위하여 한가지 예시를 들자면,

s3fs-FUSE와 Apple - i cloud 서비스는 비슷한 개념이라는 것이다.

 

서비스하는 규모에서의 차이는 있지만,

두 서비스 모두 데이터를 저장하고 관리하는 클라우드 기반의 스토리지 솔루션이다.

 


 

 

우리는 Github의 오픈소스인 s3fs-fuse를 사용할 것이고, 링크는 다음과 같다.

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

 

GitHub - s3fs-fuse/s3fs-fuse: FUSE-based file system backed by Amazon S3

FUSE-based file system backed by Amazon S3. Contribute to s3fs-fuse/s3fs-fuse development by creating an account on GitHub.

github.com

 

 

프로젝트의 목표는 느린 s3fs-fuse의 대용량 파일에서의 입출력 성능을 향상 시키는 것이다.

 

고려한 방안

  • 최적화된 FUSE 설정 - Max-read, Max-write값 조절로 성능 변화 확인해보기
  • 빠른 입출력을 위해 Unix File system의 i-node 등을 모방하여 기술 접목
  • 인근 Region 설정 및 속도 최적화 
  •  C++의 다중 스레드 및 병렬 처리 하기

하지만 한계점도 분명 존재한다.

  • 대역폭 한계
  • 지연시간 대기시간
  • 프로토콜 한계

 

 

프로젝트 완수를 위해 앞으로의 계획은 다음과 같다.

 

  • Github의 코드 전체 흐름 분석
  • Trilio사의 Docs 분석 후 모방 할 수 있는 기술 확인
  • 개발 환경 구축 [LG gram 우분투 싱글 부팅 설치 예정] 
반응형

'AWS' 카테고리의 다른 글

[AWS S3] s3fs-fuse 오픈소스 분석  (0) 2023.11.16
profile

보람찬 코기의 개발자 블로그

@BoChan

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!