나만의 홈서버 만들기 1부 : 시스템 구성

나만의 홈서버 만들기 1부 : 시스템 구성


1. 시작하며


  컴퓨터는 하루가 다르게 성장을 거듭하고점점  빠르고 강력한 성능을   있게 발전하고 있습니다언젠가부터 휴대가 가능한 노트북이 강력한 데스크톱 시스템과 맞먹게 되었고디스플레이만 있으면 스마트폰을 연동해 PC처럼   있는 시대가 열렸습니다이런 변화가 맞물려 우리 생활에  변화를 맞이한  하나  있는데요바로 클라우드입니다.


  PC보다는 스마트폰을  많이 활용하는 요즘무언가를 저장하고 기록한다는 개념은 과거와 많이 달라졌습니다예전에는  컴퓨터에 들어 있는 저장 장치에 차곡차곡 기록하고필요하다면  파일을 이메일이나 외부 저장 장치로 옮겨서 전달하는  일반적이었습니다하지만 요즘에는 어떤가요네이버 마이박스나 구글 드라이브 같은 클라우드에 파일을 저장하고스마트폰이나 PC 거치지 않고 곧바로 이메일로 전송하거나 실시간으로 열어서 확인하기도 합니다파일에 접근한다는 개념 자체가 과거와 달라졌다는  핵심입니다.




<이미지 1. HPE ProLiant MicroServer Gen10 Plus / 출처: HPE Store>


  그래서일까요서버나 보안에 대한 지식을 많이 보유하고 있지 않은 저에게도 NAS 홈서버를 만드는 방법을 문의하는 사람이 많아졌습니다. SharedIT에서 활동하시는 회원 대다수는 전문적인 지식을 가진 실무자들이 많겠지만저처럼 관련 지식이 거의 없어도 공부 차원에서 들어오는 사람도 많으리라 생각합니다서버는 단순히 개인이 아니라 소기업이나  오피스를 꾸리는 경우에도 여러모로 편리함을 안겨줍니다블로그와 같은 홈페이지 운영이나 파일을 저장하기 위한 온라인 저장소 역할 서비스 테스트를 위한 테스트 머신  활용할  있는 방향성이 무궁무진하니까요그래서 이번에는 초급자를 위해 간단히 홈서버를 만들어가는 과정을 함께 이야기해 볼까 합니다.








<이미지 2. 휴대폰과 노트북에서 접근하는 클라우드 서비스 예시 / 출처: Unsplash>



2. 서버 vs. 클라우드 장단


멋지게  서버 구성이 필요한 이유를 서술하기는 했지만 서버가 모든 사람에게 유용한  아닙니다서버를 꾸린다는 개념 자체가 부담스럽고 불필요하다고 느끼는 분도 계실  있습니다게다가 최근에는 대기업들이 다양한 클라우드 서비스를 제공하고 있으니일정 비용을 지불하고 서비스 제공자로부터 필요한 기능을 제공받고자 하는 분도 많을 겁니다그러니 서버를 직접 꾸리는 환경과 클라우드 환경에 대한 장단점도  번쯤 언급할 필요가 있어 보이네요.

 

 

서버

클라우드

비용

시스템 구성 전기세

(경우에 따라 통신비)

월 이용료 납부

확장성

1회성 비용 지불

 

기능 제공

/무료 소프트웨어 설치

(비교적 자유로움)

/무료 제공

(제한적)

운영체제

제한 없음

한정적

유지보수

필요

불필요

 

