Cloud를 운영하다보면 VM에서 특정 애플리케이션을 실행할 때 실행되는 호스트가 VM인지 아닌지에 따라 다른 루틴을 작성해야 한다. 이때 간단히 사용할 수 있는 툴이 perl 스크립트로 작성된 imvirt이다. 이름을 보면 이 글의 제목이 왜 Am I VM인지 알 수 있을 것이다. imvirt는 옵션 지정 없이 사용 가능하며 dmidecode를 통해 가상화 기술을 검출한다. 0.9.6이상의 버전에서 검출되는 가상화 기술은 다음과 같다.
imvirt는 기본 설치 프로그래임이 아니기 때문에 별도로 설치해주어야한다.
설치방법은 ubuntu인 경우 다음과 같이 명령어를 실행하면 된다.
sudo apt-get install imvirt
설치가 되었다면 단순히 imvirt를 입력하면 실행가능하다. 필자가 Macbook pro에서 Virtualbox로 우분투 머신을 띄워 테스트한 결과는 다음과 같다.
imvirt
[결과]
Uknown
원인 분석은 나중에 하기로 하고 imvirt와 비슷한 기능을하는 virt-what의 결과는 정상적으로 virtualbox / kvm으로 나오는거봐서는 virt-what이 좀더 신뢰가 간다. ^^
계열 | 검출된 컨테이너 |
---|---|
Physical | 일반적인 서버이거나 검출된 컨테이너가 없는 경우 |
Virtual | 검출되지 않은 컨테이너에서 실행되고 있는 가상 머신 |
HVM: <signature> | 알려지지 않은 하이퍼바이저의 시그니처 |
VirtualBox | 버추얼박스 |
Microsoft | 식별할 수 없는 마이크로소프트 기반 가상화 |
Microsoft Hyper-V | 마이크로소프트 Hyper-V/Virtual Server |
Microsoft VirtualPC | 마이크로소프트 Virtual PC |
VMware | VMware Virtual Platform |
VMware (Express|ESX Server | GSX Server|Workstation) | VMware Virtual Platform |
OpenVZ | OpenVZ/Virtuosso |
QEMU | QEMU/KVM |
UML | 사용자 모드 리눅스 |
Xen | Xen hypervisor |
Xen (PV|HVM) | Xen hypervisor |
lguest | Lguest (x86 하이퍼바이저) |
ARAnyM | Atari Running on Any Machine |
LXC | Linux Containers |
Parallels | Parallels Workstation |
imvirt는 기본 설치 프로그래임이 아니기 때문에 별도로 설치해주어야한다.
설치방법은 ubuntu인 경우 다음과 같이 명령어를 실행하면 된다.
sudo apt-get install imvirt
설치가 되었다면 단순히 imvirt를 입력하면 실행가능하다. 필자가 Macbook pro에서 Virtualbox로 우분투 머신을 띄워 테스트한 결과는 다음과 같다.
imvirt
[결과]
Uknown
원인 분석은 나중에 하기로 하고 imvirt와 비슷한 기능을하는 virt-what의 결과는 정상적으로 virtualbox / kvm으로 나오는거봐서는 virt-what이 좀더 신뢰가 간다. ^^
댓글
댓글 쓰기