본문 바로가기
Hardware/Home Assistant

라즈베리파이 DIY NAS 구축 준비 & QUAD SATA HAT Kit 구입 후기

by lovey25 2021. 2. 8.

소형 홈 서버 구축을 해보고 싶다는 생각을 늘 하고 있었습니다. 그러다가 Home Assistant(HA)를 사용하면서부터 라즈베리파이의 매력에 빠지게 되었고, 라즈베리파이에서 HA를 사용하면서 동시에 미디어 서버와 클라우드 서버 등을 사용하는 방법이 있는 걸 알게 되어 이쪽으로 방향을 굳혔습니다.

라즈베리파이가 저전력에 소형이고 유저가 많아서 다양한 참고자료들이 있다는 게 장점인데 단점이 SD카드를 기본 저장장치로 사용하기 때문에 저장장치의 불안정성과 느린 속도 그리고 용량의 한계가 큰 단점입니다. 서버로 사용을 하려면 최소한 소장하고 있는 사진, 동영상 등 저장해서 언제든지 찾아보고 하는 활용을 기대하고 있는데 SD카드에 의지하기는 위험부담이 너무 큽니다. 이 한계를 극복하기 위해서는 SSD, 혹은 HDD를 연결해서 사용해야 합니다. 다행히 라즈베리파이에서 외장 저장장치를 사용하는 여러 방법들이 있지만 가장 망설이게 했던 부분이 바로 구질구질 장비가 널브러진 채로 사용해야 한다는 점이었습니다.

라즈베리파이와 HDD, SSD를 같이 검색해보면 위 사진처럼 라즈베리파이가 그대로 노출된 상태로 외장하드 연결하듯 케이블로 디스크 연결한 게 대부분이고 그다음으로 틀을 갖추어서 구색을 맞추어 놓은 게 있지만 역시 케이스 없이 시제품 테스트하는듯한 모양이 많습니다. 가끔가다가 완제품처럼 보이게 케이스까지 갖춘 키트도 있습니다만 어딘가 모르게 좀 정이 들 것 같지 않은 모양입니다.

그러던 중 드디어 이거다 싶은 제품을 발견했습니다. 바로 "QUAD SATA HAT KIT"입니다.

 

PENTA SATA KIT for ROCK PI 4 (with pre order reward)

PENTA SATA KIT for Rock Pi 4 A/B Easily build your own PCIe based NAS / Media-server with a Rock Pi 4 See how to assemble the Kit here: https://youtu.be/cwWkUQFGdm8 *Pre order award (free 60W DC power supply) - limited stock available now! Description mou

shop.allnetchina.cn

제가 이 제품을 구매한 건 작년 11월이고 지금 한 달 조금 더 넘게 사용하고 있는 중인데 사용기 작성하려고 구매 사이트를 들어가 봤더니 그 사이에 제품 업그레이드가 있었네요. 이름도 QUAD에서 PENTA로 바뀌었네요.

아무튼 이 제품은 라즈베리파이의 USB 3.0 단자를 통해서 SATA 인터페이스의 HDD, SSD를 연결할 수 있도록 하는 키트이며 총 4개의 드라이브를 연결할 수 있습니다. (업그레이드 버전은 외장으로 하드 1개를 추가로 더 연결할 수 있습니다.) 그리고 그림에서 보시다시피 이게 정말 DIY서버인가 싶을 정도로 조립을 하고 나면 마치 기성품 같은 완성도 있는 외관을 보여줍니다. iptime 공유기 같은 모양이에요.

라즈베리파이 위에 하드를 세로로 최대 4개까지 설치할 수 있고 라즈베리파이 보드 쿨링을 위한 힛 싱크 그리고 내부 열기를 밖으로 내보낼 순환 팬 등이 모두 포함되어 있으며 하드디스크를 여러 개 사용하는 조건에 맞게 충분한 전력을 공급할 수 있는 아답터와 아답터 단자까지 갖추어진 미니 서버를 만들기 위한 All-in-one Kit라고 할 수 있습니다.

