가상화
Hypervisor란 무엇인가요?
A hypervisor is the software layer that creates and runs virtual machines, allocating physical CPU, memory and IO between them. A type-1 hypervisor runs directly on the hardware; KVM is unusual in being a type-1 hypervisor implemented as a Linux kernel module, which lets it use the whole Linux driver ecosystem.
Hypervisor가 중요한 이유
타입 1 하이퍼바이저는 하드웨어에서 직접 실행됩니다. KVM은 Linux 커널 모듈로 구현된 타입 1 하이퍼바이저로서 특이하며, 이를 통해 전체 Linux 드라이버 생태계를 사용할 수 있습니다.
Hypervisor 실제 적용
KVM 하이퍼바이저에서 서버를 운영할 때는 실제 하드웨어 할당, 즉 vCPU, RAM, 디스크 I/O를 확인해야 합니다. 패널에서 이를 조정하며, 종종 재부팅 없이 메모리를 핫 추가할 수 있습니다. 호스트를 과도하게 할당하면 이웃의 과중한 워크로드가 인스턴스의 CPU나 IO를 고갈시켜, 완벽하게 구성된 게스트도 느려지게 만듭니다. 중첩 가상화를 사용하면 하이퍼바이저 안에서 하이퍼바이저를 실행할 수 있는데, 테스트에 유용하지만 성능이 저하되고 자체 리소스 계산이 혼란스러워질 수 있습니다.
Hypervisor에 대한 사람들의 오해
Hypervisor를 컨테이너 경계로 취급하는 것이 흔한 오류입니다. 그렇지 않습니다. Hypervisor는 완전한 가상 머신, 자체 커널, 자체 /proc, 공유 네임스페이스 없음을 제공합니다. 사람들은 이웃의 프로세스가 보이지 않거나 사용자 정의 커널이 불가능하다고 가정하다가 한계에 부딪힙니다. 올바른 이해: KVM을 사용하면 진정한 격리와 제어를 얻으므로 손수 만든 이미지를 부팅하거나 중첩 가상화를 실행할 수 있으며, 이는 컨테이너로는 불가능합니다.
Hypervisor — 일반적인 질문
type-1 hypervisor는 무엇을 의미하나요?
Type-1 hypervisor는 운영 체제 위가 아닌 호스트 하드웨어에서 직접 실행됩니다. KVM은 Linux 커널 모듈로 구현된 type-1 hypervisor이므로 특별하며, 하드웨어 관리를 위해 전체 Linux 드라이버 생태계를 사용할 수 있습니다. 이로써 베어메탈 가상화의 성능과 Linux의 유연성을 얻을 수 있습니다.
KVM은 OpenVZ 같은 컨테이너와 어떻게 다른가요?
KVM은 진정한 가상화를 제공합니다: 각 게스트는 자체 커널, 자체 /proc, 공유 네임스페이스 없음을 가지므로 전체 루트 액세스와 사용자 정의 커널 실행이 가능합니다. 컨테이너는 호스트 커널과 네임스페이스를 공유하여 할 수 있는 일이 제한됩니다. KVM을 사용하면 중첩 가상화 실행이나 사용자 정의 ISO 부팅을 포함한 격리와 제어를 얻을 수 있습니다.
Hypervisor가 등장하는 곳
- VPS에서 전체 디스크 암호화가 유용한가요? 전원이 꺼진 디스크의 물리적 압수에 대해서는 결정적으로 그렇습니다: 볼륨은 암호가 없으면 암호문일 뿐입니다. 실행 중인 하이퍼바이저에 접근할 수 있는 공격자에 대해서는 아니요 — 키는 호스트가 읽을 수 있는 메모리에 있습니다. 다른 주장을 하는 제공업체는 과장하는 것이며, 그 …
- 업타임 SLA는 무엇인가요? 인스턴스당 99.99%, 네트워크 및 하이퍼바이저 가용성에 대해 월 단위로 측정됩니다. 위반 시 게시된 척도에 따라 자동 서비스 크레딧이 부여됩니다: 99.99% 미만 10%, 99.9% 미만 25%, 99.5% 미만 50%, 99% 미만 100%. 지난 12개월 동안 플릿 전…
- 호스팅 제공업체가 제 VPS의 파일을 볼 수 있나요? 기술적으로는 그렇습니다: 하이퍼바이저 접근 권한이 있는 제공업체는 암호화되지 않은 게스트 디스크와 메모리를 읽을 수 있습니다. 이는 모든 가상화 플랫폼에 해당됩니다. 차이는 그들이 실제로 하는지, 정책이 금지하는지, 그리고 사용자가 키를 가진 전체 디스크 암호화가 인스턴스 전원…
- CPU 스틸 시간이란 무엇이며 왜 중요한가요? 스틸 시간은 가상 CPU가 실행 준비가 되었지만 하이퍼바이저가 물리적 코어를 다른 사람에게 준 시간의 백분율입니다. top의 "st" 열에 나타납니다. 일관되게 2–3% 이상이면 코어를 놓고 경쟁하고 있다는 뜻이며, 공유 vCPU 인스턴스에서 설명할 수 없는 지연 시간 급증의 …
- VPS는 안전합니까? 격리는 강력합니다. KVM은 하드웨어 수준에서 분리를 강제하며, 이를 벗어나는 것은 심각한 연구 수준의 익스플로잇입니다. 현실적인 위험은 하이퍼바이저가 아니라 귀하의 설정입니다. 비밀번호 SSH, 패치되지 않은 소프트웨어 및 잊어버린 열린 서비스가 실제 세계의 침해 사고의 거의…
- 관리형 vs 비관리형 VPS: 서버 패치는 누가 하나요? 비관리형 VPS에서 제공자는 하드웨어, 네트워크, 하이퍼바이저를 보장합니다. 커널 위의 모든 것은 업데이트, 방화벽, 백업을 포함해 여러분의 몫입니다. 관리형 VPS는 가격이 2~5배이며 관리 서비스를 추가합니다. 터미널에 익숙하다면 비관리형이 올바른 기본값이고, 보안 업데이트…
가상화에서 더 보기
- KVM
- KVM은 Linux 커널에 내장된 완전한 하드웨어 가상화로, 각 게스트에 자체 커널과 다른 테넌트로부터 하드웨어 강제 격리를 제공합니다.
- OpenVZ
- OpenVZ는 모든 인스턴스가 호스트 커널을 공유하는 컨테이너 기반 가상화로, 게스트는 커널 모듈을 로드하거나 다른 운영 체제를 실행할 수 없습니다.
- LXC
- LXC는 커널을 공유하면서 네임스페이스와 cgroups로 프로세스를 격리하는 Linux 네이티브 컨테이너화입니다.
- 嵌套虚拟化
- 중첩 가상화는 프로세서 가상화 확장을 게스트에 노출하여 가상 머신 자체가 가상 머신을 실행할 수 있게 합니다.
- vCPU
- vCPU는 게스트에게 제공되는 가상 프로세서로, 물리적 코어 또는 스레드의 스케줄링 시간을 기반으로 합니다.
- cloud-init
- cloud-init는 플랫폼에서 제공하는 메타데이터를 사용하여 가상 머신을 첫 부팅 시 구성하는 표준 메커니즘입니다.