데브옵스(DevOps)/Docker

서버와 가상화 기술

먹보 개발자 2025. 1. 2. 12:28

서버란

1. 서버라는 단어는 사용되는 문맥에 따라서 이해하면된다.

2. 하드웨어 서버, 소프트웨어 서버 둘 다 있다.

3. 일반적으로는 하드웨어에서 실행중인 소프트웨어라고 생각한다.

 

서버의 종류

1. 파일 서버

2. DB 서버

3. 웹 서버 (html, js, css등을 다룸)

4. 웹 애플리케이션 서버 (WAS)

 

서버 운영 방법

1. 베어메탈 

2. 하이퍼바이저

3. 컨테이너 **

===============

 

가상화 기술 

1. 물리적인 컴퓨팅 환경에서 논리적인 컴퓨팅 환경을 만들 수 있는 방법 (하나의 컴퓨터에서 여러개의 컴퓨터를 실행 시킬 수 있음)

2. 여러 소프트웨어를 하나의 OS에서 운영하는것은 지양해야한다.

3. 가상화 기술을 사용하면 한대의 컴퓨터에 여러 논리적인 OS환경을 만들 수 있고 리소스를 분배할 수 있다.

 

하이퍼 바이저

1. 컴퓨터에 설치되는 프로그램이다.

2. 가상 OS를 만들고 실행시키며 종료할 수 있다.

3. 물리적인 서버에 설치되는 OS를 호스트 OS라고 부른다

4. 하이퍼바이저는 호스트 OS의 자원을 격리해서 새로운 OS를 실행한다. 그렇게 실행한 OS를  게스트 OS라고 한다.

5. 게스트 OS는 호스트 OS의 리소스를 나눈 논리적 공간이다.

 

하이퍼 바이저 동작 원리 및 과정

1. 프로세스가 하드웨어를 사용하기위해선 OS가 필요하다

2. OS는 하드웨어를 사용하기위해서 커널이라는 도구가 설치되어있다.

3. 프로세서는 OS의 커널에게 System Call을 보내 하드웨어 리소스를 요청한다.

4. 게스트 OS가 물리적인 리소스를 요청하려면 호스트 OS의 커널로 리소스 사용 요청을 보내야하는데 OS가 다르면 요청이 가지 않는다.

5. 하이퍼 바이저가 다른 언어들 간의 요청을 통역해준다.

6. 하이퍼 바이저를 사용하면 격리된 공간을 만들면서도 호스트 OS와 다른 게스트 OS를 사용할 수 있게 해준다.

 

컨테이너 가상화

- 하이퍼 바이저보다 더 선호됨

- 가볍고 빠름

- 리눅스 커널 자체 격리 기술 사용

- 호스트 OS의 커널을 그대로 사용하기에 오버헤드가 적다