서버와 클라우드 서비스가 지닌 차이점  가장   실물입니다클라우드 서비스를 이용하는 이유는 다양하겠지만가장  이유는 업체에서 모든  관리해준다는 편의성일 겁니다서버 기능을 활용하거나 온라인 저장소 기능을 활용하는  내가 필요로 하는 기능을 제공하고추가 비용을 지불하면  많은 기능이나 자원을 사용할 수도 있습니다비록 제약은 따르겠지만 운영체제나 소프트웨어도 선택할  있는 옵션을 제공할 때도 있죠반면 서버는 직접 구성도 해야 하고운영체제나 소프트웨어나아가 제공하고자 하는 서비스를 모두 사용자가 직접 설정해야 하는 번거로움이 있습니다문제가 발생했을  유지보수 또한 사용자가 리스크를 감내해야 하죠.


  하지만 이런 불편함이 있음에도 불구하고 서버가 지니는 강점 또한 분명합니다실물이 있다는  무슨 문제가 발생했을  대응을 시도해   있다는 뜻이기도 합니다최근 판교에서 발생한 화제로 인해 생겼던 해프닝을 기억하는 분이 많이 계실 겁니다단순히 앱이나 서비스를 사용하는 입장에서는 불편을 겪는 수준이었겠지만연계되어 함께 돌아가는 계열사나 소형 회사들은 불편함을 넘어 답답함이 크지 않았을까 합니다이렇듯 대형 회사에서도 발생할  있는  서비스 문제인데클라우드 서비스를 이용한다면 갑작스레 발생할  있는 접속 장애나 데이터 손실  불안 요소를 완전히 해소하기는 어렵습니다특히 민감한 자료나 개인/회사 업무에 필요한 자료들을 저장하는 경우라면 더욱더 각별할 수밖에 없죠.








<이미지 3. 시스템 구성 예시 / 출처: Unsplash>




3. 시스템 구성


  서버라고 해서 거창하고 어렵게 여길 필요는 없습니다오래전에 컴퓨터에 대해 배웠다면 서버 - 클라이언트라는 개념을 접해봤을 텐데요사실    개념에서 컴퓨터라는  변하지 않습니다요즘에는  사용하지 않는 메인프레임이라는 개념 역시 마찬가지입니다중요한  컴퓨터로 무엇을 하느냐무엇을 제공하거나 제공받느냐의 차이일 뿐입니다.


  가정이나 소규모 회사에 서버를 두려고   가장 겁을 먹거나 걱정하는 요소는 바로 비용입니다서버라는 개념이 익숙지 않고막연하게 비싸고 거대해야 한다는 생각이 들기 때문입니다하지만 서버라고 해서 반드시 비싼 부품을 활용해야 하는  아닙니다 생각해보면 서버는 과거 2~30 전에도 존재해 왔고이는  당시 하드웨어로도 충분히 감당할  있었다는 의미입니다물론 서버 사양이 제공하고자 하는 서비스에 비해 너무 떨어진다면 속도가 급격하게 느려질 수는 있습니다그러니 내가 만들고자 하는 서버가 어떤 기능을 수행할지  고민해볼 필요는 있겠네요.


   역시 일반 데스크톱 크기의 서버부터 ITX 크기의 미니 서버까지 다양한  서버를 만들어 봤습니다심지어 초미니 PC처럼 아예 확장할  없는 플랫폼도 서버로 활용해 보기도 했는데요플랫폼과 크기에 따라 정도의 차이는 있겠지만제각각 장단점은 분명했습니다.




