저는 특정 응용 프로그램을 "감옥"할지 결정하려고 노력하고 있으며 KVM과 LXC의 장단점과 사용 방법을 알고 있습니다.
최근에 저는 UML(사용자 모드 Linux)을 다시 접했고 보안 및 리소스 소비(또는 원할 경우 오버헤드) 측면에서 어떻게 비교되는지 궁금했습니다.
그러한 비교를 어디서 찾을 수 있습니까? 아니면 여기 있는 사람 중 방법을 아는 사람이 있습니까?
원래:
- 디스크 I/O 및 CPU 오버헤드는 무엇입니까?
- 검역은 얼마나 엄격하며 호스트는 게스트에게 어떤 일이 일어나는지 얼마나 안전하게 보호하나요?
답변1
- 최고의 디스크 I/O: LXC > KVM > UML. LXC에는 오버헤드가 없으며 KVM은 간접 계층을 추가하므로 속도가 느리고(그러나 원시 디스크에서도 사용할 수 있음) UML은 훨씬 느립니다.
- 최소 CPU 오버헤드: LXC > KVM > UML. LXC에는 오버헤드가 없고 KVM에는 오버헤드가 거의 없으며 UML에는 오버헤드가 더 큽니다.
- 엄격한 분리 및 보안: UML > KVM > LXC. krowe의 위 진술과는 달리, 무엇보다도 보안을 원한다면 UML을 사용하는 것이 좋습니다. 제한된 chroot 환경에서 완전히 권한이 없는 사용자로 UML 커널 프로세스를 실행하고 원하는 강화를 수행할 수 있습니다. 가상 머신을 탈출하려면 먼저 커널 버그를 찾아야 하며, 그런 다음에도 기껏해야 호스트 머신에서 일반 사용자 프로세스의 권한만 얻을 수 있습니다. 이제 성능에 관심이 있다면... KVM이 더 나은 선택입니다. LXC는 최고의 성능을 제공하지만 3가지 중 보안 수준이 가장 낮습니다.