새 NAS를 조립했다.
부품이 금새 하나, 둘 도착하긴 했으나 개인 일정이 바빠 조립을 못하다가 뚝딱 밤에 해버렸다(...)
오랜만에 컴퓨터를 조립하려니까 막막했는데
지금까지 내 손을 스쳐지나간 컴퓨터만 100대 쯤은 될 터, 그냥 몸이 기억을 해서 의외로 일사천리로 조립이 끝났다. (ㅋㅋㅋㅋ)
| 홈 네트워크 구성 변경
부품이 도착하기 전에 홈 네트워크는 미리 구성을 변경해두어서 그냥 벽의 랜 포트에 연결만 하면 되었다.
우리집은 진짜 물리적인 허브로만 네트워크 구성을 했기 때문에, 그냥 벽 단자함 열어서 공유기 하위에 물린 Cisco 허브로 옮겨주기만 하면 된다.
나름 지은지 10년도 안된 덜 구축 아파트(?)라서 방마다 RJ45 포트가 4개씩이나 있는건 반길만한 일이다.
(안그러면 방마다 허브를 달아야할텐데.. 벌써 눈 앞이 아득해진다)
| 1차 목표 : NUC 전원 끄기
조립 이후 순식간에 Proxmox를 설치했다. 이후 바로 이전이 가능한 서비스들부터 하나씩 바로바로 옮겼다.
1차 목표가 NUC의 전원을 끄는 것이었기 때문에, Nginx Proxy Manager와 기타 Docker화된 서비스들, Home Assistant를 옮기고 NUC의 전원을 내렸다.
자주 하는 일이 아니다보니 꽤나 걱정을 많이 했는데, 결론적으론 NUC에 운영 중인 것들이 이전 난이도가 비교적 쉬운 편이라 웜업(Warm-Up)이 되어서 다행이었다.
| 2차 목표 : Synology 전원 끄기
다음으로는 Synology의 전원을 끄는 것으로 목표를 정하고, Xpenology를 정말 오랜만에 꾸려보았다.
이번에도 역시 예전에 큰 도움을 받았던 서버포럼에 들러서 요즘 대강 어떻게 구성들을 하는지 살펴보는 시간을 갖고,
RedPill 부트로더를 활용하기로 했다.
자료를 수집하면서 신기했던 것은.. 요즘 대세가 가상화라는 점,
또 Proxmox를 통한 가상화 Xpenology를 사용하면 SSD캐시를 활용할 수 있다는 점이었다.
처음에는 정보를 충분히 습득하지 못해서, 8TB나 되는 자료를 어떻게 다 옮길지 걱정이 앞서기도 했는데
그냥 Xpenology를 새로 구성하고 기존 Synology에서 사용하던 디스크를 연결 후 Pass-through(패스스루) 해주면 자동으로 인식한다더라. 역시 갓갓 시놀로지다. 소프트웨어 하나는 끝내주게 만들었음.
결론적으로 tinycore를 사용해 redpill 기반의 부트로더로 구성을 하고,
타오바오 발 S/N을 넣어서 QuickConnect 까지 연동해놨다.
정품 S/N을 인식시켜두면 좋은 것이, 이제 정식으로 Plex 트랜스코딩도 지원한다.
내 NAS로부터 Plex를 끌어다 쓰는 지인 분께 4K 트랜스코딩을 부탁드린 결과, CPU를 갈구긴 하지만 재생이 아주 원활히 된다는 것.
사실 쓸 일이 많지는 않은데 그래도 된다면 언젠간 써먹을 것이다.
다만 Quickconnect는 연동을 해두긴 했는데, 조금 찝찝하기는 해서 없애버릴지가 고민이다.
SSD 캐시까지 호기심에 설정해보았다.
읽기/쓰기 각 32GB 밖에 안되어서 사실 큰 의미가 있을지는 모르겠다.
Synology를 통합하려고 정말 많은 시간을 보냈는데 이렇게 금새 글을 써내리니 살짝 현타가 온다(...)
아무튼 이렇게 무사히 Synology의 전원도 내렸다.
| 3차, 최종보스 : Mac Mini
가장 쉬울거라고 생각했던 Mac Mini가 문제가 되었다.
생각지 못하던 고객사 서비스가 있었던 것(..!)
피차 바빠서 클라우드화 논의를 하다가 어차피 내가 항시 켜두는 친구니 거기에 올려두자.. 하고 미뤄뒀다가 까먹고 있었다.(내가 미쳤지 미쳤어..)
개인적인 친분으로 무료로 호스팅을 진행해주고 있기는 했는데,
이제는 외부 클라우드로 이전을 하던지, 비용을 청구하던지 하긴 해야해서 원만한 합의를 했다.
결론적으로는 우리집에서 운영을 하는 것이 합리적이라는 결론이라 Docker 컨테이너화해서 운영하는 것으로 결정했다.
그렇게 운영 중이던 서비스들을 전부 100% Docker 컨테이너화하고,
개발 환경은 전부 MacBook Pro로 이전하였다.
의도치 않게, 이 과정에서 Docker 및 Git을 완벽하게 주무를 수 있게 되긴 했다.
| 목적 달성 평가
새 NAS 시스템(홈 서버) 이전을 결정하면서 목표했던 것들이다.
편의성과 보안성을 높이기 위한 것들은 거의 완벽하게 달성했다고 자부한다.
기존 라우터에 오픈된 포트가 20여개 정도 있었는데, 줄이고 줄이고 또 줄이다보니 지금은 겨우 4개가 열려있다.
예전에는 이곳 저곳 서비스가 어디에 있는지 몰라 헤멨는데, 이제는 그냥 Proxmox에 접속해서 명령어 몇 줄 치면 해결할 수 있게 되었다.
하나의 호스트에 모두 Docker 컨테이너화해서 서비스를 운영하니, 네트워크 병목현상이 정말 눈이부시도록 개선되었으며,
NVMe SSD 하나를 효율적으로 사용할 수 있게 되면서 모든 DB가 이제 NVMe SSD 환경에서 운영되게 되었다.
UPS의 경우 조금 더 알아보고 준비를 해야하고(Proxmox와 호환성 고려),
전력 낭비는 줄어들었을지 확인을 아직 못해봤다. (아마 줄어들었을 것 같다.)
| 남은 과제와 덧붙이는 말
이외에 추가적으로 남아있는 작업은 아래와 같다.
- Tailscale에 의존 중인 VPN 환경을 Docker 컨테이너로 이전하여 WireGuard 환경으로 변경
- 배포 자동화(운영 중인 업무 자동화 도구, 본인 업무 전산 및 고객사 서비스 등등)
- Minecraft 게임서버 (요즘 사용을 안한다고 해서 미루는 중)
- AirPrint 서버 (솔루션 고민중, CUPS를 쓰지 않을까.)
- CPU 터보부스트 설정 OFF (저전력 세팅)
- CPU 쿨러 교체(RGB 시선강탈 이슈)
생각보다 귀찮은 것들만 남아있네
덧붙이는 말은, 의외로 VM을 쪼개는 것이 편리할 줄 알았는데,
서비스별로 VM을 쪼개려니 RAM 사용 압박도 심하고 자원도 낭비되는 느낌 및 통합관리환경의 이점을 누리지 못하는 것 같아서..
자원을 한 Ubuntu VM에 몰빵하고, 권한을 달리해서 좀 빡세게 설정을 진행해두었다.
그 결과, 10GB 정도 사용해야했던 기존과 달리 메모리 4GB를 30% 정도 사용하는 결과를 낳았다(...)
| 흡족하군!
부품 | 모델명 | 수량 | 비용(배송료포함) | 비고 |
CPU | Intel i3 8100 | 1 | 45,000 | 중고 |
FAN | 3RSYS Socoool RC310 | 1 | 18,800 | 새 제품 |
M/B | AsRock H310M-HDVM.2 | 1 | 40,000 | 중고 |
RAM | Samsung DDR4 2666 32GB | 1 | 74,000 | 중고 |
SSD | SK Hynix GOLD P31 | 1 | 66,250 | 새 제품 |
HDD | WD Elements 8TB | 1 | 0 | 기존 것 재사용 |
CASE | SRSYS S403 Quiet | 1 | 69,820 | 새 제품 |
PSU | 500W | 1 | 0 | 동생 것 재사용 |
계 | 313,870 |
이후 Synology를 메모리까지 300,000원에 판매하였다.
NUC는 아직 팔지도 않았는데 14,000원에 새 NAS로 교체한 셈이 되었다 (ㄷㄷㄷ)
저놈의 CPU 쿨러가 RGB로 시선강탈을 시전하는 바람에,
엄마가 자꾸 뭔 컴퓨터를 24시간 켜두냐고 물어보시는데..
울 아빠가 편리하게 미스트롯을 보고, 울 엄마가 편리하게 서진이네를 보게 해주던 Plex가 사실은 Synology에서 돌아가고 있었고,
우리 식구들이 편리하게 쓰는 'OK Google, 엘리베이터 불러줘' 명령이 사실은 4년동안 NUC에서 돌아가고 있었다는 것을 장황히 설명해드린 후, 저전력을 위해 이런 계획으로 진행했다고 설명해드렸더니 이해해주셨다.
결론적으로 전보다 전기를 더 쓰는줄 알았는데 덜 쓰는 것임!
무엇보다 통합환경이 주는 관리의 용이성이 참 테크충 개발자의 마음을 평안케한다.
역시 미니멀리즘이 최고. 대-만족임!