<이미지 4. 인텔 펜티엄 N3700 사양. TDP가 낮은 건 좋지만, 자체 성능은 높지 않은 편>




  먼저 빌트인 옵션이 대부분 내장되는 초미니 PC 프로세서 영향을 매우 크게 받습니다저장 장치야 SSD 혹은 NVMe SSD 하나 정도는 넣을  있는 모델이 많으니대용량 저장 장치 하나로 어떻게든 해결할  있습니다하지만 CPU 고유 성능이 떨어져 버리면 서버 기능을 원활하게 수행할  없는 문제가 발생합니다예를 들어 인텔 펜티엄 N3700 같은 프로세서는 분류상 쿼드 코어, CPU 코어가 4개로 구성된 제품입니다하지만 우리가 흔히 알고 있는 데스크톱 CPU보다는 훨씬 작은 크기를 지녔고캐시나 구동 주파수도 낮습니다겉으로 보기에는 똑같은 4코어라도 절대적인 성능에서는 데스크톱 CPU보다 떨어질 수밖에 없습니다.


  게다가 이런 초미니 PC 제품군에는   가지 문제가 있는데별도로 메모리를 장착할  없게 설계된 온보드 제품이 많다는 점입니다간단한  서비스를 제공하는 정도라면  문제가    있지만조금 무거운 서비스를 올려야 한다면 메모리 용량도 고민해야  요소입니다비용을 투자하더라도 확장할  없다면 문제가 발생할  있겠죠.


  반면미니 ITX ATX 플랫폼을 활용한 서버는 의외로 확장성 외에는  차이가 없습니다메인보드 규격에 따라 플랫폼 규격이 바뀔 , CPU 메모리 확장 등에는 선택의 자유가 있으니까요, 24시간 365 가동해야 하는 서버 시스템 특성상 가능하다면 크기가 커지는  좋습니다아무래도 부품이 오밀조밀하게 모이는 미니 ITX 플랫폼보다는 ATX 메인보드를 장착할  있는 미들 타워 케이스가 통기성 면에서  유리하니까요집에 PC 본체를 추가로  장소가 협소하거나 부담스럽다면 미니 ITX 시스템 역시 고려해보는  좋습니다 경우도 PC 본체를 추가로  장소가 애매해서 점점 작은 크기의 시스템을 고려하기 시작했는데결국 미니 ITX 플랫폼으로 서버를 꾸리게 됐으니까요.




<이미지 5. ITX 규격을 지닌 케이스 예시, JONSBO V11 SILVER / 출처: 브라보텍>




  CPU 메모리는 자유롭게 선택하셔도 좋지만가능하다면 DDR4 활용하는 플랫폼을 추천해 드리고 싶습니다이유는 단순합니다유지 보수 측면에서 DDR3  제품을 구하기가 어렵고, DDR5 너무 비싸기 때문입니다. CPU 상위 라인업으로 갈수록 좋아지는  당연하겠지만여기서 발생하는 열을 해소할 쿨링 성능이나 전력 소모량도 고려해야 합니다 많은 밥을 먹여야  많이 일할  있는  컴퓨터 관점에서 당연한 이야기입니다그래서 이런 모든  고려한다면 인텔 T 라인업(: Core i5-10400T) AMD 하위 라인업(: Ryzen 5 3600, 5600) 적당할  있습니다인텔 T 라인업은 국내에서 구하기가 어렵고라이젠 하위 라인업은 TDP 65W 속해 전력 면에서 착한 수준은 아닙니다.




<이미지 6. ASUS UEFI BIOS 설정 모습. CPU Core Ratio만 조작해도 간단히 클록을 조절할 수 있다.>



  여기서 선택할  있는  하나의 방법은 클록 조정입니다오버클록이 아니라 언더클록 설정이 필요한데요데스크톱 용도로 출시하는 메인보드라면 대부분 클록을 낮추는  가능합니다만약 컴퓨터에 대한 이해도나 부차적인 설정이 난해하다면 단순히 클록만 낮춰도 좋고조금  상세하게 접근하는  가능하다면 전압도 함께 조절해주면 전력 효율을 끌어올리는  도움이 됩니다서버는 오랜 시간 꺼지지 않고 기동해야 한다는 특성이 있습니다가능하다면 클록을 낮추는 정도로만 조절하는  추천해드리고 싶습니다개인이나 소규모 회사라면 전기세 또한 무시할  없는 요소입니다부담되지 않는 선에서 CPU 메인보드를 선택하고 전력량을 최적화할  있다면  서버 용도로 적합하지 않을까 하네요.


  제가 현재 집에서 사용 중인 미니 서버에는 Ryzen 5 5600G 활용했으며클록을 2.0 GHz 수준으로 제한해 두었습니다이때 모든 CPU 100% 로드를 걸면 모니터링 상으로 패키지 전력이 20W 내외 수준으로 나옵니다일반적으로는 모든 CPU 100% 사용하지 않으니 평균 전력량은  낮은 셈이며실제로 전기세는 부담스럽지 않은 선에서 해결하고 있습니다.