가격이 싼 건 아니지만 알찬 구성과 디자인이 맘에 들어서 길게 고민하지 않고 바로 구매 질렀습니다.

판매 사이트가 allnetchina라는 곳이었는데 한 번도 들어본 적이 없는 사이트라서 걱정은 좀 되지만 페이팔로 결재를 할 수 있게 되어있어서 떼먹지는 않을 거라 믿고 구매했습니다.  

배송 기록을 보면 우여곡절이 많이 있었고 중간에 약 10일가량 로그가 없는 기간이 있었는데, 구매 사이트를 통해서 문의를 해도 답도 없고, 아주 맘을 졸이던 시간도 있었지만 결론적으로 구매 약 한 달여 만에 제품을 무사히 받을 수 있었습니다.

개봉/조립

조립과정과 함께 구성품들 하나씩 살펴보겠습니다. 큼지막한 아답터도 보이고, 팬이 2개나 들어있고 나사도 종류가 많아서 지금은 좀 정신이 없어 보이지만 조립을 해보면 정말 구성도 알차고 디자인도 이게 정답이구나 싶을 정도로 최적화가 되어 있다는 걸 알게 됩니다.

케이스의 바닥이 되는 판을 놓고 라즈베리파이가 올라갈 작은 다리 발을 세워줍니다. 그위에 라즈베리파이를 올리고 다시 메인이 되는 SATA 보드를 올려서 조립해 줍니다.

0123

다음으로 라즈베리파이의 CPU에 설치할 힛 싱크를 조립합니다. 앙증맞은 사이즈의 팬이 있는데 뒷면을 보면 CPU 크기에 맞게 살짝 오목한 모양으로 되어있고 양면테이프가 붙어 있습니다. 

0123

테이프 껍질을 벗겨서 CPU위에 잘 고정시켜주고 SATA 보드의 팬 단자를 찾아서 팬 케이블을 연결해 줍니다. 그리고 SATA보드를 라즈베리파이의 GPIO단자 위치에 맞추어서 꽂아주면서 다리 발에 나사로 고정해 줍니다.

고정나사가 여러 가지 종류가 있는데 종류별 용도가 설명되어 있지 않아서 살짝 당황을 했었습니다. 일단 지금 SATA보드 고정에 필요한 건 검은색 길쭉한 나사입니다.

다음으로 SSD를 조립해보겠습니다.

0123

넓적하게 생긴 철판 2개가 있는데 하드 양쪽에 붙어서 고정을 해주는 역할을 합니다. 조립을 했을 때 SSD가 보드에 연결되는 방향을 고려해서 가이드를 양쪽에 조립해 줍니다. 이때는 은색의 접시 머리 나사를 사용합니다.

SSD와 가이드가 조립이 되었으면 윗면에 조립되는 환기팬+OLED 보드를 고정합니다. 하단의 SATA보드와 케이블로 연결이 되어야 하기 때문에 이 단계에서도 방향을 잘 생각해서 조립해야 합니다. 

0123

이제 앞에서 조립해둔 하단의 어셈블리에 SSD 뭉치를 조립해주고 케이블을 연결합니다. 

지금까지 조립된 상태에서는 SSD가 어디 지지되지 못하고 SATA 연결단자에만 전적으로 의존하여 서있는 상태가 됩니다. 저는 우선 SSD를 1개만 설치했는데, 이 상태에서는 상단 어셈블리가 똑바로 서있지 못하고 옆으로 불안하게 기울어진 상태가 됩니다. 외부 케이스를 씌워주면 좀 더 고정이 되긴 하지만 최소 2개 이상의 하드를 연결하는 게 구조상 안정적일 것 같습니다.

케이스까지 모두 씌워주고 나서 아래위 각 모서리에 나사를 조여주면 조립은 끝이 납니다.

