S3기반의 클라우드 스토리지 개발

서비스에서 다루는 데이터의 크기와 갯수가 늘어나면서, "고가용성의 확장가능한 클라우드 스토리지"에 대한 수요도 늘어나고 있다. 단일 서비스에서도 와 같은 기능을 일반적으로 제공할 수 있어야하는 시대라는 거다. s3를 이용해서 드롭박스와 같은 서비스를 만들어보려고 한다. s3를 이용하는 이유는 아래와 같다. 가용성과 확장성을 고민 할 필요가 없다. OpenS...

S3 마운트

S3는 Simple Storage Server의 약자로 인터넷에서 사용 할 수 있는 오브젝트 스토리지다. ElasticCache, RDS와 함께 AWS에서 가자 유용하게 사용하는 서비스들 중 하나다.파일 관리 서비스를 만들려고 하는데, API 호출해서 사용하는게 영 귀찮다. 그냥 마운트하기로 했다. goofys와 s3fs를 주로 사용한다. s3fs는 예전에...

Docker Storage

도커 스토리지를 다루기 전에 도커 이미지와 컨테이너의 관계를 살펴봐야 할 것 같다. 도커는 하나의 이미지로 부터 하나 이상의 컨테이너가 실행 될 수 있다. 하나의 프로그램 이미지(프로그램 파일)로 부터 하나 이상의 프로세스가 실행되는 것과 같은 이치다. 아래는 프로세스의 실행을 묘사한 그림이다. 프로그램에서 프로세스가 실행되지만 원본 프로그램은 변경이 되지...

Docker storage의 거의 모든 것

거의 모든 것이라고 하니 좀 너무 나간 것 같은 느낌이 든다. 그냥 이것 저것 다뤄 볼려고 한다. 다룰 내용은 다음과 같다. Docker에서 제공하는 스토리지 백앤드(backend)의 종류와 특징들 스토리지 백앤드간의 장점과 단점들 확장성 있는 스토리지 백앤드의 구성을 위한 아이디어들 테스트 환경은 다음과 같다. 개인 데스크탑 PC 우분투 리눅스 서...

리눅스 Native ZFS 커널 모듈 설치하기

리눅스 Native ZFS 커널 모듈 설치하기 ZFS는 이른바 파일 시스템의 끝판왕이라고 부르는 녀석이다. 궁극의 파일 시스템이라고 선전하는데, 말뿐이 아닌 궁극의 파일 시스템이라고 할 만하다. 기능을 간단하게 살펴보고 넘어가자. 미러링 RAIDZ (와 비슷 함) 풀 구성 RAIDZ2 (RAID-6와 비슷 함) 풀 구성 하이브리드 저장소 풀 데이터 복구...

RAID - redundant array of independent disks

원래 RAID는 저렴한 여러 개의 디스크의 배열을 서로 결합해서 논리적인 저장공간을 만들기 위해서 개발된 스토리지 기술이다. 데이터의 중복, 성능 수준에 따라 여러단계의 RAID 구성을 만들 수 있다. 이 구성을 RAID Level 이라고 한다. 스토리지 설계자는 저장하려는 데이터의 특성에 따라서 적절한 RAID level을 선택해서 구성할 수 있다. RA...