VMware 가상 머신 (Linux에서)에서 실행 중인지 어떻게 알 수 있습니까?
문제
VMware ESX 서버가 있습니다. 해당 서버에서 redhat vms를 실행하고 있습니다. VM에서 실행중인 경우 프로그래밍 방식으로 테스트하는 방법이 필요합니다. 이상적으로는 Perl 에서이 작업을 수행하는 방법을 알고 싶습니다.
해결책
"에 대한 답변을 참조하십시오.응용 프로그램에서 가상화 된 OS를 감지 하시겠습니까?".
다른 팁
문서화되지 않은 기능/버그이므로 어떤 방법에도 100% 의존해서는 안됩니다. 일부 호스트 OS 및 일부 가상화 솔루션에서 작업하지만 계속 작동 할 것이라는 보장은 없습니다. 실제로, 가상화의 요점은 가능한 한 실제 금속과 구별 할 수없는 것입니다. 이것을 염두에두고 블루 알약 빨간 알약 (수용된 답변에 언급되어 있습니다 이 비슷한 질문)는 작동하는 것 같습니다 ... 지금은.
VMware에는 Perl의 SDK.
NIC의 MAC 주소에서 검사 할 수 있다고 생각합니다 (ESX 버전에 따라). VMware NIC에서 실행되는 VMS는 VMWARE에 할당 된 제조업체 문자열이 물리적 NIC Mac이 없습니다. (우리는 Mac을 VM으로 스푸핑하려고 시도했으며 라이센스 서버를 VM으로 만들려고했으며 최신 버전에서는 할 수 없습니다.) 또한 VMware처럼 보이도록 NIC 스푸핑 된 물리적 상자에서 실행되지 않는다는 것은 보장되지 않습니다. 그러나 그것은 어쨌든 대부분의 상황에서해야 할 일이 될 것입니다.
다음 명령을 실행하십시오.
lspci | grep VMware
다음과 같이 표시해야합니다.
00 : 0F.0 VGA 호환 컨트롤러 : VMware SVGA II 어댑터
00 : 11.0 PCI 브리지 : VMware PCI Bridge (Rev 02)
00 : 15.0 PCI 브리지 : VMware PCI Express 루트 포트 (Rev 01)