마지막으로 USB 브릿지를 꽂아주어야 합니다. 라즈베리파이의 USB 3.0 단자 2개를 이용해서 각각 2개의 SATA 단자로 확장되도록 설계되어 있는데 내부에 따로 연결되는 부분이 없기 때문에 케이스 외부에서 이런 특이한 모양의 부품을 이용해서 연결해주도록 되어 있습니다.

이 부분은 살짝 아쉬운 부분이라고 생각하는데, 라즈베리파이의 USB 3.0 단자 2개를 모두 가려버리기 때문에 다른 용도로 사용을 할 수 없기 때문이죠. 사용하지 않는 USB 단자를 사용하기 위해서 male-male 형태의 USB 연장 케이블이 있는지 나중에 찾아봐야겠습니다.

다음으로 아답터입니다. 무려 60W 아답터가 제공이 되는데요. HDD를 4개 달아서 사용해도 부족하지 않을 만큼 충분한 용량입니다. 콘센트에 연결되는 부분은 나라별 규격에 맞게 교체할 수 있는 타입으로 되어있는데 아쉽게도 US단자 1개만 들어있었습니다.

요건 타입별로 구매처에서 별매하고 있어서 따로 주문 가능하네요.

완성된 모습입니다. 라즈베리파이에 하드 드라이브를 4개까지 달고서도 전혀 군더더기 없는 완벽한 디자인이 아닐 수 없습니다. 전원도 별도의 DC단자가 있어서 제공된 아답타를 이용하기 때문에 더욱 깔끔합니다. 모르는 사람이 봤을 때 대기업에서 판매하는 미니 서버라고 생각할 수 있겠죠?! 추가로 진동소음을 잡아줄 고무발과 스펀지가 동봉되어 있으니 필요한 곳에 잘 마감을 해주면 되겠습니다.

프로그램 설치

SSD를 연결하는 보드가 마치 그 자체로써 완성된 기능을 구현할 것 같은 느낌을 주지만 단순히 라즈베리파이에 연결되는 주변기기에 불과하며 인터페이스는 USB를 사용하고 전원 제어도 라즈베리파이의 명령을 받도록 되어 있기 때문에 몇 가지 약점이 있습니다. 컨트롤을 해 줄 프로그램을 설치해야 한다는 것이 그중 한 가지인데요. 별도의 프로그램이 필요하기 때문에 호환되는 환경에서만 사용할 수 있습니다. 라즈베리파이의 GPIO를 통한 제어가 이루어지기 때문에 라즈베리파이 실력자라면 충분히 극복할 수 있는 단점일 것 같지만 적어도 제 입장에서는 뚝딱 해결될 문제는 아닌 것 같습니다.

아무튼 필요한 프로그램 설치해 보겠습니다. 설치와 관련된 자료는 아래 링크에서 확인할 수 있습니다.

 

Dual Quad SATA HAT - Radxa Wiki

Home > SATA HAT > Dual/Quad SATA HAT Introduction ROCK Pi Dual/Quad SATA HAT is an addon HAT designed for Raspberry Pi 4. It utilizes the high-speed USB3 buses on Raspberry Pi 4 and providing a complete NAS solution based on Raspberry Pi 4. It has the foll

wiki.radxa.com

제가 사용하는 환경은 라즈베리파이 4에 운영체제는 라즈베리파이 OS가 설치된 환경입니다.

curl -sL https://rock.sh/get-rockpi-sata | sudo -E bash -

위에 있는 링크에서 설치 스크립트 명령어를 확인할 수 있고 명령어를 실행하면 다음과 같이 컨트롤 프로그램이 설치됩니다.

공식적으로 확인된 호환 운영체제는 라즈베리파이 OS와 우분투라는 안내문구가 보이네요. 확인을 눌러서 패키지 설치를 진행합니다.

잠시 기다리면 이렇게 설치가 완료되고, 마지막으로 리부팅하고 나면 이제 QUAD SATA HAT이 사용 가능상태가 됩니다.