<이미지 7. 하드 디스크 예시 / 출처: Pixabay>



  저장 장치 역시 중요한 선택 요소입니다용도에 맞게 구매하는  가장 중요하겠지만하드디스크와 SSD, NVMe SSD  적절한 제품군을 먼저 선정할 필요가 있습니다예를 들어 1Gbps 환경 수준으로 구성한다고 가정한다면비싼 돈을 들여가면서 SSD NVMe SSD 구매할 필요는 없습니다일반적으로 하드디스크 연속 읽기 속도는 100MB/s 넘어서기 때문에 대역폭을 최대한 활용하는  가능하니까요만약 대용량 스토리지가 필요한 환경이라면 용량이  단일 하드디스크 쪽이 유리하며백업을 고려한다면 같은 제품을 2 준비하는  활용도가 높습니다, 2.5Gbps 5Gbps, 나아가 10Gbps 활용하면서 외부 입출력이 많다면 SSD NVMe SSD 고려할 필요는 있습니다서버 시스템 내부에서 빌드를 진행하는  특정 작업이나 업무를 대행하기 위한 서버 용도 역시 SSD NVMe SSD 선택하는  효율성이 좋습니다.




<이미지 8. Synology DS420+ NAS / 출처: Synology>



마지막으로 시스템 구성에서 고민할 점은 완제품입니다서버라는 개념을 부담스럽게 여기는 사람이 많겠지만, HP ProLiant MocroServer 시리즈부터 시놀로지/QNAP NAS 같은 제품군도 서버 용도로 활용하는  가능합니다오히려 부품을 모아서 조립하고 직접 유지보수를 겪어야 하는 상황보다 편의성 면에서도 뛰어날  있습니다이미 조립돼있는 시스템을 그대로 사용하면 되니 복잡한 과정도 다소 간편해진다는 장점도 있겠네요완제품은 서비스 측면에서는 유용하지만 부품에 대한 가성비를 논하기는 조금 어려워질  있습니다.








<이미지 9. 운영체제 예시, Microsoft Windows 11 / 출처: Unsplash>




4. 운영체제 선택 / 장단점 비교


  서버를 활용할 목적과 시스템 구성을 정했다면이제는 운영체제를 선택할 차례입니다컴퓨터를 사용하기 위해서는 PC 하드웨어만 있어서는  됩니다이를 활용할 소프트웨어가 필요한데 기반이 되는  바로 운영체제입니다운영체제 종류에 따라서 내부에 설치할 소프트웨어나 설정법운용법이 천차만별로 달라지기 마련입니다기본적으로는 대다수 가정에서 사용하고 있는 마이크로소프트 윈도우로도 서버를 운영하는  가능합니다하지만 장기적인 유지보수나 기능적인 무엇보다도 자원을 최대한 활용해야 하는 서버 특성상 윈도우는 너무 무겁습니다편리하지만 자원 할애 면에서는 그리 효과적이지 않다는 이야기입니다.

 

 

윈도우 계열

리눅스 계열

UX

GUI

GUI or TUI

사용 방식

클릭

Drag & Drop

클릭

터미널

지식 요구 수준

낮음

높음

자원 사용량

높음

낮음

비용

유료

