우분투 리눅스 인스턴스를 재부팅하지 않고 AWS EBS 볼륨을 늘리기

AWS는 가상서버(EC2)의 디스크를 위해서 EBS 라는 디스크 서비스를 제공한다. EBS는 하드디스크에 대응하는 서비스로 사용자는 디스크 볼륨을 자유롭게 확장 할 수 있다. 우분투 리눅스 운영체제에서 부팅 없이 EBS 볼륨과 파일 시스템을 확장해보자....

AWS Cheat sheet - S3

Amazon Simple Storage Service(Amazon S3)는 무한대의 확장성, 99.999999%의 데이터 가용성, 보안, 성능을 제공하는 객체 스토리지 서비스(Object Storage Service)다. S3는 Full managed Service로 사용자는 서버, 볼륨, 파일 시스템, 파일관리 소프트웨어 등의 관리의 대부분을 S3에 맡길...

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와 비슷 함) 풀 구성 하이브리드 저장소 풀 데이터 복구...

iSCSI - Internet Small Computer System Interface

iSCSI - Internet Small Computer System InterfaceiSCSI는 Internet Small Computer Interface의 줄임말입니다. SCSI는 많이 들어보셨을 겁니다. 저 역시 많이 듣기는 했지만... 듣기만 했죠. 시스템 관리자가 아닌 다음에야 SCSI이든 혹은 다른 그 무엇이든 그닥 신경쓸일이 없습니다. 개발...

ZFS

유닉스의 파일 시스템을 대체하기 위해서 SUN에서 개발한 파일 시스템으로 Solaris 10에 소개된다. 기능을 보면 알겠지만 단순한 파일 시스템으로 보기는 힘들다. 모든 잡다한 관리기능까지를 포함한 볼륨메니저로 봐야 한다. 예컨데 파일 시스템과 , snapshots, copy-on-write clones, continuous integrity checki...

RAID - redundant array of independent disks

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