서버/홈서버

[홈서버구축하기 1] 홈서버를 구축 한 이유

for2gles 2024. 1. 6. 20:33
반응형

홈서버 구축하기 시리즈


출처: https://www.ilovepc.co.kr/news/articleView.html?idxno=1282

 

홈서버를 구축 한 이유

사실 내가 처음에 홈서버를 구축하기로 마음 먹은이유는 정말 단순했다.
바로 월마다 내 지갑에서 쑉쑉 빠져나가는 "월 서버 유지 비용" 때문이다.
그리고 복선이 되겠지만, 이 때 까지만 해도 이 새로운 도전이 이렇게 큰 작업이 되고 큰 경험이 될 줄은 꿈에도 몰랐다.

지출은 더더욱이나


만약에 홈서버를 구축하고자 한다면, 이 글들을 정독 후에 판단해도 좋을 것 같다.

홈서버를 구축 하기 이전에 iwinv > AWS

홈서버를 구축 하기 이전에 나는 나만의 서비스를 하나 구축하고 있었다.
해당 서비스는 꽤나 많은 전처리 작업이 필요했다.

  1. 꽤나 많은 양의 데이터를 데이터베이스에 저장해야한다.
  2. 저장 한 데이터들을 전처리 및 매핑하는 작업이 필요하고, 작업 이후 별도의 데이터로서 저장한다.
  3. 데이터 최신화 작업을 하루에 수차례 작업한다.

등등의 작업을 하기위해 CPU를 많이 소비하였고, DB의 IO 또한 많이 사용하는 서비스였다.

 

처음에는 iwinv라는 호스팅 업체를 사용하여 해당 서비스를 운영을 했었었다.
2개의 vps 서버를 사용하고, 1개의 DB 호스팅을 사용했었다.
iwinv를 사용 한 이유는 AWS 등 다른 호스팅들과 비교했을 때 저렴 한 가격이었다.
하지만 아래와 같은 단점 또한 존재했다.

  • CPU, Memory 등의 메트릭을 확인하기 어렵다.
  • 클라우드 DBMS 의 경우 자유로운 스토리지 용량 조절이 불가했다.
  • 백업을 알아서 하거나 개인에게 꽤나 높은 비용을 지불해야한다.

특히 내가 사용하던 DB 호스팅인 클라우드 DBMS의 경우 내가 사용한 cpu 및 메모리 등 이런 메트릭을 전혀 확인할 수 없었다.(지금도 그러한지는 모르겠다.)
단순히 내가 원하는 작업들이 느린건지 확신할 수 없었던 와중에 이전글에 적은 것 처럼
# Iwinv 에서 AWS Lightsail 과 EC2로 서버이전하기1
서비스들을 AWS로 이전하기로 마음먹게 되었다.

AWS > 홈서버로 가게 된 계기

사실 서비스를 AWS로 이전을 하고 너무 심한 충격을 받게 되어 블로그 글 연재를 중단 한 기억이 있다.

사실 AWS로이전을 시도해보고 실패 할 상황을 대비해서, iwinv도 계속적으로 운영을 해두었어야하는데, 개인으로서 월 비용이 부담되었던 나는 aws에서 서버가 잘 작동하는것을 확인하자마자 이미 iwinv에서의 서비스들을 모두 지워버렸다.

AWS로 서비스를 이전을 하고나니 iwinv에서 제공 해 주던 리소스가 가격대비 정말 좋았다는 것을 느꼈다.

 

AWS EC2 인스턴스에서 서버를 운영하고, 동시에 DB도 운영했었다.
이전작업 이후 문제가 없을것이라 생각을 하고, 며칠 후에 확인해보았는데 데이터 처리 작업이 거의 진행되지 않은 것이었다.

 

서버 상태들을 자세히 확인해보니 iwinv에서 서비스를 운영했을 때는 경험 해 보지 못했던 상황인 CPU 상시 100% 이슈가 발생하고있었다.
허겁지겁 ssh에 접속하여 top 커맨드를 통해 어떤 프로세스가 cpu를 사용하고있는지를 확인 해 보니, wa 라는 수치가 굉장히 높다라는것을 확인했다..

