VMware Linux Server — VM 또는 실제 하드웨어인지 어떻게 알 수 있습니까?


답변:


29

표준 Linux 도구를 사용하여 시스템의 하드웨어를 검사하십시오.

cat /proc/scsi/scsi

또는

ethtool -i eth0

또는

dmidecode | grep -i vmware

이러한 명령의 출력에 제조업체 이름이 "VMWare"인 하드웨어가 표시되면 VMWare VM에있는 것입니다. 시스템 구성과 도구가 다르기 때문에 여기에 여러 명령이 제공됩니다.


12
모호한 명령 만 제공하는 대신 이러한 명령의 기능을 설명 할 수 있습니까?
Stefan Lasiewski 2014 년

감사. cat /proc/scsi/scsi그것은 어디에서나 사용할 수있는 것처럼 보이고 새로운 소프트웨어를 설치하거나 특권으로 실행할 필요가 없기 때문에 좋습니다.
tiktak December

@tiktak /proc/scsi/scsi데비안 7 박스에 보이지 않습니다 .
Kyle Strand

1
이것은 100 % 신뢰할 수는 없습니다. 예를 들어 AWS 박스는 VM으로 보이지 않습니다. man virt-what이 탐지 목적 (RedHat / Fedora 시스템 용) 및 관련 경고에 대해 작성된 휴리스틱 스크립트를 참조하십시오 .
와일드 카드

13
facter virtual 
xenu

VM임을 나타냅니다. "실제"를 반환 한 경우 반대가 적용됩니다 (VM이 아님). 예 :

facter virtual
Physical

그러나 이것은 비표준 특수 패키지입니다 ...하지만 좋아합니다.
mdpc

1
@mdpc 꼭두각시를 사용하는 모든 시스템에 있어야합니다.
마이클 햄튼

11

virt-what 이라는 유용한 앱이 있습니다 . VMWare와 함께 사용하지는 않았지만 Qemu와 잘 작동했습니다.


1
불행히도 이진 RPM에는 SuSE 상업용에서 시도 할 때 dmidecode와 util-linux-ng의 두 가지 종속성이 있습니다.
mdpc

10

아래를 둘러 보면 아이디어를 얻을 수 있습니다 /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

lshw에 액세스 할 수있는 SuSE 인스턴스에는 존재하지 않습니다. 또한 / sys / class / dmi / ...가 존재하지 않습니다.
mdpc

6

일부 가상 환경의 이름은 가상 장치의 이름을 알 수 있습니다. 예를 들어 VirtualBox는 "VirtualBox 디스플레이 어댑터"라고하는 그래픽 카드를 나타냅니다. 그러나 이러한 기능을 찾으려면 특정 VM 및 좁은 버전의 버전과 관련이 있습니다.

코드에서 어떤 종류의 가상화를 설정할 수 있는지 확인할 수 있습니다. 이것이 완전히 실패하면 VM에있을 수 있습니다. 그러나 VM 지원 하드웨어가없는 상자에 쉽게있을 수 있습니다.


첫 번째 대답이 옳았습니다. 장치 드라이버 이름을 확인하십시오.
Izzy

4

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

1
솔루션의 주요 문제점은 dmesg가 커널 버퍼를 읽고 크기가 제한되어 있다는 것입니다. 시스템을 재부트 한 후 메시지가 많거나 약간의 시간이 있으면이 정보를 사용할 수 없습니다.
mdpc

4

VM에 있는지 여부를 감지하는 코드가 많이 있습니다. 빨간 약으로 시작하고 거기서부터 검색하십시오. Offensive Computing의이 문서 도 잘 읽습니다.

그것은 위의 쉬운 것들 중 어느 것도 작동하지 않으면 :)


첫 번째 링크가 끊어졌습니다. 두 번째는 깨지거나 느립니다.
와일드 카드

네가 옳아. 시간의 모래는 그들을 먹었다 ... 나는 대안 링크를 생각 해낼 수 있는지 볼 것이다.
Bill Weiss

부끄러운 일입니다. "빨간색 알약"이 흥미롭게 들렸다. :)
와일드 카드

1
archive.org 링크로 업데이트되었습니다.
Bill Weiss

3

여기에서 Mac 주소의 첫 번째 부분을 검색 하여 가상화 회사에 할당 된 것으로 나열되어 있는지 확인할 수도 있습니다.


흥미로운 아이디어 .... 네트워크 장치가 VM에 포함되어있는 한 작동한다고 생각합니다. ;-)
mdpc

2
신뢰할 수 없습니다. 많은 경우에 맥은 임의의 값으로 설정 될 수 있습니다. 이를 통해 원래 컴퓨터의 Mac을 VM으로 변환 할 때 복제 할 수 있습니다. 일부 소프트웨어는 라이센스를 Mac에 연결하며 종종 새 라이센스를 얻는 것이 불가능합니다 (공급 업체가 파산하거나 비용이 엄청나게 많이 소요됨).
Tonny

3

가상 장치는 / proc의 lspci 및 / 또는 디스크 장치 정보로도 나타납니다.

lspci | grep -i vmware

grep -i vmware /proc/scsi/scsi /proc/ide/*/model

2

Linux에서 시스템 정보는 / sys / devices / virtual / dmi / id /에 표시됩니다. 사용 가능한 모든 정보를 보여주는 편리한 스크립트는 여기 에서 내 대답을 참조하십시오 .

루트가 필요하지 않습니다.


1

일반적으로 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 메모리 제어 드라이버 초기화

3
이것은 시작시 작동하지만 나중에 dmesg가 지워지거나 오버플로되지 않았 음을 보장 할 수 없습니다.
mattdm

이것이 내가 보통하는 일이기도하다. dmesg를
움켜 쥐고있다

1

제조업체 및 제품 이름에 대한 특정 정보를 제공하므로 나에게 더 효과적이었습니다.

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 -> systemchef 서버에서 노드 속성 을 확인할 수 있습니다 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.