먼저 nas를 구성하기로 마음을 먹고 싱글보드로 눈을 돌린 이유는 다음과 같다.
- 다른 자작nas, 상용 nas와 비교가 안 되는 초저전력
- 다른 자작nas, 사용 nas와 비교가 안 되는 가격대
그 중에서도 orange pi pc2로 결정한 이유는 다음과 같다.
- 기가비트 지원
- 기가비트를 지원하는 싱글보드 중 가장 저럼한 모델
하지만, 이런 장점을 무색하게 만드는 치명적인 단점들도 있다.
- usb2.0, sata의 부재
- 생각보다 심각한 발열
- 생각보다 심각한 태생의 한계
하지만 이런 단점들은 opi pc2뿐만 아니라 대부분의 싱글보드가 모두 갖고 있는 단점이며, 이런 단점을 모두 해결한 ordroid hc 1같은 모델은 10만원이라는 싱글보드치고 상당히 비싼 가격을 갖고 있다.
아무튼, opi pc2를 aliexpress에서 구매하게 되었는데, 2018년 9월 기준 'orange pi pc2'로 검색하면 나온다. 띄어쓰기 하나라도 잘 못 치면 안 나오니 주의해야한다.
aliexpress에서는 절대 어댑터를 사는게 아니기 때문에 쌩 보드만 사는 것을 추천하며 배송비포함 25,000~ 28,000정도의 가격이다.
어댑터는 무조건 5v여야 하며, 3a이상을 사는것을 추천한다. 5v 2a를 사용할 경우 2.5인치 hdd사용도 벅차다. 어댑터의 국내가격은 12,000원 정도이니 대략 4만원 정도에 초저전력 pc 구성이 가능하다.
초기에는 위 사진과 같이 누가봐도 절대 서버는 아닌듯한 서버였지만
현재는 위와 같이 그래도 케이스를 닫아놓고 공유기와 함께 제법 그럴듯하게 구성해서 사용중이다.
현재 같이 쓰고 있는 캐싱용 ssd와 데이터용 hdd는 각각
와
도시바 CANVIO BASICS 3 2TB
이다.
ssd는 더티테스트를 진행한 적이 있다.
1. os와 소프트웨어
arm인만큼 windows는 무슨 일이 일어나도 올릴 수가 없다.
http://www.orangepi.org/downloadresources/
위 링크에 있는 공식홈페이지의 os들과
https://www.armbian.com/orange-pi-pc2/
여기에 있는 armbian이라는 os말고는 선택지가 없다.
그런데 문제는 공식홈페이지의 os들은 전부 실사가 불가능하다. server os들은 전부 부팅이 안 되며, desktop os들은 느려터졌다. 그래서 선택지는 armbian말고는 없다.
처음 서버를 세팅할때에는 서버가 한번 꺼지면 켜지지않는 버그가 있어서 armbian을 카피해서 만들어낸 dietpi를 약 6개월간 사용했으나, 모든 opi보드에 대한 지원이 끊긴상태며 os파일조차 모두 내려버려서 armbian으로 다시 돌아왔다.
현재는 모든 버그가 고쳐진 상태인듯하나 dietpi에서는 거의 완벽에 가까웠던 software자동설치 툴은 beta수준으로 그냥 쳐다보지 않는게 속편하다.
그런데 문제는 os보다 지원소프트웨어다. arm이다보니 마이너한 패키지들은 설치가 불가능한 경우가 있다.
물론 일반적으로 서버를 구성할 때 쓰는 대부분의 패키지는 지원한다. apm, transmission, pydio, owncloud등 모두 사용가능하다.
무슨 패키지인지 기억은 잘 안나지만 마이너한 패키지 몇개가 설치가 불가능했었고, 당연히 x86 리눅스 cpu에서 컴파일된 프로그램은 돌릴수가 없다. 이게 정말 골 때린다. opi pc2의 문제가 아니라 cpu의 아키텍쳐가 달라서 발생하는 당연한 현상이지만 생각보다 많이 불편하다.
혹시나 프로그래밍을 하거나 서버상에서 컴파일을 할 목적으로 구매하는 것이라면 한번 더 고려해보자.
2. 성능
- CPU -
sysbench라는 툴로 측정했다.
순서대로 1쓰레드, 4쓰레드이며, total time이 낮을수록 좋다.
rpi 3의 4쓰레드 성능이 100초를 넘었던걸로 기억하는데, 벤치에서 보여주듯 비교가 안 되는 성능이다.
헌데, 이 벤치가 정말 믿을만 한지 모르겠다. 지나치게 좋게 나와서 오히려 믿음직하지 못 하다.
- ram -
상식적으로 램 속도가 900mb/s면 너무 느리다.
가끔 시스템 전체적으로 버벅이는 느낌이 드는게 램 속도 때문이 아닌가 싶다.
- disk -
각각 ssd와 hdd속도다.
외장hdd의 속도의 정상범주를 잘 몰라서 hdd의 결과를 판단하기는 어렵고 ssd는 본 스펙 그대로 나오는듯하다.
아니, 근데 usb2.0으로 연결됬는데 읽기 속도가 저렇게 나온다는게 좀 이상하다. 뭔가 잘 못 된듯하다.
게다가 레이턴시가 비정상적으로 크게 나온다.
sysbench결과를 정확히 읽는 방법을 알려주는 document가 없어서 정확히 무엇이 문제인지는 모르겠다.
- lan -
서버번호 6527번은 서울서버다. 김해서버가 가까워서 계속 김해서버로 잡히는데 김해서버에서는 속도가 거의 50mbps정도로 나온다.
os가 설치된 sd카드위에서 속도테스트를 하니 sd카드속도때문인지 비정상적으로 느린 속도가 나와서 외장ssd위에서 측정했다. kt 기가컴팩트(500mbps)를 사용중인데 적당히 뽑아주는듯하다.
3. 실제 성능
벤치마크와 실제 성능과는 생각보다 괴리가 크다.
그래서, 일반적으로 nas구성 시 필수적으로 설치되는 tansmission, ftp, samba를 통하여 파일 업,다운로드 속도를 직접 측정해보았다.
- transmission, 토렌트 -
transmission을 사용하면서 본 최고 속도다. 토렌트가 생각보다 disk와 cpu에 무리를 많이 주고, 여러 토렌트 파일이 섞여 있어 방해를 받았음에도 불구하고 17mb/s정도의 준수한 속도가 나온다.
물론 이 파일은 거의 500mbps속도를 풀로 뽑아 다운받을 수 있는 파일이라 17mb/s가 나온것이며, 일반적인 파일들은 대충 5~8mb/s정도의 속도가 나온다 보면 된다.
1000mbps를 지원함에도 불구하고 cpu성능때문에 100mbps수준이 나옴이 아쉽지만 가격을 생각하자.
그리고 한가지 더 문제가 있는데, hdd로 다운받으면 시스템에 부하가 심각하게 걸린다는 점이다.
토렌트 하나가 다 다운받아지고 난 뒤 hdd에 파일 정보를 옮길 때 시스템의 부하가 100%에 육박하기때문에 서버에 접근이 불가능해진다. 즉, ssh로 접속조차 불가능하며 모든 서비스가 뻗어버린다.
hdd에 파일을 다 쓰고 나면 다시 돌아오지만, 50~60기가의 큰 파일을 다운받은 경우 거의 30분동안 서버가 뻗어버리기 때문에 주의해야한다.
따라서, 나처럼 ssd에 다운받은 후 새벽에 자동으로 hdd로 옮겨주는 스크립트를 cron에 등록시켜놓으면 문제없이 사용가능하다.
- ftp -
다운로드 속도는 34mb/s정도로 괜찮게 나온다.
업로드 속도도 36mb/s로 초반에는 나쁘지 않아 보였으나, 중간중간 10mb/s로 떨어지는 바람에 평균속도는 27mb/s로 나온다.
아무리 생각해봐도 속도가 떨어질 이유가 없어서 여러가지 가능성을 고려해본 결과 파일을 업로드했던 ssd가 문제였다. dramless라 ssd가 불안정하여 속도가 저런것이므로 정상적인 ssd로 올릴경우 36mb/s로 쭉 나올것이라 예상된다.
한가지 특이한점은, 적당한 크기의 파일을 올리면 100mb/s~80mb/s의 말도 안 되는 속도가 나온다. 애초에 kt에서 서비스를 500mbps를 받는데 100mb/s가 나오는게 말이 안 된다. ftp 프로그램의 오류라고 믿고싶지만 실제로 파일 올라가는 속도를 보면 그 정도 속도이므로 그 속도가 맞는듯 하다.
하지만, 업로드 직후 약 1초정도의 딜레이가 발생하기때문에 평균속도는 앞서 측정했던 업로드속도와 비슷하게 나온다.
참고로 이 현상은 ssd에 업로드할 때만 발생하였으며, hdd에서는 정상적인 속도로 업로드 되며 딜레이또한 없다.
그리고 ssd가 dramless라 정상적인 속도로 볼 수 없어 hdd에 업로드를 해보았는데 ssd에 업로드할 때의 평균속도와 비슷하게 나왔으므로 이 정도의 속도를 낸다고 보면 될듯하다.
- samba -
각각 다운로드, ssd업로드, hdd업로드 속도다.
ftp로 업,다운로드할 때와 똑같은 속도와 양상을 보여준다.
4. 전력소모와 발열
- 전력소모 -
생각보다는 많이 먹는다. 물론 이 '생각'이 내 기준이라 매우 타이트해서 그렇지 다른 상용,자작 nas들에 비하면 반의 반정도로 말 그대로 '초저전력'이다.
각각 idle상태와 ssd -> hdd로 파일을 옮기면서 torrent로 ssd에 파일을 받고 있던 full load상태다.
보드 + 쿨러 약 5.5w, ssd 1w, 2.5인치hdd 5w 정도 먹는것으로 보면 딱 맞아 떨어진다.
이 말은 opi측에서 공식적으로 추천하는 5v 2a어댑터로 구동할 경우 매우 불안정한 상태라는 것이다.
그러니 hdd를 붙힐 가능성이 1%라도 있는 경우 고용량의 어댑터로 사자.
24시간 구동한다고 가정했을 때, 모두 idle상태면 한달 약 4kwh, 모두 full load상태면 한달 약 8.6kwh다.
일반 공유기 정도의 전력소모, 고사양 공유기보다는 적은 전력소모이며, 한달 내내 full load상대로 돌아간다쳐도 한달 1,000원 정도밖에 안 나온다. 게다가 나처럼 스마트플러그로 조절해주는 경우 반의 반도 안 나올 것이다.
참고로, 보드의 전원을 꺼도(sudo shutdown을 쳐도)보드에 계속 전기가 들어간다.
보드 idle상태 전력인 5.5w정도가 계속 들어가므로 의미없는 짓이다. 그리고 내가 알기로 wol지원이 안 되므로 보드 전원을 껐을 경우 다시 켜는 방법은 전원을 뽑았다 다시 꼽는 원시적인 방법을 써야한다.
따라서, 보드 전원을 마음대로 껏다 켰다 하고싶으면 skt스마트플러그를 써야한다.
- 발열 -
측정 수치는 귀찮아서 첨부하지 않겠다.
방열판도 없이 쌩 보드상태에서는 idle 35도, peak 60도 정도를 찍었으며
방열판 작업시 idle 30도, peak 55도 정도가 나왔다.
전혀 문제없는 정도이지만, sdd와 hdd가 함께 있으면 서로 열을 발생하여 발열이 더 심해지고 부품의 노화, 그리고 심적인 불안함(제일 중요)때문에 실사가 불가능하다고 판단,
이런 작은 쿨러로 열을 식혀주었다.
정말 작고 바람도 적게 나오는 쿨러지만, idle 25도, peak 40도 아래로 유지해주는 고마운 녀석이다.
하지만 문제는 생각보다 ssd와 hdd의 발열이 상당해서 시스템이 전체적으로 뜨거워지는 바람에 게시글 상단에 올려둔 현재 서버 상황처럼 큰 쿨러 하나를 달아주어 전체적으로 식혀주고 있다.
효과는 저 작은 쿨러와 비슷한듯하나 ssd와 hdd 모두 차가운 상태를 유지한다.
5. 총평
- 장점 -
1. 기가비트지원
2. 기가비트지원 싱글보드 중 가장 저렴하며 동 가격대 최고 성능
3. 아마 실사가능한 pc중 최저전력소모
4. usb2.0치고 나쁘지않은 io
- 단점 -
1. 전용os의 부족함(armbian이라는 좋은 os가 있으나 당연히 free4nas나 omv는 안 올라간다)
2. 뛰어가는 말들의 발목을 잡아버리는 ram속도
3. 100mbps수준의 transmission성능
4. 쿨러 없이는 사용이 힘들 발열(불안함)
5. 보드를 꺼도 계속 들어가는 전력과 한번 끄면 전원을 뽑았다 꼽아야 다시 켜지는 diy시스템
딱 1년간 사용하면서 정말 많이 고생했고 일주일 정도 밤 설쳐가면서 고치고 다듬고 붙히고 별의 별짓을 다 했다.
처음 구축해보는 nas라 뻘짓도 별짓도 다 했지만 혼자 사용하기에는 전혀 부족함 없는 성능의 보드다.
물론 가끔 답답할 때가 있지만, 저장장치 제외 4만원도 채 안 하는 pc가 '가끔' 답답한 정도면 발군이라 할 수 있다.
글 쓰기를 정말 싫어하는 내가 비교적 긴 사용기를 적는 이유는 이제 이 서버를 해체할 생각이기 때문이다.
이유는 다음과 같다.
1. 해결 방법이 없는 transmission성능
2. 프린터서버 구축 불가능(별의 별 짓을 다 해보았지만 arm보드에 프린터 서버는 불가능한듯 하다. 뭘 해보려해도 드라이버가 없어서 시도가 불가능하다)
3. 윈도우의 아쉬움(윈도우가 필요 없어서 샀지만, 구축하다보면 자연스레 요구사항이 늘어나서 결국 윈도우가 필요하게 되었다.)
4. arm아키텍쳐의 태생적 한계(x86아키텍쳐에서 컴파일한 모든 프로그램 실행 불가)