일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- q!
- container
- Ctrl
- 자격증
- 리눅스
- 이미지 레지스트리
- LS
- find
- 파일
- RM
- 셸
- 컨테이너
- image
- locate 설치 방법
- 이미지
- docker logout
- umask
- mkdir
- PS
- docker logs
- etc
- lcoate 설치
- 리눅스마스터2급
- 디스크
- 명령어
- linux
- Docker
- 레드햇
- docker create
- 도커
- Today
- Total
Bae's Digital Dialogues
도커[Docker] 가상화 기술과 하이퍼바이저 가상화 본문
가상이라는 단어는 실제로 존재하지는 않지만 마치 존재하는 것처럼 느껴지는 것을 의미한다.
가상화 기술은 컴퓨터에서 사용되는 기술인데 개념을 적용해보면 실제로 존재하는 컴퓨터가 아니지만 마치 존재하는 것처럼 만들어주는 기술이다.
가상화 기술을 사용하면 하나의 컴퓨터에서 여러 개의 컴퓨터를 실행시킬 수 있다.
사용자는 한 대의 컴퓨터만 가지고도 마치 여러 대를 가진 것처럼 사용할 수 있다.
정리하자면 가상화 기술은 컴퓨터 안에서 컴퓨터를 또 실행하는 기술이다 라고 이해하면 된다.
IT 산업에서는 실제로 존재하는 것을 물리적, 가상으로 존재하는 것을 논리적으로 존재한다 라고 표현한다.
가상화 기술을 조금 더 기술적으로 정의하면 물리적인 컴퓨팅 환경 내부에서 논리적인 컴퓨팅 환경을 만들 수 있는 기술이라고 정의 할 수 있다.
가상화 기술은 왜 사용할까?
CPU 8코어와 64GB 메모리인 성능 좋은 서버 한대를 가지고 있다고 생각해보자
가상화 기술을 사용하면 한 대의 컴퓨터에 여러 대의 논리적인 OS 환경을 만들 수 있다. 그리고 이 가상으로 만들어진 컴퓨터에는 사용자가 리소스를 직접 분배할 수 있다. 리소스를 분배한다는 것은 하나의 가상 OS가 사용할 수 있는 리소스의 최대값을 정해놓는 것이다. 가상화 기술을 사용하면 각각의 소프트웨어는 여러 대의 컴퓨터를 사용하는 것처럼 안정적으로 실행할 수 있다. 물리적으로는 한대의 컴퓨터를 사용해서 경제적이지만 사용자는 마치 여러 대의 컴퓨터를 사용하는 것처럼 가상 환경을 사용해서 안전하게 소프트웨어를 운영 할 수 있다. 그러면 하드웨어를 여러 대 사용하면 되지 굳이 복잡하게 가상화 기술을 사용하는 이유가 뭘까?
- 하드웨어 성능 증가 & 소프트웨어의 요구사항 감소
- 낮은 성능 여러대 < 높은 성능 한대
보통 성능이 차이 난다고 해서 하드웨어의 크기가 크게 커지는것이 아니다.
기업 입장에서는 낮은 사양의 컴퓨터를 여러 대 사용하는 것보다 높은 사양의 컴퓨터를 한대 사용하는 것이 가격이나 설치공간, 설치 인력, 서버 운영, 하드웨어 사이즈나 배선 같이 여러 면에서 훨씬 경제적이다.
이런 이유들로 가상화 기술을 써서 하나의 하드웨어를 효율적으로 활용하는 것이 엔터프라이즈 환경에서는 필수적이다. 그래서 대부분의 IT 기업이 운영 환경에서 이렇게 가상화 기술을 활용하고 있다.
2024.05.13 - [도커 공부] - 애플리케이션 서버와 서버 운영 방법론
이전 글에서는 엔터프라이즈 서버 운영 환경에 대해 글을 썼는데 여기서 두번째 세번째가 하나의 큰 서버를 여러 개의 논리적인 작은 서버로 쪼개서 사용하는 가상화 기술을 사용한 방식이다. 가상화 기술은 크게 하이퍼바이저 방식과 컨테이너 방식이 있다.
하이퍼바이저 가상화
물리적인 서버에 설치되는 OS는 호스트 OS라고 부른다. 호스트 OS에는 하이퍼바이저를 설치해서 가상환경을 만들 수가 있다. 하이퍼바이저는 호스트 OS의 자원을 격리해서 새로운 OS를 실행한다. 이렇게 설치되서 실행된 OS가 게스트 OS이다. 호스트 OS는 물리적인 하드웨어와 직접 연결되어 있다. 게스트 OS는 호스트 OS의 리소스를 나눈 논리적인 공간이다. 이 논리적으로 격리되어 있는 게스트 OS를 일반적으로 가상 머신이라고 부른다. 그리고 이 가상머신에서 이전 글에 썼던 웹서버나 WAS, DB 같은 서버 프로그램을 프로세스로 실행해서 운영한다. 프로세스는 실행중인 프로그램을 의미한다.
'Docker' 카테고리의 다른 글
도커[Docker] 이미지의 메타데이터(Metadata) (0) | 2024.05.21 |
---|---|
도커[Docker] 이미지와 컨테이너 (0) | 2024.05.20 |
도커[Docker] 컨테이너 실행 (0) | 2024.05.20 |
도커[Docker] 애플리케이션 서버와 서버 운영 방법론 (0) | 2024.05.13 |
도커[Docker] docker 컨테이너를 모두 삭제하는 방법 (0) | 2024.05.13 |