Private cloud – Owncloud

라즈베리 파이를 구입하고 이를 개인용 클라우드 시스템으로 사용하고자 했었다.

적당한 개인용 클라우드 시스템으로 Owncloud 를 선택해서 라즈베리 파이에 설치한다음 몇번의 테스트를 했었다.

클라우드 시스템을 구축하려고 꽤 많은 투자를 했었는데(외장형 하드디스크, 확장 USB 케이블..등등) 결국 라즈베리 파이로 클라우드 시스템은 불가능하다는 결론을 내렸다.

문제는 라즈베리 파이 성능이었다.

너무 느렸다.
총 용량 2.1 G, 파일 갯수 15,000 개 기준으로 최초 동기화시 20시간 이상이 걸리는 것으로 확인되었다.
그리고 너무 오랜 동기화 시간에 지쳐서 해당 디렉토리를 동기화 취소를 하고 Owncloud 시스템 상에서 삭제를 했는데, 이 역시 시간이 너무 오래 걸렸다.
처음에는 Owncloud 프로그램의 문제로 짐작하고 이것저것 다른 부분들 맞춰주기위해 설정등을 조합해서 맞춰 봤는데, 모두 허사였다.

그러다가 어제 개인용 랩탑에 Owncloud 를 설치해서 테스트를 해보았다.

놀랄만한 속도였다.
20시간 이상이 걸리던 것이 30분 정도밖에 안 걸렸다.(용량 30 G, 파일 갯수 30,000 개)

아직 불필요한 패키지 삭제와 오버클럭 등, 개선할 부분이 많이 있었지만, 도저히 비교할 수 없는 성능의 차이였다.

사실 문제는 파일 갯수가 너무 많았다는 것이었다.
파일 갯수가 적고, 단지 용량만이 많은 경우(예를 들면 버추어 박스 이미지 같은 것들)라면 라즈베리 파이에 Owncloud 설치가 굉장히 매력적일 수도 있다. 하지만 사진, 소스파일 과 같이 개개의 용량이 작고 갯수가 많은 환경이라면 강력 비추천이다.

결론: 클라우드 시스템으로 관리되는 파일 갯수가 많은 사람이라면, 라즈베리 파이-owncloud 는 피하는 것이 좋다.

Raspberry pi with owncloud

라즈베리 파이를 사면서부터 이걸로 무엇을 해볼까 고민했었는데, 일단은 개인용 클라우드 시스템을 만들기로 했었다.

가이드와 여러 자료들을 살펴가며 열심히 서버를 설정했다.

이윽고, 모든 설치가 정상적으로 설치되고 사용하려고 하는데…

한가지 문제점이 있었다.
최초 클라우드 시스템 동기화를 위해 내 파일들을 업로드를 하는데 시간이 너무 오래 걸리는 것이었다.
하루는 밤새도록 켜놓고 있었는데, 20M 업로드를 했다.

이대로는 못쓰겠다 싶어서 설치 과정중에 문제가 있을까 싶어 몇번이고 재설치를 반복했다.
또한 클라우드 시스템에 붙이기 위해 새로 구입한 외장형 하드디스크도 문제가 있는 것 같아 그 부분도 같이 검증했다.
하드디스크가 좀 걱정이 되었으나 다행히 그부분은 문제가 아니었다.

무엇이 문제였을까…
현상은 파일 업로드가 지나치게 느리다는 것, 클라이언트쪽 실패 메시지를 확인해보니 단지 “Internal Error”라고만 나왔다.

결국 서버쪽 에러 로그를 확인하고난 뒤에서야 원인을 파악할 수 있었는데, 이유인 즉 Sqlite 때문이었다.

Sqlite는 DB Input/Ouput 시 DB 전체에 데이터베이스 Lock 을 걸어버린다.
보통은 이 속도가 금방이기 때문에 순식간에 지나가는데, 이 경우는 무엇때문인지는 모르겠으나,오류 발생 이후 업로드 재시도까지 굉장한 시간이 걸리는 것 같았다.

아무튼 문제는 Sqlite 로 진단하고 Mysql 로 변경해서 설치를 진행한 후, 정상적으로 작동한 것을 확인했다.

 

IMG_20150118_215845