안녕하세요, 아름다운 외형이 장점인 PI UPS Nvme Server를 소개합니다. (사진 수정 '21.12.10)
아래 링크는 PI UPS NVMe Server 사용기 입니다.
(#URL : https://www.clien.net/service/board/use/16770762CLIEN)
☆ 주요제원
- CPU : 2.3Ghz (OverClock)
- GPU : 0.9Ghz (OverClock)
- Ram : 8Gb
- Disk : M.2 Nvme 2Tb + micro sd 64Gb
- 용도 : Cloud + Media Center
이렇게 구성하고 싶으신 분이 있을까 싶어 글쓰는 걸 고민도 했지만 혹시나 궁금해하실 분들을 위해서라도 이렇게 기록을 남기게 되었습니다. 정말 여러가지 우여곡절이 있었는데요.. 전원이 안빠진상태에서 라디에이터 쿨러를 빼려다 합선이 되었던날, 열이 안빠져서 팬을 계속 옮겼다던지, 계속 뻑이나는데 원인을 몰랐던일 등등 파이를 대하는 저 자신을 돌아보게 만드는 소중한 시간이었습니다. 구성을 하고서 보니 이가격이면.. 이 시간이면... 결국 완성품이 답이었던가 싶기도 하지만, 유부남의 취미생활은 중요한거잖아요? 어딘지 모르는 우주속 한가운데를 헤엄치듯 라즈베리파이의 세계에서 자유로이 유영을하는 소중한 순간들 이었습니다.
★ Phase1. 하드웨어 구성
참고 URL : https://www.the-diy-life.com/mini-raspberry-pi-server-with-built-in-ups/
① 라즈베리파이4 8GB (@네이버쇼핑)
② GeekPi UPS Plus Module (@알리)
③ Geekworm X873 board (@알리)
④ 64gb micro sd card(Sandisk Extream Pro) (@쿠팡)
⑤ M.2 NVME 2TB (@쿠팡)
⑥ 디스플레이(0.96 inch oled iic white) (@알리)
⑦ 기타
- 3D 프린터 출력물 (@지인찬스)
- 레이저 커팅 아크릴 판넬 (@아크릴공방 의뢰)
- USB 3.0 플랫 케이블, USB 연장 케이블 (@알리)
- 지지대(Standoff 나사 너트 구색키트) (@알리)
- 육각볼트(M3 3mm) (@알리)
- 써멀구리스, 써멀테이프, 히트씽크, 냉각라디에이터 등등 (@알리)
하드웨어 구성은 화려한 편입니다. 특이점이 온듯한 느낌은 저 뿐일까요?ㅎㅎ 메모리는 혹시 과부하가 걸릴까봐 8GB로 구매하고 Server로 깔았더니 1GB를 넘기는 일이 별로 없네요.(또르륵...) 이것저것 하다보니 CPU 부족이 가장 걸립니다. 그래서 1.5Hz를 → 2.3GHz(오버클럭)로 사용중 입니다. 전체적으로 벤치마킹은 유툽에서 봤던 The Diy Life - Mini Raspberry Pi Server with UPS(Link) 를 참고하였습니다. 기존 구성에서 M.2 Nvme 가 추가된것이 다른점 인데요, 원래 M.2 Nvme 을 사용하려다보니 파워부족으로 UPS 구성까지 하게된 사례입니다.
가장 힘들었던 부분은 아무래도 3D 출력물 입니다. 원하는데로 뽑으려면 수정을 하면서 2~3회 출력 해봐야하는데 업체에선 건당 5만원 정도를 받아서 부담이 되는게 사실입니다. 결국 지인찬스로 커피를 열심히 사줘서 받게되었는데요 금전적 여유가 되시는분은 3D 프린터를 사는것도 좋을것 같습니다.
하나하나 사다보니 정말 많이 샀는데요 적지는 않았지만 냉각문제 해결을 위해 냉각 패키지만 5~10개 정도 샀던것 같아요. 뭐니뭐니해도 조립할수 있는 투자시간이 가장 중요하겠죠. 재미가 있었던 건지 애들 와이프 다 재우고 새벽에 1~2시간씩 고민하며 조립하다보니 완성할수 있었습니다.
하드웨어중 가장 신경을 많이 썻던 부분이 nvme 인데요, 모두 아시다시피 발열이 엄청납니다. CPU 못지않게 냉각을 해줘야 하는데요,, 냉각이 잘 안되니 불량섹터가 계속 늘어나고 뻑도 자주나고 고생고생을 다 했습니다. 외형을 이렇게 만들어준 일등 공신이죠. 냉각을 한곳에서 하려고 CPU 라디에이터와 가까이 있는데요 만약 바꾸라고 한다면 180도 뒤집어서 보드가 아래, 디스크가 위쪽으로 하여 CPU 발열 영향을 차단하고 각각 냉각되도록 하는게 더 좋을것 같습니다.
★Phase.2 소프트웨어 구성
① Ubuntu 20.04 LTS
② NextCloud(LEMP Stack, PHP, Ngnix, Maria db)
③ Plex(with Docker, Portainer)
④ qbittorrent(with Docker)
⑤ youtube-dl
⑥ Samba(내부망)
⑦ vsftpd(외부망)
설명
---------------------
① Ubuntu 20.04 LTS
OS는 64bit 범용성을 위해 Ubuntu 20.04 LTS 로 선정하였습니다. 52Pi 로우프로파일 라디에이터를 믿고 최대치로 OverClock 하였습니다. 주요수치는 아래와 같습니다. M.2 nvme 전류 부족 방지를 위해 current를 올려주고 cpu/gpu/voltage 클럭을 조정해줍니다. (force_turbo를 넣지않으면 over_voltage가 평시에는 8로 작동합니다)
vi /boot/firmware/config.txt
over_voltage=15
force_turbo=1
arm_freq=2300
gpu_freq=900
max_usb_current=2
safe_mode_gpio=4
번외#1. SSH 설치
https://codechacha.com/ko/ubuntu-install-openssh/
번외#2. 외장하드 마운트(nvme) : sudo vi /etc/fstab
https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=ko#console
UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/disks/sda ext4 discard,defaults, 0 0
(맨끝을 0으로 해야 연결이 됩니다. 이유는 nvme저장소를 검사하다 뻑나기 때문입니다)
번외#3. 프로그램 설치시 E:... error 발생시 해결 링크
https://security-nanglam.tistory.com/322
번외#4. sudo dpkg --configure -a가 안될때
② NextCloud(LEMP Stack, PHP, Ngnix, Maria db)
#(LEMP Stack) : https://www.linuxbabe.com/ubuntu/install-lemp-stack-ubuntu-20-04-server-desktop
#(NextCloud) : https://www.linuxbabe.com/ubuntu/install-nextcloud-ubuntu-20-04-nginx-lemp-stack
- 마지막 Step.10 까지 최적화를 완료하세요
- NextCloud 구성하실때 DuckDns 를 이용해서 주소를 받으시면 https 접속을 하실수 있습니다.
- 공유기에서 443(https port)을 열어줘야 합니다.
Cloud 는 가장 평이 좋았던 Nextcloud 인데요 설치 방법은 위 링크 참고하시면 될것 같습니다. 여기서 편리한 Docker을 쓰지 않고 LEMP Stack 을 사용한 이유는 안그래도 느린 파이 에서 Docker 경유 까지 거치면 너무 느려져서 입니다.
③ Plex(with Docker, Portainer)
설치#Docker : https://docs.docker.com/engine/install/ubuntu/
설치#Portainer만 : https://blog.dalso.org/linux/wsl2/11306
설치#Plex : https://hub.docker.com/r/linuxserver/plex
차례대로 Dock, Portainer, Plex를 설치해 줍니다. 주의할 사항은 Portainer는 링크에서 해당하는 부분만 설치하면 됩니다.
④ qbittorrent(with Docker)
설치 : https://hub.docker.com/r/linuxserver/qbittorrent
⑤ youtube-dl
설치#youtube-dl : https://linoxide.com/best-youtube-video-downloader-ubuntu/
설치#python err : https://askubuntu.com/questions/942930/usr-bin-env-python-no-such-file-or-directory
⑥ Samba(내부망)
https://psychoria.tistory.com/m/678
⑦ vsftpd(외부망) : 링크 실종으로 구글 검색 ㄲ
기타#1. 열어야할 포트
- 8080, 9000, 32400, 443, 21, 22
기타#2. Enabling I2c on Ubuntu
https://itectec.com/ubuntu/ubuntu-enable-i2c-on-raspberry-pi-ubuntu/
https://askubuntu.com/questions/1273700/enable-spi-and-i2c-on-ubuntu-20-04-raspberry-pi
기타#2-2 Displaying
https://github.com/danb35/raspi-ups-stats
ubuntu 의 경우 온도확인.sh를 별도로 생성해야합니다.
vi /opt/stats/my-pi-temp.sh
temp=$(</sys/class/thermal/thermal_zone0/temp)
temp_f=`echo "$temp/1000" | bc -l`
printf "%.1f°C\n" $temp_f
이후 stats.py 에서 수정
기존 : cmd = "vcgencmd measure_temp |cut -f 2 -d '='"
변경 : cmd = "/opt/stats/my-pi-temp.sh"
기타#3. 하위 폴더까지 권한주기
sudo chmod 755 -R/폴더명
기타#4. CPU, Memory monitering
sudo apt-get install htop
기타#5. X873 firmware-update
https://wiki.geekworm.com/X873
기타#6. UPS PLUS firmware-update
https://wiki.52pi.com/index.php?title=EP-0136#How_To_Update_UPS_Firmware_via_OTA
위에 사진만 보고 옆 커버까지 있으면 더 좋겠다 싶었는데 링크 따라가보니 아크릴 투명 커버가 있네요
라즈베리파이4 구매하면 저 케이스도 사봐야겠어요
잘 구경하고 갑니다!
잘 안보이지만 위 사진에도 옆에 아크릴 투명커버가 있습니다 . 긴 내용인데도 재밌게 봐주셔서 갑사합니다!
연식 오래된 미니pc에 과한투자였나? 싶다가 이 글 보고나니 별거아닌 고민거리였네요 ㅎ
그나저나 C0만 되는 클럭인가 했는데 전압오버 15 ㄷㄷ 안터지는거 맞죠? 두자릿수레벨이 가능한거였군요 ㅎㄷ
구글링으로 2.5Ghz 도 있었지만 참았습니다ㅎ.
over_voltage 는 0.025V 단위로 15*0.025V = + 0.375V가 됩니다. (CPU 기본 전압 1.2V)
긴 내용인데도 하나하나 읽어주셔서 감사합니다 ;)
Nginx도 처음엔 엄청 느려서 최적화를 단계를 거쳤는데요, Apache에서도 메모리 캐시등 조정을 해준다면 빨라질것 같습니다. USB 기본전류는 최대 0.6A 인데요 max_current=1는 최대 1.2A로 알고 있습니다. :)
헉 ,, ubuntu 도 pi 에서 제공하는 커널을쓸테니 이제 없어진걸까요?ㅜ 방법을 강구해서 확인 해보겠습니다
고용량 작업시 nvme가 계속 끊겨서 ups 외부전원으로 연결했더니 해결되었습니다.(전력부족 추정) usb max current 옵션은 없어진게 맞는거 같아요
파이는 전력문제가 고질병 같아요, 저는 일단은 되는거같긴한데 장시간 문제없는지 지속적으로 관찰 예정입니다.
전력 연결은 UPS 를 통해서 파이 usb 빈자리에 브릿지 했는데 전원버튼 누를땐 케이블을 일일이 뺏다꼽아야 합니다.
X873 Nvme 보드 칩셋은 usap 지원 여부 확인 했습니다(ASMedia Technology Inc. ASM236X series)
저도 파이를 포기하고 라떼판다 구매 직전까지 갔었는데요 어떻게든 좀 더 해보고 말씀드릴께요!
그리고 혹시 구매하실 인텔 모델은 NUC 11세대 인가요? 구매하시면 리뷰 부탁드립니다ㅎ
USB 전원이 부족하여 gpio에서 usb로 +5V 브릿지 연결을 도전 해볼 예정입니다. 잘 된다면 y케이블없이 깨끗해질것 같아요. 혹시 궁금하실까봐 아래 링크 드립니다.
https://m.blog.naver.com/hardinge/221462223576
여정과 투자비용을 보니 취미생활이 맞네요.
diy life 보고 급추진 하려던 마음이, 덕분에 누그러졌지만 따라해보고 싶네요. ㅎㅎ
https://www.the-diy-life.com/raspberry-pi-4-ssd-case-with-stats-display/
직접 해보시면 더 재밌습니다. 혈압은 덤... ㅎ
혹시 추가 제작의향은 없으신가요?
있으시면 공부 및 경험 을 위해 따라해 보고 싶습니다
3D Printer 만 준비되어 있습니다
구축과정이 디버깅 하느라 너무 힘들었어서 당분간은 추가제작이 없을것 같습니다..ㅎ 본문을 보시고 직접 해보시는것도 좋을 것 같구요 그외 잘 안되는 부분은 쪽지 주시면 가능한 범위 내에 답장 드리겠습니다 :)