개발/네트워크

홈서버 구축 일기1 - 하이퍼바이저?

kkap999 2024. 3. 13. 00:07
728x90

개인 플젝 진행을 위해 서버가 한 대 필요했음
처음에는 클라우드 서버로 편하게 사용하려고 AWS 프리티어로 알아봤는데, 돈이 청구된다고 하더라 이게 완전 무료가 아니고 어디까지 범위는 무료고, 사용하는 서비스가 많아질수록 또 청구되는 금액이 발생하는 모양인데, 그거를 알아보고 완벽하게 관리하기가 너무 어려워보였음 그래서 일반적인 클라우드 서버의 월간 사용료를 알아보니, 최소 사양으로 월평균 6-7만원 정도 나오더라,,,

아직 모아야 할 돈이 많은 사회 초년생인 나에게 저정도 고정지출은 꽤나 타격이 클거라고 생각했음. (넉넉잡아 연 100만원이니,,, 일본을 한 번 더 다녀올 수 있는 금액이었다 ㅡ.ㅡ)

어차피 고사양이 필요한 것도 아니고, 아직까지는 개인 공부용 플젝이기 때문에 집에서 놀고있는 노트북을 홈서버로 만들기로 하였다.

0. 노트북 사양

  • 모델명 : 인텔 파빌리온 15-cs1010TU
  • 메모리 : RAM 8G
  • CPU : i5-8265U, 4코어
  • GPU : Intel® UHD Graphics 620 (인텔 내장 GPU, 있다는거에 의의를…)
  • SSD 256G / HDD 1T
  • OS : Windows10

나쁘지 않은 듯 함

일단 윈도우가 이미 깔려있으니, 선택지는 두 개 있었다.

  1. 윈도우 위에 하이퍼바이저를 통해 Linux OS를 돌리는 방식
  2. OS자체를 초기화하고 다시 까는 방식

일단은 윈도우가 이미 깔려있기도 하고, 리스크를 최소화하여 홈서버 구축이 가능한지 테스트를 해보기 위해서 하이버파이저를 통해 리눅스 서버를 구축하기로 하였음

 

1. 하이퍼바이저(Hypervisor)

하나의 컴퓨터 하드웨어 당 하나의 OS만 실행할 수 있었던 이전의 방식과는 다르게, 하나의 물리적 머신을 다수의 가상 머신으로 분할하여 여러 운영 체제를 동시에 실행할 수 있게 해준다.

하이퍼바이저가 실행되는 하드웨어를 호스트 머신, 가상머신 안에 설치된 운영체제는 게스트OS 또는 인스턴스 라고 부른다.

1.1. 하이퍼바이저 유형

1.1.1. 제 1형 하이퍼바이저

네이티브 하이퍼바이저, 베어메탈 하이퍼바이저 … 하드웨어에 직접 설치되어 하드웨어를 게스트 OS를 설치할 수 있는 여러 개의 가상 머신으로 분할해준다.
호스트OS 없이 하이퍼바이저만을 통해 하드웨어의 리소스에 직접 접근하기 때문에 제 2형에 비해 성능이 높음
RAM의 초과/동적 할당을 지원함
ex: VMWare ESXi, Microsoft Hyper-V, KVM

1.1.2. 제 2형 하이퍼바이저

호스트(Hosted) 하이퍼바이저,,, 호스트OS 내부에 설치되기 때문에 별도의 하이퍼바이저 관리 콘솔이 필요하지 않다.
RAM의 초과/동적 할당을 지원하지 않기 때문에 리소스 할당 시 주의해야 함
ex: Oracle VM VirtualBox, VMWare Workstation, Microsoft Virtual PC

가상화 유형애 대해서는 이 링크를 참고하자 : 전가상화와 반가상화

🖥️ 반가상화와 전가상화
간단 요약하면 전가상화는 Guset OS에서 Hardware로 직접 system call을 날려 Hypervisor가 번역해주는 방식이고, 반가상화는Guest OS에서 Hypervisor로 명령을 날려(Hyper Call) Hypervisor에서 일괄적으로 system call을 수행하는 방식 전가상화는 각각의 Guest OS에서 보낸 명령을 hardwware로 전달하기 위한 Binary Translation이라는 과정을 수행해야하기 때문에 오버헤드가 발생할 수 있음 반가상화는 GuestOS가 Hypervisor에 직접 call을 날려야하기 때문에 커널을 직접 수정해줘야 함

* 별첨 : 가상화 vs 컨테이너화

지금은 HostOS인 윈도우가 이미 존재하는 상황이기 때문에, 제2형 하이퍼바이저를 이용해야 할 것 같음
무료인 VirtualBox를 이용한다.

다음 시간에 계속