본문 바로가기

카테고리 없음

안쓰는 노트북으로 홈서버 구축하기

놀고있는 노트북을 서버로 만들면 AWS처럼 평생 나를 위한 개인 서버를 구축할수 있다.

AWS에서 서버를 사용한 적이 있는 사람은 알겠지만 한달에 6만~8만정도 드는 금액이 부담스러울수 밖에 없다.

만약 RDS같은 서버도 사용하고 쿠버네티스까지 사용하게 된다면 금액은 기하급수적으로 높아진다.

따라서 개인 서버를 구축하는것만으로도 개발자에게 많은 금액을 세이브시켜줄수 있다.

그램같은 저전력 노트북이라면 아래 블로그 포스팅을 볼때 전기세도 한달에 1500원정도들고 보관도 서랍속에 할수있으니 안성맞춤이다. 특히 서버로 쓰면 모니터를 안쓰기 때문에 가장 많은 전력을 쓰는 출력을 아낄수 있어서 아마 500원정도 나오지 않을까 예상해 본다.

 

https://tiboy.tistory.com/608

 

[전기요금]노트북 전기요금은 얼마나 나올까? 궁금하네~, LG GRAM 14, 노트북 전기세, 엘지 그램 14로

안녕하세요. 신기한 연구소입니다. 집에서 블로그도 하고, 게임도 하고, 유튜브도 보면서 거의 종일 노트북을 사용하는데요. 혹시 노트북을 사용하면 전기요금이 많이 나오지 않을까 하는 궁금

tiboy.tistory.com

 

이 서버에 도커까지 활용한다면 무궁무진하게 응용이 가능하다.

나는 다음과 같은 목적으로 개인서버를 구축하고 개발용 서버로 사용할 예정이다.

 

  1. 개인 사설 도커 레지스트리 ( 사설 도커 허브 )
  2. 데이터베이스 ( RDS )
  3. 카프카 
  4. 젠킨스, 깃랩 러너 (CI-CD 도구)
  5. 쿠버네티스

 

노트북으로 개인 서버를 구축하는 방법론을 요약하면 다음과 같다.

1. 우분투 서버를 USB에 다운로드 받고 Rufus를 사용해서 부팅가능한 USB로 만들어서 노트북에 꼳고 서버를 설치한다.

https://ubuntu.com/download/server

 

https://ubuntu.com/download/server

 

ubuntu.com

 

2. 사용하고 있는 공유기의 설정을 하기 위해서 공유기 설정 페이지에 접속한다. 나같은경우는 유플러스라서 http://192.168.219.1 로 접속했다.

3. 네트워크 설정에서 DDNS를 설정해준다

DNS(Domain Name System)는 내 아이피주소를 사람이 읽기 쉬운 naver.com 같은 형태로 매칭시켜주는 전화번호부 같은것이다. 일단 다음과 같은 사이트에서 무료로 DNS를 설정할수 있다.

https://freedns.afraid.org/

 

FreeDNS - Free DNS - Dynamic DNS - Static DNS subdomain and domain hosting

Free DNS Hosting, Dynamic DNS Hosting, Static DNS Hosting, subdomain and domain hosting. Dynamic update demonstration example (v2 interface) [~] $ curl https://sync.afraid.org/u/CyTXMbtq5cPnLjEg5vKHTPDE/ Updated demo.freshdns.com from 107.170.238.X to 50.2

freedns.afraid.org

 

DDNS는 동적 DNS인데 인터넷 제공자, ISP(Internet Service Provider, 유플러스)는 효율적인 알고리즘을 사용하기 때문에 사용자들의 아이피를 수시로 바꾼다. 그럼 이전에 설정한 DNS는 의미가 없기 때문에 DDNS를 사용해서 바꿀때마다 새 아이피를 매칭시켜줘야 하는것이다.

 

 

4. 네트워크 설정에서 포트 포워딩을 해준다

포트포워딩(port forwarding)이란 사용자가 내 DNS나 아이피의 어떤 포트로 접근했을때 그 연결을 공유기에 연결된 어떤 디바이스의 몇번 포트로 바인딩 시키는것을 만한다. 보안이나 효율을 위해서 포트번호를 다르게 설정할수도 있고 편의를 위해 외부 포트와 내부 포트를 일치시키는 경우도 있다. 나같은경우는 헷갈리지 않게 일치시켜서 사용했다.

MySQL은 3306 포트 Redis는 6379 rabbitMQ는 5672,15672 웹 애플리케이션은 8080 Docker Registry는 5000번

Kafka는 9092, 9999, 2181은 사용해서 네트워크 설정에서 NAT설정으로 가서 포트포워딩을 해줬다.

 

5. 서버에 접속해보기

 

서버에 성공적으로 접속하였고 도커를 설치하고 사용할 프로그램들을 pull 받아서 사용중이다

서랍속에 그램으로 만든서버가 24시간 돌고 있다.

( 그램자체가 발열이 적어서 딱인거 같다. 그래도 모니터는 열어둬야 한다.)

 

만약 덮개를 닫아도 서버가 꺼지지 않게 하려면 아래와 같이 설정하면 된다.

 

sudo nano /etc/systemd/logind.conf
 
HandleLidSwitch=ignore # 덮개를 닫아도 아무 작업도 안함
HandleLidSwitchDocked=ignore # 도킹 상태일때, 덮개를 닫아도 아무 작업도 안함
HandleLidSwitchExternalPower=ignore # 충전중일때 덮개를 닫아도 아무 작업도 안함

 

 

.

마치며..

서버를 구축하는 과정이 너무 재밌어서 시간가는줄 모르고 했다. 성공하고나니 다음으로 하고싶은것이 생겼다.

다음목표는 아직 서랍이 2칸 남았으니 중고 그램을 당근으로 구해서 추가로 두대의 서버를 더 구축하고 여러대의 서버를 오픈소스 쿠버네티스 클러스트로 관리하여 값비싼 쿠버네티스를 무료로 마음껏 써보는것이 목표이다.