참고로, 다음 첨부파일은 설치 스크립트의 백업입니다.

QUAT SATA HAT_설치스크립트.zip
0.00MB

 

소프트웨어 로딩이 잘 되고 나면 아래 사진처럼 QUAD SATA보드에 전원이 들어가면서 팬이 동작하고 OLED 화면에 정보가 전시되기 시작합니다.

팬은 온도에 따라 속도조절이 되는 기능이 있고 OLED는 서버 동작 시간, IP주소, CPU 온도, 저장공간 사용률 등등을 확인할 수 있습니다.

컨트롤 프로그램 설정

컨트롤 프로그램은 몇 가지 사용자 튜닝을 지원하는데 다음 설정 파일을 통해 설정을 변경할 수 있습니다.

sudo nano /etc/rockpi-sata.conf

파일 내용을 보면 다음과 같이 팬 속도를 조절할 CPU 온도 조절 구간을 변경할 수 있고, 하드웨어 키 용도를 변경할 수 있습니다.  그 외에도 OLED 화면 표시방법을 고칠 수 있는 설정도 제공하고 있습니다.

 

[fan]
# When the temperature is above lv0 (35'C), the fan at 25% power,
# and lv1 at 50% power, lv2 at 75% power, lv3 at 100% power.
# When the temperature is below lv0, the fan is turned off.
# You can change these values if necessary.
lv0 = 35
lv1 = 40
lv2 = 45
lv3 = 50

[key]
# You can customize the function of the key, currently available functions are
# slider: oled display next page
# switch: fan turn on/off switch
# reboot, poweroff
# If you have any good suggestions for key functions, 
# please add an issue on https://setq.me/rockpi-sata
click = slider
twice = switch
press = none

[time]
# twice: maximum time between double clicking (seconds)
# press: long press time (seconds)
twice = 0.7
press = 1.8

[slider]
# Whether the oled auto display next page and the time interval (seconds)
auto = true
time = 10

[oled]
# Whether rotate the text of oled 180 degrees, whether use Fahrenheit
rotate = false
f-temp = false

참고로 위 설정값을 사용했을 때 라즈베리파이 CPU의 온도 변화는 아래 그래프와 같았습니다. 44~ 46도 정도의 온도 구간을 유지하는 모양새를 보여주고 있습니다. (CPU 로드가 거의 없는 평시 상황입니다.) 

소음문제 해결방법

제품에 대한 좀 더 상세한 내용은 시간을 가지고 사용해 보면서 추가로 공유할만한 내용이 생길 때 한번 더 다루기로 하고 여기서는 제품을 켜자마자 깜짝 놀란 소음 관련된 이슈를 공유하고 개봉기 마무리하겠습니다..

QUAD SATA Hat 조립을 끝내고 초기 설정을 위해서 책상 옆에 두고 이것저것 살펴보던 와중이었습니다. 그런데 온도가 조금만 올라가면 팬이 돌기 시작하는데 문제는 팬이 돌 때마다 참을 수 없는 고주파음이 발생했습니다. 아래 캡처된 화면은 핸드폰으로 측정한 노이즈 그래프입니다.

다른 소음은 잘 모르겠는데 7,125Hz의 고주파수 노이즈가 유독 높게 피크치고 있는 것을 볼 수 있으며 팬의 동작에 따라서 선명하게 피크를 구별해 낼 수 있습니다.

눈으로만 봐서는 소음이 얼마나 심각한지 알 수 없지만 실제로 들어보면 정말 심각합니다. 바로 옆에서는 말할 것도 없고 방안에 넣어두고 문을 닫아도 문을 뚫고 집안을 퍼지는 소리는 피할 수가 없었습니다. 장시간 듣고 있으면 두통이 유발될 정도라고 설명하면 감이 오실까요? 

그래도 다행인 것은 팬 컨트롤 설정을 변경해서 고주파 음 제거가 가능합니다.