- wa : IO가 완료될때까지 기다리고 있는 CPU 비율

출처: https://sabarada.tistory.com/146

 

CPU가 storage의 작업을 기다리는데에 모든 리소스를 사용하고있는 것 이었다.
이는 바로 AWS EBS 때문이었다.


내가 사용하던 스토리지는 gp3 방식이었는데, 3000IOPS를 기본적으로 사용할 수 있었다.
하지만 나는 스토리지에 있는 한계 이상으로 사용하고있었던것이다.

이로인해 기존에 작동하던 서비스는 사실상 중단되게 되었고, 이미 고환율 + 비싼 비용에 돈을 지불하고있던 나로서는 추가적인 지불은 사실상 어려웠다.

여기서 나는 아래의 내가 할 수 있는 방법들을 고민해보게 되었다.

  1. iwinv로 다시 복귀한다.
  2. 서비스를 종료한다.
  3. 홈서버라는 것을 시도해본다

iwinv로 다시 복귀한다.

확실하게 서버를 재가동 시킬 수 있는 방법중에 하나이다.
하지만 여전히 Metric들을 확인하기 어렵고, 용량 확장등에 제한적이라는 문제가 남아있었다.

서비스를 종료한다.

사실 이 생각은 하기 싫었다.
내 수많은 꿈 중에 하나는 여러개의 나만의 서비스를 운영하고, 엄청나게 많지는 않더라도 꾸준하게 내 서비스를 이용해주는 유저를 가지는 것 이기 때문이다.
이 난관때문에 벌써부터 포기하고 싶지는 않았다.

홈서버라는 것을 시도해본다.

나는 어렸을때부터 집에서 홈서버를 운영해보고싶은 로망이 있었다.
그래서 지금은 사실상 없어져 찾아보기 힘들지만, WiseGiga라는 저렴한 NAS가 있어서 이 제품을 굉장히 사고싶었다.
물론 당시에도 synology라는 NAS가 좋았지만, 그 때 에도 비쌌다.
상대적으로 저렴했던 wisegiga를 사기위해 엄마에게 무수히 쫄라보았지만 항상 반려당했다..

홈서버를 운영한다면 어릴적 내 꿈을 이룰 수 있는 기회도 될 수도 있고, 게다가 금상첨화로 비싼 월 서버비용을 지불하지 않아도 되는 일석이조의 환상적 콜라보였다.
다만, 홈서버를 구축할 때 큰 문제는 최초에 큰 비용이 한번에 든다는 문제가 있다.
하지만 당시 월 6만원정도의 큰 비용을 이미 지불하고 있었고, 빠르게 나는 방향을 결정할 수 있었다.

나는 홈서버를 구축한다.

이 시리즈 글을 따라하면 구축해낼 수 있는 시스템

[홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 편을 보면 이 꿈이 어떻게 변화해서 어떤 시스템이 구축되었는지 확인 해 볼 수 있다.

 

홈서버를 구축하면서 느낀점

나는 홈서버를 구축하며 OS재설치만 십수번 진행하고, 앞으로 얘기할 도커스웜 세팅도 십수번 재설정 했다.
만약에 내가 홈서버를 구축해보지 않았다면 경험해보지 못했을 정말 시간도 오래걸렸지만, 소중한 경험들이었다.
그리고 생각하던것과 달리 작동하지 않는 문제를 해결하며 컴퓨터 작동 원리에 대해 더 이해할 수 있는 기회가 되었던 것 같다.
단순히 경험을 하기만 했을 때는 나만 아는 하나의 기억에 불과하겠지만, 글로 작성하며 나 말고도 다른 개발자들이 흥미를 느끼고 도전해보는 것에 도움이 될 수 있다면 또 다른 즐거움이 될 수 있을 것 같아 글을 작성해보고자 한다.

 


반응형