철학 주관적으로는 실제 있는 것처럼 보이나 객관적으로는 존재하지 않는 거짓 현상
가상화 컴퓨팅 기술
실제로 존재하는 컴퓨터가 아니지만 마치 존재하는 것처럼 만들어주는 기술
- 하나의 컴퓨터에서 여러 대의 컴퓨터를 실행할 수 있음
- 컴퓨터의 성능이 좋을 수록 더 많은 컴퓨터 실행 가능
하나의 컴퓨터에서 여러 서버 프로그램을 실행하였을 경우?

- 하나의 프로그램에서 문제가 생기면, 다른 프로그램에도 영향을 끼칠 수 있다.
- 예로 하나의 프로그램의 사용량이 급증해 리소스를 소모하게 된다면, 다른 프로그램의 운영에도 영향을 끼치게 된다.
하나의 컴퓨터에서 가상 환경으로 여러 프로그램을 실행시키면?

- 하나의 프로그램에서 에러가 발생해도, 다른 프로그램에 영향을 끼치지 않음
- 하나의 환경에서 리소스 사용이 급증해도, OS 한 대의 사용량이 제한되어 있기에 다른 프로그램에 영향을 끼치지 않는 것
하드웨어를 여러 대 사용하지 않고, 복잡하게 가상화 기술을 사용하는 이유
- 하드웨어의 성능은 증가하고 있고, 소프트웨어 요구 사항은 감소
- 낮은 사양의 컴퓨터를 여러 대 사용하는 것 보다, 높은 사양의 컴퓨터를 한 대 사용하는 것이 가격, 설치 공간, 설치 인력, 서버 운영, 하드웨어 사이즈나 배선 등에서 이점
엔터프라이즈 서버 운영 방식
- 베어메탈(Baremetal) 방식 : 물리적인 하나의 서버 위에 하나의 OS를 설치하여 여러 개의 소프트웨어를 실행
- 하이퍼바이저 방식
- 컨테이너 방식
→ 하이퍼바이저 방식과 컨테이너 방식은 가상화 기술을 활용한 서버 운영 방식으로 아래에 더 자세한 설명을 추가함

하이퍼바이저란?
- 컴퓨터에 설치되는 프로그램으로 OS에서 가상화 환경을 만들고 관리한다.
- 사용자가 지정해둔 CPU나 메모리 만큼 컴퓨터 내에 격리된 공간을 만들어 낼 수 있다.
- 하이퍼바이저에서 실행 버튼을 통해 가상 환경에서 CPU와 메모리를 사용하게 됨

하이퍼바이저에서의 주요 개념
- 호스트 OS : 물리적인 서버에 설치되어 있는 OS
- 게스트 OS : 호스트 OS를 논리적으로 나눈 격리된 OS (=가상머신에 올린 OS)
하이퍼바이저에서의 가상 환경 동작 과정
- 엔터프라이즈 환경에서 서버에 호스트 OS를 설치
- 가상화를 사용하기 위해 호스트 OS에 하이퍼바이저를 설치
- 하이퍼바이저에서 가상 머신을 만들어 게스트 OS를 실행
- 게스트 OS에 실제 실행을 원하는 프로세스를 운영
호스트 OS와 게스트 OS가 다를 떄 생기는 문제를 해결해주는 하이퍼바이저
프로세스가 하드웨어를 사용하기 위해서는 OS를 거쳐야만 사용할 수 있다.
Kernal : 프로세스가 하드웨어 사용 요청을 위해 거치는 중간 다리
- 하드웨어 리소스 사용은 민감한 내용이기에 안전 장치로서 중간에 위치
System Call : 커널이 프로세스가 요청한 하드웨어 사용 요청을 대신 전해주는 표준 소통 도구
- 각각의 OS는 다른 종류의 커널을 사용하며, System Call 또한 각각 다르다.
- 따라서 게스트 OS와 호스트 OS가 다르면, 호스트 OS는 게스트 OS에서 전달받은 System Call을 이해하지 못해 요청을 처리할 수가 없다.
→ 하이퍼바이저가 다른 커널 간 System call을 통역해주는 통역가 역할을 수행한다. 이를 통해 가상 환경에 격리된 OS를 만들어 내면서도, 호스트 OS와 다른 종류의 게스트 OS도 사용할 수 있는 것이다.

