가상화: 두 판 사이의 차이
기술노트
(Gemini 벌크 업로더로 자동 업로드) |
(차이 없음)
|
2025년 9월 6일 (토) 05:05 기준 최신판
🖥️ 가상화 (Virtualization)
가상화는 하나의 물리적인 하드웨어(컴퓨터, 서버) 리소스를 논리적으로 여러 개로 분할하여, 여러 개의 가상 환경(Virtual Machine, VM 등)이 동시에 실행될 수 있도록 만드는 기술입니다. 이를 통해 물리적 하드웨어의 활용률을 극대화하고, IT 인프라를 유연하게 관리할 수 있습니다.
🤔 가상화는 왜 필요한가?
과거에는 하나의 서버에 하나의 운영체제(OS)와 하나의 애플리케이션만 설치하여 사용하는 것이 일반적이었습니다. 이 경우, 서버의 CPU나 메모리 자원이 평균 10~20%밖에 사용되지 않아 심각한 자원 낭비가 발생했습니다.
가상화는 이러한 유휴 자원을 활용하여, 하나의 서버 위에 여러 개의 독립적인 가상 서버를 생성함으로써 하드웨어 투자 비용을 절감하고 자원 효율성을 높입니다.
⚙️ 가상화의 핵심: 하이퍼바이저 (Hypervisor)
하이퍼바이저는 가상화를 가능하게 하는 소프트웨어 계층입니다. 물리적 하드웨어와 가상 머신(VM) 사이에서, 각 VM에 필요한 만큼의 CPU, 메모리, 스토리지 등의 리소스를 할당하고 제어하는 역할을 합니다.
- 타입 1 (네이티브 / 베어메탈) : 하드웨어 위에 바로 설치되어 하이퍼바이저가 직접 하드웨어를 제어합니다. 성능이 뛰어나며, 대부분의 엔터프라이즈 환경에서 사용됩니다. (예: VMware ESXi, Xen)
- 타입 2 (호스트형) : 윈도우나 리눅스 같은 일반적인 호스트 OS 위에 설치되어, OS를 통해 하드웨어를 제어합니다. 설치가 간편하여 개인용 PC에서 많이 사용됩니다. (예: VMware Workstation, VirtualBox)
💡 개발자 핵심 Point
- 오늘날 대부분의 클라우드 컴퓨팅(IaaS)은 가상화 기술을 기반으로 합니다. 우리가 클라우드에서 서버(인스턴스)를 생성할 때, 실제로는 거대한 물리 서버 위에 생성된 하나의 가상 머신(VM)을 할당받는 것입니다.
- 컨테이너(도커)는 가상화 기술의 한 종류이지만, OS 전체를 가상화하는 VM과 달리 OS 커널을 공유하며 프로세스만 격리하는 'OS 수준 가상화'입니다. 이 덕분에 VM보다 훨씬 가볍고 빠릅니다.
- 개발 환경을 구축할 때, VirtualBox와 같은 가상화 소프트웨어를 사용하여 로컬 PC에 리눅스 서버 환경을 만들고 테스트를 진행할 수 있습니다.