답변:
표준 Linux 도구를 사용하여 시스템의 하드웨어를 검사하십시오.
cat /proc/scsi/scsi
또는
ethtool -i eth0
또는
dmidecode | grep -i vmware
이러한 명령의 출력에 제조업체 이름이 "VMWare"인 하드웨어가 표시되면 VMWare VM에있는 것입니다. 시스템 구성과 도구가 다르기 때문에 여기에 여러 명령이 제공됩니다.
cat /proc/scsi/scsi
그것은 어디에서나 사용할 수있는 것처럼 보이고 새로운 소프트웨어를 설치하거나 특권으로 실행할 필요가 없기 때문에 좋습니다.
/proc/scsi/scsi
데비안 7 박스에 보이지 않습니다 .
man virt-what
이 탐지 목적 (RedHat / Fedora 시스템 용) 및 관련 경고에 대해 작성된 휴리스틱 스크립트를 참조하십시오 .
아래를 둘러 보면 아이디어를 얻을 수 있습니다 /sys
. 예를 들어 /sys/class/dmi/id/sys_vendor
값은 VMware, Inc.
입니다.
설치되어 있으면 lshw 를 사용할 수 있습니다 . 이 명령 lshw -class system
은 내 시스템에서 이것을 반환합니다.
server1
description: Computer
product: VMware Virtual Platform
vendor: VMware, Inc.
version: None
serial: VMware-...
width: 64 bits
capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32
Linux의 경우 다음을 입력하십시오 dmesg |grep DMI
.
[root @ myhost ~] # dmesg | grep DMI DMI 2.3 존재. DMI : Microsoft Corporation 가상 머신 / 가상 머신, BIOS 090006 05/23/2012 [root @ myhost ~] # dmesg | grep -i 가상 DMI : Microsoft Corporation 가상 머신 / 가상 머신, BIOS 090006 05/23/2012 베어 하드웨어에서 반 가상화 커널 부팅 입력 : / devices / virtual / input / input1과 같은 Macintosh 마우스 버튼 에뮬레이션 scsi 0 : 0 : 0 : 0 : 직접 액세스 Msft 가상 디스크 1.0 PQ : 0 ANSI : 4 입력 : / devices / virtual / input / input4로 Microsoft Vmbus HID 호환 마우스
[root @ backdev1 ~] # dmesg | grep DMI DMI 2.5가 있습니다. DMI : IBM System x3650 M3-[7945AC1]-/ 90Y4784, BIOS-[D6E153AUS-1.12]-06/30/2011
VM에 있는지 여부를 감지하는 코드가 많이 있습니다. 빨간 약으로 시작하고 거기서부터 검색하십시오. Offensive Computing의이 문서 도 잘 읽습니다.
그것은 위의 쉬운 것들 중 어느 것도 작동하지 않으면 :)
여기에서 Mac 주소의 첫 번째 부분을 검색 하여 가상화 회사에 할당 된 것으로 나열되어 있는지 확인할 수도 있습니다.
일반적으로 VMware CDROM 드라이버 또는 메모리 드라이버가 설치되어 있으므로 dmesg가이를 신속하게 확인 또는 거부하므로 이러한 솔루션은 마음에 들지 않습니다.
[server @ user ~] $ dmesg | grep VMware hda : VMware 가상 IDE CDROM 드라이브, ATAPI CD / DVD-ROM 드라이브 공급 업체 : VMware 모델 : 가상 디스크 개정판 : 1.0 공급 업체 : VMware 모델 : 가상 디스크 개정판 : 1.0 공급 업체 : VMware 모델 : 가상 디스크 개정판 : 1.0 공급 업체 : VMware 모델 : 가상 디스크 개정판 : 1.0 공급 업체 : VMware 모델 : 가상 디스크 개정판 : 1.0 공급 업체 : VMware 모델 : 가상 디스크 개정판 : 1.0 공급 업체 : VMware 모델 : 가상 디스크 개정판 : 1.0 VMware 메모리 제어 드라이버 초기화
제조업체 및 제품 이름에 대한 특정 정보를 제공하므로 나에게 더 효과적이었습니다.
dmidecode -t system|grep 'Manufacturer\|Product'
Dell 서버에서 출력 :
Manufacturer: Dell Inc.
Product Name: PowerEdge C5220
Virtualbox VM의 출력 :
Manufacturer: innotek GmbH
Product Name: VirtualBox
KVM / QEMU의 출력 :
Manufacturer: QEMU
Product Name: Standard PC (i440FX + PIIX, 1996)
이것은 서버를 더 잘 식별하기 위해 이들을 구문 분석 할 수있는 스크립트에 유용하지만 인프라에서 Chef를 사용하는 경우 Virtualization -> system
chef 서버에서 노드 속성 을 확인할 수 있습니다 .
난 아주 많이 좋아:
hostnamectl status
또는 콘크리트 :
hostnamectl status | grep "Chassis:"