컨트롤 프로그램이 설치된 폴더를 뒤져보면 파이썬으로 작성된 팬 컨트롤 코드를 찾을 수 있습니다. 파일명이 "fan.py"라서 쉽게 찾을 수 있습니다. 편집기로 열어보면,

sudo nano /usr/bin/rockpi-sata/fan.py

아래와 같이 "change_dc()"라는 함수를 찾을 수 있는데 PWM 컨트롤을 담당하는 부분인 것 같습니다.

change_dc() 함수 안에 "hardware_PWM(gpio, PWM_frequency, PWM_duty)" 함수 2개가 자리 잡고 있는데 위에서 차례대로 환기팬, CPU팬의 동작을 담당합니다.

기본 세팅이 PWM 주파수가 25kHz로 되어있습니다. 보통 이 주파수는 20~25kHz 범위가 일반적이라고 하는데 일반적인 범위에서는 소음이 계속 발생했고 1kHz 이하의 값으로 설정했을 때 고주파음을 줄일 수 있었습니다. hardware_PWM함수에 대한 설명은 아래 주소에서 확인할 수 있는데요. 각 매개변수의 용도는 다음과 같습니다.
(abyz.me.uk/rpi/pigpio/python.html#hardware_PWM)

gpio: 컨트롤 시그널 단자가 연결될 GPIO 단자를 지정합니다.
PWM_frequency: PWM 주파수를 설정합니다. Hz 단위인 것 같습니다.
PWM_duty: duty cycle을 설정합니다. (ex. duty 100% = 1,000,000, duty 50% = 500,000)

주파수를 조정해서 소음이 가장 적게 나는 설정을 찾아야 하는데 여러 번 시행착오가 필요하겠죠. 그리고 변경된 설정값을 적용하기 위해서는 아래 명령어로 서비스를 재시작해주면 됩니다. (참고로 서비스가 재시작되면 SATA보드가 리셋되기 때문에 마운트 된 드라이브의 연결이 끊어집니다.)

sudo systemctl restart rockpi-sata.service

총평

하드웨어적으로는 정말 완벽하다는 찬사가 아깝지 않은 제품입니다. 이 키트 하나로 라즈베리 파이를 미니 서버로 완벽하게 변신시킬 수 있죠. 하지만 라즈베리파이에 의존적인 태생적 한계 때문에 어쩔 수 없는 단점도 있습니다. 이 제품의 구매를 고려하시는 분이 계시다면 이점을 꼭 염두에 두셔야 하는데요. 바로 SATA보드에 연결된 SSD는 부팅디스크로 사용할 수 없다는 점입니다.

라즈베리파이는 USB 3.0 단자를 이용해서 운영체제가 설치된 SSD를 부팅에 사용할 수 있죠. SD카드가 속도나 안정성 면에서 SSD보다 부족한 점이 많기 때문에 라즈베리파이의 서버 운영을 고민하신다면 당연히 고려하는 옵션입니다. 하지만 QUAD SATA HAT 보드는 라즈베리파이의 부팅이 완전히 끝나고 나서 컨트롤 프로그램이 실행되어야 전원이 들어가기 때문에 여기 연결된 디스크도 라즈베리파이가 부팅이 되어야 온라인이 됩니다. 따라서 OS가 설치된 SD카드로 먼저 부팅을 하고 나서 QUAD SATA HAT 프로그램이 실행된 후 SSD/HDD를 마운트 하여 사용할 수밖에 없습니다.

이 문제를 해결하기 위해서는 SATA 단자 4개 중 2개를 포기하고 USB 단자 1개는 부팅용 디스크를 연결해서 사용하거나 라즈베리파이 대신 eMMC를 지원하는 Rock Pi를 사용하면 될 거 같긴 하지만 SSD 그 자체만으로 서버를 사용할 수 없다는 점은 치명적인 단점이 아닌가 싶습니다.

 

끝!

728x90

댓글2