neptune file system
- Posted at 2009/05/20 15:18
- Filed under project/neptune
neptune1.3 릴리즈 하면서 neptune 기반의 파일 시스템인 neptune-fs를 만들었습니다. hadoop 도 있는데 왠 파일시스템이냐라고 반문하시겠지만 hadoop이 보안적인 측면이나 메모리 기반의 inode 정보 관리 등으로 인해 제약 사항이 있고 필요한 서비스에 붙이기도 어려워서 neptune의 BLOB 컬럼 기능과 neptune 테이블의 row index를 이용하여 간단하게 만들어 보았습니다.
내부적으로 구현되어 있는 것은 하나의 예를 든 것뿐이고 이렇게 쉽고 간단하게 만들수 있다라는 것을 보여주는 것입니다. 속도적인 측면보다는 확장성이나 특정 서비스에 맞는 파일 시스템이 필요한 경우라면 neptune-fs를 참고해서 쉽게 만들수 있습니다.
다음 그림은 neptune의 BLOB 컬럼이 동작하는 원리입니다. hadoop이 수많은 작은 파일에 대한 저장소로 부적합하기 때문에 백그라운드에서 merge 작업을 수행해서 하나의 큰 파일로 만드는 작업을 수행합니다.
neptune-fs는 Neptune의 BLOB 저장 기능을 이용하고 inode 정보를 _NeptuneFS 라는 테이블에 저장하는 방식으로 구성되었습니다. 패키지는 com.nhncorp.neptune.tools.neptunefs 입니다.

클라이언트 API측에서 구성되었기 때문에 특별한 데몬 실행없이 neptune 만 수행되어 있으면 바로 사용가능합니다. 이런 특징 때문에 분산환경에서 동일한 패스에 대한 저장/삭제 등에 대한 동기화는 지원하지 않습니다.
간단하게 웹UI와 command line 명령을 제공하고 있습니다. 웹 UI를 보기 위해서는 웹 서버를 실행해야 하는데 다음과 같이 시작/중지 합니다.
bin/neptunefs-start.sh
bin/neptunefs-stop.sh
기본 포트는 7004 입니다. http://hostname:7004 로 보시면 다음과 같은 화면을 볼 수 있습니다.

command line 명령은 bin/neptune fshell 하시면 사용 가능한 명령을 볼 수 있습니다.
내부적으로 구현되어 있는 것은 하나의 예를 든 것뿐이고 이렇게 쉽고 간단하게 만들수 있다라는 것을 보여주는 것입니다. 속도적인 측면보다는 확장성이나 특정 서비스에 맞는 파일 시스템이 필요한 경우라면 neptune-fs를 참고해서 쉽게 만들수 있습니다.
다음 그림은 neptune의 BLOB 컬럼이 동작하는 원리입니다. hadoop이 수많은 작은 파일에 대한 저장소로 부적합하기 때문에 백그라운드에서 merge 작업을 수행해서 하나의 큰 파일로 만드는 작업을 수행합니다.


클라이언트 API측에서 구성되었기 때문에 특별한 데몬 실행없이 neptune 만 수행되어 있으면 바로 사용가능합니다. 이런 특징 때문에 분산환경에서 동일한 패스에 대한 저장/삭제 등에 대한 동기화는 지원하지 않습니다.
간단하게 웹UI와 command line 명령을 제공하고 있습니다. 웹 UI를 보기 위해서는 웹 서버를 실행해야 하는데 다음과 같이 시작/중지 합니다.
bin/neptunefs-start.sh
bin/neptunefs-stop.sh
기본 포트는 7004 입니다. http://hostname:7004 로 보시면 다음과 같은 화면을 볼 수 있습니다.


Posted by 김형준
- Response
- No Trackback , 2 Comments
Trackback URL : http://www.jaso.co.kr/trackback/350
Comments List
-
고생많았어요 ^^
-
멋지내요^^)b






