가상화(Virtualization)이란?
하나의 물리적인 컴퓨팅 리소스를 논리적으로 분리하여 여러 개의 가상 리소스를 생성해 사용하는 기술
서버, 스토리지, 네트워크 등 다양한 IT리소스를 가상화할 수 있으며, 클라우드 컴퓨팅의 핵심 기술이다.
가상화는 왜 필요할까?
- 서버 가상화를 통해 하나의 물리 서버에서 여러 가상 서버를 배치하여 하드웨어 리소스를 효율적으로 사용할 수 있다.
- 물리적인 하드웨어 수를 줄일 수 있어 초기 구축 비용 및 유지 관리 비용을 절감할 수 있다.
- 각 가상 리소스들은 격리되어 있어 하나의 가상 리소스에 자앵가 발생해도 다른 가상 리소스에 영향을 미치지 않는다.
- 가상 리소스를 필요에 따라 빠르게 생성하거나 삭제할 수 있어 인프라 운영이 유연해진다.
- 가상 리소스는 소프트웨어 기반이기 때문에 장애 복구가 용이하고 가용성을 높일 수 있다.
서버 가상화란?
가장 일반적인 가상화 형태, 여러 개의 가상 머신(Virtual Machine) 으로 나누는 기술이다.
VM을 활용하면 하나의 물리서버에서 여러 운영 체제를 실행할 수 있으며, 각 VM은 독립적으로 운영된다.
이 때 VM은 게스트, VM이 실행되는 물리 서버는 호스트라고 한다.
하이퍼바이저(Hyperviosr)는 물리 서버에 설치되는 가상화 소프트웨어로, 하드웨어로부터 VM에 필요한 CPU, 메미로 등의 리소스를 할당하고 VM들이 서로 격리되어 동작할 수 있도록 관리하는 역할을 합니다. 하이퍼바이저는 실행 위치에 따라 Type 1과 Type 2로 나뉜다.
Type1은 Native 또는 베어메탈 하이버바이저라고도 하며, 하드웨어에서 직접 실행되어 별도의 호스트 OS가 필요없다. 일반적으로 *엔터프라이즈 데이터센터에서 사용하며 KVM과 Microsoft의 Hyper-V 등이 대표적인 예시입니다.
Type2는 Hosted 하이퍼바이저라고도 하며, 호스트 OS위에서 하나의 애플리케이션으로 실행된다. 개인용 PC나 개발 환경에서 주로 사용하며 Oracle VirtualBox와 VMware의 Workstation 등이 대표적인 예시이다.
VM과 컨테이너의 차이점
VM은 하이퍼바이저를 통해 호스트 시스템에서 다수의 게스트 OS를 동시에 실행하는 기술이다.
VM은 다양한 OS를 실행할 수 있고 높은 수준의 격리를 제공하지만, 게스트 OS를 포함하기 때문에 무겁고 성능이 느리다.
컨테이너는 호스트 OS의 커널을 공유하며, 컨테이너 이미지를 통해 애플리케이션을 실행하는 기술이다.
컨테이너는 VM보다 가볍고 빠른 성능, 높은 확장성을 보이지만, 커널을 공유하기 때문에 보안에 취약하고 호스트 OS와 동일한 환경으로 구성해야 하는 단점이 있다.
다양한 OS가 필요한 환경이거나 높은 격리 수준이 중요할 경우 VM을 사용하고, 빠른 배포와 확장이 필요한 클라우드 네이티브 환경이거나 마이크로서비스 아키텍처를 활용할 경우 컨테이너를 사용할 수 있다. 하지만 VM과 컨테이너는 서로 대체하는 기술이 아니기 때문에 VM위에서 컨테이너를 실해하는 방식과 같이 목적에 따라 함께 활용할 수도 있다.
* 엔터프라이즈 데이터 센터는 조직의 라우터, 스위치, 서버, 방화벽 및 크리티컬 애플리케이션을 활성화하고 데이터를 저장 및 처리하는 기타 구성 요소를 수용하는 물리적 시설입니다.
'시스템엔지니어 > CS와 이것저것' 카테고리의 다른 글
[백엔드] 멀티 스레딩 (0) | 2025.04.17 |
---|---|
[백엔드] RDB 페이징 쿼리의 필요성 (0) | 2025.04.16 |
[하드웨어 ] MCP(Model Context Protocol)가 가져오는 하드웨어 변화(데이터센터) (0) | 2025.04.15 |
[네트워크] NIC, L2 Frame, LAN 카드, MAC주소 (0) | 2025.04.13 |
[데이터센터] BSC란? (Basic Struscture Cabling) (0) | 2025.04.13 |