[이 블로그에 정리된 Docker 관련 자료는 인프런 데브위키님의 강의 내용을 바탕으로 작성되었습니다.]
'Docker > SECTION_1 가상화기술' 카테고리의 다른 글
도커(DOCKER) (0) | 2024.07.13 |
---|---|
컨테이너 가상화 (0) | 2024.07.13 |
철학 주관적으로는 실제 있는 것처럼 보이나 객관적으로는 존재하지 않는 거짓 현상
가상화 컴퓨팅 기술
실제로 존재하는 컴퓨터가 아니지만 마치 존재하는 것처럼 만들어주는 기술
- 하나의 컴퓨터에서 여러 대의 컴퓨터를 실행할 수 있음
- 컴퓨터의 성능이 좋을 수록 더 많은 컴퓨터 실행 가능
하나의 컴퓨터에서 여러 서버 프로그램을 실행하였을 경우?

- 하나의 프로그램에서 문제가 생기면, 다른 프로그램에도 영향을 끼칠 수 있다.
- 예로 하나의 프로그램의 사용량이 급증해 리소스를 소모하게 된다면, 다른 프로그램의 운영에도 영향을 끼치게 된다.
하나의 컴퓨터에서 가상 환경으로 여러 프로그램을 실행시키면?

- 하나의 프로그램에서 에러가 발생해도, 다른 프로그램에 영향을 끼치지 않음
- 하나의 환경에서 리소스 사용이 급증해도, OS 한 대의 사용량이 제한되어 있기에 다른 프로그램에 영향을 끼치지 않는 것
하드웨어를 여러 대 사용하지 않고, 복잡하게 가상화 기술을 사용하는 이유
- 하드웨어의 성능은 증가하고 있고, 소프트웨어 요구 사항은 감소
- 낮은 사양의 컴퓨터를 여러 대 사용하는 것 보다, 높은 사양의 컴퓨터를 한 대 사용하는 것이 가격, 설치 공간, 설치 인력, 서버 운영, 하드웨어 사이즈나 배선 등에서 이점
엔터프라이즈 서버 운영 방식
- 베어메탈(Baremetal) 방식 : 물리적인 하나의 서버 위에 하나의 OS를 설치하여 여러 개의 소프트웨어를 실행
- 하이퍼바이저 방식
- 컨테이너 방식
→ 하이퍼바이저 방식과 컨테이너 방식은 가상화 기술을 활용한 서버 운영 방식으로 아래에 더 자세한 설명을 추가함

하이퍼바이저란?
- 컴퓨터에 설치되는 프로그램으로 OS에서 가상화 환경을 만들고 관리한다.
- 사용자가 지정해둔 CPU나 메모리 만큼 컴퓨터 내에 격리된 공간을 만들어 낼 수 있다.
- 하이퍼바이저에서 실행 버튼을 통해 가상 환경에서 CPU와 메모리를 사용하게 됨

하이퍼바이저에서의 주요 개념
- 호스트 OS : 물리적인 서버에 설치되어 있는 OS
- 게스트 OS : 호스트 OS를 논리적으로 나눈 격리된 OS (=가상머신에 올린 OS)
하이퍼바이저에서의 가상 환경 동작 과정
- 엔터프라이즈 환경에서 서버에 호스트 OS를 설치
- 가상화를 사용하기 위해 호스트 OS에 하이퍼바이저를 설치
- 하이퍼바이저에서 가상 머신을 만들어 게스트 OS를 실행
- 게스트 OS에 실제 실행을 원하는 프로세스를 운영
호스트 OS와 게스트 OS가 다를 떄 생기는 문제를 해결해주는 하이퍼바이저
프로세스가 하드웨어를 사용하기 위해서는 OS를 거쳐야만 사용할 수 있다.
Kernal : 프로세스가 하드웨어 사용 요청을 위해 거치는 중간 다리
- 하드웨어 리소스 사용은 민감한 내용이기에 안전 장치로서 중간에 위치
System Call : 커널이 프로세스가 요청한 하드웨어 사용 요청을 대신 전해주는 표준 소통 도구
- 각각의 OS는 다른 종류의 커널을 사용하며, System Call 또한 각각 다르다.
- 따라서 게스트 OS와 호스트 OS가 다르면, 호스트 OS는 게스트 OS에서 전달받은 System Call을 이해하지 못해 요청을 처리할 수가 없다.
→ 하이퍼바이저가 다른 커널 간 System call을 통역해주는 통역가 역할을 수행한다. 이를 통해 가상 환경에 격리된 OS를 만들어 내면서도, 호스트 OS와 다른 종류의 게스트 OS도 사용할 수 있는 것이다.

[이 블로그에 정리된 Docker 관련 자료는 인프런 데브위키님의 강의 내용을 바탕으로 작성되었습니다.]
'Docker > SECTION_1 가상화기술' 카테고리의 다른 글
도커(DOCKER) (0) | 2024.07.13 |
---|---|
컨테이너 가상화 (0) | 2024.07.13 |