무료(일부 유료)


  운영체제는 크게 윈도우 계열과 리눅스 계열로 나눌  있습니다조금  깊이감 있게 들어간다면 유닉스나  OS 언급해야겠지만여기서는 앞서 언급한  종류로 구분하겠습니다윈도우 계열은 우리가 일상적으로 활용하는 만큼 사용이 간편하다는 강점이 있습니다기본적으로 소프트웨어를 실행하거나 작동하기 위해 클릭  번으로 대다수 업무를 수행할 수도 있죠하지만 GUI 형태로 표현해야 하는 만큼 리눅시 계열 운영체제에 비해 상대적으로 무겁다는 단점도 있습니다지식 요구 수준이 낮지만사실 서버 형태로 운용하기 위한 요구 지식은 별개라는 점도 고민할 요소일  있겠네요무엇보다도 비용이 들어갑니다윈도우 10이나 11 버전이라면  버전을 기준으로 하더라도 15 원에 근접합니다소프트웨어에 따라서 추가 비용도 들어갈 수도 있습니다.


  리눅스 계열 운영체제는 윈도우 계열 운영체제와 완전히 반대편에 있다고 생각하면 이해가 빠릅니다물론 리눅스라고 해도 X윈도우 기반 시스템을 활용한다면 얼마든지 윈도우 계열 운영체제와 비슷하게 사용할  있습니다서버로 활용한다면 불필요한 자원을 잡아먹을 뿐이니일반적으로는 텍스트 기반 인터페이스(TUI) 사용하는 편입니다소프트웨어를 실행하거나 특정 파일을 수정하거나 시스템 명령을 내리기 위해서 모든 내용을 텍스트로 작성해야 합니다이게 리눅스 계열 운영체제 진입을 가로막는 가장  이유이기도 하죠.




<이미지 10. 대표적으로 사용되는 리눅스 배포판>


  리눅스 계열이라고 뭉뚱그려 표현했지만사실 리눅스 안에서도 여러 갈래로 나뉩니다대표적으로 데비안슬렉웨어레드햇 정도로 구분할  있을 텐데배포판 별로 시스템 명령어 사용 방법이나 장단점들이 각기 다릅니다리눅스 계열 운영체제에 접근이 매우 어려워지는 이유이기도 한데이런 난해함을 고려하더라도 리눅스 입문을 원한다면 우분투서버나 CentOS 배워보는  추천해드리고 싶습니다가장 흔하게 사용하는 리눅스 배포판이기도 하고다른 운영체제에 비해 온라인에서 레퍼런스를 검색하기도 편하기 때문입니다무엇보다도 리눅스 계열 운영체제가 지닌 가장  장점은 기본적으로 무료라는 점입니다일부 배포판은 기업용 업데이트 지원 등을 위해서 유료 버전으로 판매하기도 하지만앞서 언급한 우분투서버나 CentOS 같은 서버용 운영체제는 무료로 배포하고 있으니  부담 없이 설치해볼  있습니다 서버는 비용적인 부분을 고려하지 않을  없으니  역시도 중요한 선택지  하나가 되겠네요.


  자원 사용량에 크게 연연하지 않고파일 공유처럼 사용하고자 하는 기능인 단순하다면 윈도우 계열 운영체제를 선택해도 좋습니다 & 소규모 서버를 만들고자 하는 주된 이유는 편의성이 가장  테니까요. NAS 개념으로 서버를 활용하고자 하거나 단순 기능만을 꾸릴 생각이라면 아무래도  다룰  있는 운영체제를 선택하는  좋을  있습니다.








<이미지 11. 그물에서 유래된 네트워크는 그 이름만큼 복잡하게 얽혀 있다 / 출처: Unsplash>




5. 서버 & 네트워크 구성 개념 이해


  이번 기고에서 다루고자 하는 마지막 요소는 네트워크 구성에 대한 이야기입니다좋든 싫든 서버를 운영하기로 결심했다면 네트워크 구성 역시 고려할 사항이 많습니다규모가 크지 않다면 가정이나 소형 사무실에서 사용하는 네트워크망을 그대로 활용하는 방법도 있습니다혹은 서버 구성을 위해서 독자적인 라인을 제공하는 방법도 있겠네요해당 기고 내용에서는 가정에서 활용하는  전제로 하는 만큼 하나의 망을 사용하는 걸로 예시를 들겠습니다.

