용어 정리
1. 프로비저닝(Provisioning)
서버, 스토리지, 네트워크, 소프트웨어, 등의 IT리소스를 사전에 준비하고, 구성하고, 할당하는 과정
온프레미스
- 물리 서버를 조립하고, OS를 설치, 네트워크를 구성하는 것
클라우드
- AWS 콘솔에서 EC2 인스턴스를 생성하고, 보안 그룹을 설정하고, AMI를 지정하는 것
즉 서비스를 사용할 준비를 갖추는 모든 절차
- IaC (Infrastructure as Code): 프로비저닝을 코드로 수행
- Auto Scaling: 수요에 따라 자동 프로비저닝
- GitOps: Git에서 선언한 구성대로 자동 프로비저닝
이런 서비스에서 나오는 프로비저닝이란게 이런 것 들이었다.
한 줄 요약: 서비스가 잘 돌아갈 수 있도록 리소스를 준비하는 일
2. 하이퍼바이저 기반 가상화의 분류
전가상화
게스트 OS가 가상화 중인지 모름(한국어로 말함)
하이퍼바이저가 가상 하드웨어 에뮬로 동작
하.바가 게스트 OS의 하드웨어 요청을 가로채 호스트 OS로 요청(영어로 번역)
이 과정 때문에 느림
예 ) VMware, VirtualBox
한 줄 요약: 게스트 OS는 가상화를 인식하지 못하고, 하이퍼바이저가 모든 하드웨어 동작을 에뮬레이션하여 처리한다.
반가상화
게스트 OS가 가상화 인지하고 협력(영어를 스스로 함)
게스트 OS는 가상화 전용으로 수정 필요 -> 범용성 낮음
하.바한테 직접 요청
이 과정에서 하.바는 요청을 호스트 OS에 맞춰 변환할 필요가 없어서 빠름
예) KVM
한 줄 요약: 게스트 OS가 가상화 환경임을 인식하고, 하이퍼바이저와 직접 협력하여 성능을 높이는 방식이다.
하드웨어 지원 가상화
CPU 수준에서 가상화를 지원(명령어 세트와 권한 레벨 가능)
하드웨어 수준의 격리수준으로 보안성 높음
→ 커널 수준에서 CPU 명령 실행
→ CPU가 "이건 VM 안에서 실행 중이구나!"를 인식
→ VMCS에 기록 or 하이퍼바이저에게 전환
예) VT-x (Intel), AMD-V (AMD)
한 줄 요약: CPU 자체가 가상화를 지원하여 고성능과 보안성을 동시에 제공하는 현대 가상화의 표준 방식이다.
하이퍼바이저 타입
Type 1(Bare-metal, Native)
물리 하드웨어 위에 직접 설치되는 하이퍼바이저
OS 없이 바로 하이퍼바이저가 커널처럼 동작하여 VM들 실행
- Bare-metal 하이퍼바이저 (하드웨어 위에 바로 설치되므로)
- Native 하이퍼바이저 (가상화 자체가 OS 역할을 하므로)
예) VMware ESXi, Microsoft Hyper-V, KVM, Xen
장점
- 빠름
- 보안성 높음
단점
- 설치 및 관리 복잡
- 사용자의 접근성이 떨어짐
한 줄 요약: Type 1 하이퍼바이저는 운영체제 없이 하드웨어 위에 직접 설치되어 가상 머신을 실행하는 고성능 가상화 방식
Type 2(Bare-metal, Native)
운영체제 위에 설치되는 하이퍼바이저
사용자가 쓰는 일반 OS(Host OS) 위에서 애플리케이션처럼 동작하는 가상화 소프트웨어
장점
- 설치 쉬움
- 개발/테스트 용이
- 접근성
단점
- 낮은 성능
- 낮은 보안성
- 실무용으론 부적합
예) VirtualBox, VMware Workstation
SCSI Controller
SCSI (Small Computer System Interface)는 하드 디스크, CD-ROM, 테이프 드라이브 등의 스토리지 장치를 연결하는 표준 인터페이스
VM 내부에서 "하드디스크나 DVD 장치"를 연결할 때 사용하는 가상 스토리지 컨트롤러
- Hyper-V에서 새 VM을 만들면 기본적으로 SCSI 컨트롤러가 생성됨
- 하드 디스크, DVD 드라이브 등을 이 컨트롤러에 연결함
Host-Only VS Lan Segment
공통점: 기본적으로 외부와 소통 불가
차이점:
- host-Only는 기본적으로 HostOS에서 접근 가능
- Lan Segment는 host os에서 접근 불가능(격리성 높음)