[CS] 가상화(Virtualization)
가상화란
가상화란 하드웨어, 소프트웨어를 시뮬레이팅 하는 과정입니다. 가상화의 대상은 저장소, 네트워크, 서버, 애플리케이션이 될 수 있습니다. 설명 한 줄로는 이해가 잘 안 되니 좀 더 자세히 가상화의 개념에 대해 알아봅시다.
기존의 전통적인 비즈니스/서비스 운영 방법은 하나의 기계 혹은 컴퓨터에 하나의 애플리케이션을 운영하는 방법이었습니다. 예를 들어 이메일 서비스는 윈도우 기반의 서버 컴퓨터에서 운영하고, 데이터베이스 서비스는 유닉스 기반의 서버 컴퓨터에서 운영하고, 웹 사이트 운영은 리눅스 기반의 서버 컴퓨터에서 운영하는 식이죠.
하나의 물리적인 서버로 앞서 설명한 세 가지 서비스를 모두 운영할 수 있도록 하는 방법이 바로 가상화입니다. 아래의 그림과 같이 가상화를 통해 각 세 가지 서비스를 소프트웨어화 하여 하나의 서버에서 가동할 수 있습니다.
가상 머신(VM, Virtual Machine)
가상화가 하드웨어/소프트웨어를 시뮬레이팅 하는 과정이라고 앞서 설명했습니다. 가상 머신이란 물리적인 컴퓨터를 가상화 한, 즉 소프트웨어화한 것이라고 생각하시면 됩니다. 물리적인 컴퓨터가 소프트웨어화만 되었을 뿐, OS도 존재하고 애플리케이션도 존재하며 동작은 실제 컴퓨터와 같이 동작합니다.
가상화된 물리적 장치들은 가상 머신(VM)이 되어 하이퍼바이저 위에서 동작하게 됩니다. 이 VM들은 독립적으로 동작하기 때문에 서로 영향을 주지 않습니다. 따라서 하이퍼바이저 위에서 각기 다른 OS기반의 VM이 동작할 수 있습니다.
하이퍼바이저(Hypervisor)
이런 가상화가 가능하게 하도록 하는 소프트웨어를 바로 하이퍼바이저라고 합니다. 하이퍼 바이저의 역할은 기계의 자원을 할당하고 공유하기 위한 기능을 제공합니다. 여기서 말하는 자원은 메모리 공간, RAM, CPU 등이 있습니다.
가상화의 유형은 2가지가 있는데 이 유형에 따라 하이퍼바이저의 종류도 나뉩니다.
Bare Metal Hypervisor
아무것도 설치되어 있지 않은(OS나 그 어떤 소프트웨어도 설치되어 있지 않은) 컴퓨터에 설치된 하이퍼바이저를 뜻합니다. 흔히 우리가 말하는 깡통 컴퓨터에 바로 설치한 하이퍼바이저를 뜻합니다.
시중의 Bare Metal Hypervisor로는 VMWare ESXi, Citrix XenServer, Microsoft Hyper-V 등이 있습니다.
주로 기업의 데이터 센터에서 사용되는 유형의 하이퍼바이저입니다.
Hosted Hypervisor
컴퓨터에 설치된 OS(윈도우, 리눅스, 유닉스 등) 위에서 돌아가는 하이퍼바이저를 뜻합니다. 새로운 소프트웨어를 시험하거나, 다른 운영체제를 체험할 때 사용합니다. 장비에 아무런 소프트웨어 없이 바로 하이퍼바이저가 설치되는 Bare Metal Hypervisor과는 다르게, Hosted Hypervisor는 장비와 하이퍼바이저 사이에 OS가 존재합니다.
시중의 Hosted Hypervisor로는 Oracle VM VirtualBox, Microsoft Virtual PC, VMWare Workstation이 있습니다.
주로 개인용 컴퓨터에서 사용하는 유형의 하이퍼바이저입니다.
가상화의 장점
1. 비용 절감이 가능합니다. 컴퓨터를 여러 대 놓을 것을 한대로 처리가 가능하기 때문에 장비 비용, 전력 비용을 줄일 수 있습니다.
2. 공간 절약을 할 수 있습니다.
3. 유지보수 및 관리가 쉽습니다.
4. 장비의 자원 활용을 극대화할 수 있습니다. 대부분의 경우 컴퓨터의 자원을 100%에 가깝게 활용하지 못하는데, 하나의 컴퓨터에 하나의 소프트웨어를 돌리는 것에 비해, 가상화는 하나의 장비에 여러 개의 VM이 동작하며 장비의 자원을 공유하기 때문에 컴퓨터의 자원을 사용량을 최대로 끌어 올립니다.
5. 재해로부터의 회복이 쉽습니다. VM은 소프트웨어로 이루어졌기 때문에 백업이 편하고 다른 장비로의 복사 및 이동이 쉽고 빠릅니다.
6. 개발 테스트 환경 설정이 빠릅니다.
References
https://www.youtube.com/watch?v=Wb68Exu6jtU&ab_channel=Simplilearn
https://www.youtube.com/watch?v=FZR0rG3HKIk&ab_channel=IBMTechnology
https://www.youtube.com/watch?v=UBVVq-xz5i0&ab_channel=PowerCertAnimatedVideos