※ 통신사 정책에 따라 1회선으로 활용 가능한 PC 숫자가 다릅니다이에 관해서 통신사에 문의해보는 게 정확합니다.



  대한민국 스마트폰 보급률이 1인당 1개를 초과한 지도 제법 오래되었다고 합니다그렇기에 집에서  접속을 위해서 자연스럽게 필요한 구성요소가 하나  있습니다바로 유무선 라우터다르게 표현하자면 공유기입니다. SKB, KT, LGU+ 같은 메이저 통신망을 사용하고 있다면 보통 해당 ISP에서 제공하는 공유기를 대여하는 방식을 많이 사용할 텐데요 경우 포트 포워딩을 비롯해 각종 설정에 접근하지 못할  있습니다. 1회선으로 컴퓨터와 서버를 동시에 사용하기 위해서는 필연적으로 공유기 사용이 필요하고특정 포트로 접근을 허용하기 위해서는 별도 설정이 뒤따라야 합니다따라서 아래와 같은 구조도가 필요해질  있습니다.


 1) 2회선을 사용할 외부 회선 → 서버 직접 연결

 2) 1회선을 사용할 외부 회선 → 공유기 → PC / 서버 별도 연결 (포트 포워딩 필요)


  서버에 접근하기 위해서는 공유기에서 입출력 정보를 제어해야 하며이를 위해서는 사용자가 공유기 설정에 접근할  있어야 합니다만약 통신사로부터 받은 공유기 설정 메뉴에 접근할  있다면 그대로 사용해도 무방합니다하지만 그게 아니라면 별도 공유기가 필요합니다공유기와 반대 개념으로 스위칭 허브가 있는데구매하실  착각해서는  됩니다라우터는 외부 회선으로부터 받는 신호를 사설망으로 변경해 내부망으로 분배하는 구조라면스위칭 허브는 분배기 역할만을  뿐입니다내부망 구성을 늘리기 위해 공유기 밑에 스위칭 허브를 붙이는  가능하겠지만얼핏 외형이 비슷해서 착각할  있으니 유념하셔야 합니다.








<이미지 12. 홈 서버를 위해 알아야 할 건 아직 많습니다 / 출처: Unsplash>




6. 마치며


   서버 구성은 컴퓨터에 대한 지식과 네트워크에 대한 지식그리고 서버 애플리케이션에 대한 지식을 모두 요구합니다의외로 알아둘 지식이 많다는 의미입니다그래서인지 주변에서도 NAS 하나 만들어서 쓰고 싶다거나  서버를 구현해보고 싶다는 말은 종종 들어도정작 시도하고 완수해내는 사례는 극히 드뭅니다 글을 읽는 분이라면  서버를 만들고 싶은 욕구는 있어도 어떻게 해야 할지 몰라 참고하기 위한 분이 많으리라 생각합니다그런 여러분에게 드리고 싶은  마디가 있습니다포기하지 마세요의외로 하나하나 파헤쳐 나가다 보면 생각만큼 어렵지 않습니다.


   역시도 SharedIT에서 많은 정보를 얻어가는 만큼 IT 초보자를 위한 유저 리뷰가 있어도 괜찮지 않을까 생각하면서 글을 구성해봤습니다만약 그런 초보자가 있어서 미약하게나마 힘이 되었다면 정말 기쁘겠네요파트1에서는 구성에 대한 이야기가 주였다면파트2에서는 서버 구성에서 가장 기초가 되는 웹서버 튜토리얼을 작성해보고자 합니다. SharedIT에는 실무를 다루는 분이 많은 만큼 제가 작성한 내용에서도 부족한 점을 여럿 찾으실  있습니다만약 부족한 점이 보인다면 댓글로 의견을 주세요본문을 참고하고자 하는 초보 & 입문자에게도  도움이 되지 않을까 합니다.


태그가 없습니다.

2개의 댓글이 있습니다.

일 년 이상 전

좋음 글 감사합니다

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

일 년 이상 전

자료 감사합니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입