วิธีการค้นหาประเภทการจำลองเสมือนของ linux VPS?


11

เมื่อมีการเข้าถึง VPS ฉันจำเป็นต้องทราบว่าการจำลองเสมือนชนิดใดที่กำลังเรียกใช้จากเทอร์มินัล

ฉันจะกำหนดแพลตฟอร์มเวอร์ชวลไลเซชันที่ VM ของฉันกำลังทำงานอยู่ได้อย่างไร (OpenVZ, Xen, KVM, etc?)


ฉันใช้ KVM เพียงอย่างเดียว - ฉันหวังว่าคนอื่นจะคล้ายกัน - สมมติว่าคุณใช้ Linux ใน KVM คุณสามารถดู bootlog สำหรับบรรทัดเช่น "เคอร์เนล paravirtulized บน KVM"
davidgo

ในกรณีของฉันบันทึกการบูตทั้งหมดว่างเปล่า ... และ dmesg ไม่สามารถแสดงผลลัพธ์ใด ๆ ได้ = /
Samuel GP

คำตอบ:


22

hostnamectlคือเพื่อนของคุณ (ต้องการsystemd)

ตัวอย่างบางส่วน:

แล็ปท็อปโดยไม่มีการจำลองเสมือนใด ๆ

$ hostnamectl status
   Static hostname: earth.gangs.net
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: 18a0752e1ccbeef09da51ad17fab1f1b
           Boot ID: beefdc99969e4a4a8525ff842b383c62
  Operating System: Ubuntu 16.04.2 LTS
            Kernel: Linux 4.4.0-66-generic
      Architecture: x86-64

Xen

$ hostnamectl status
   Static hostname: pluto.gangs.net
         Icon name: computer-vm
           Chassis: vm
        Machine ID: beef39aebbf8ba220ed0438b54497609
           Boot ID: beefc71e97ed48dbb436a470fe1920e1
    Virtualization: xen
  Operating System: Ubuntu 16.04.2 LTS
            Kernel: Linux 3.13.0-37-generic
      Architecture: x86-64

OpenVZ

$ hostnamectl status
   Static hostname: mars.gangs.net
         Icon name: computer-container
           Chassis: container
        Machine ID: 55296cb0566a4aaca10b8e3a4b28beef
           Boot ID: 1bb259b0eb064d9eb8a22d112211beef
    Virtualization: openvz
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 2.6.32-042stab120.16
      Architecture: x86-64

KVM

$ hostnamectl status
   Static hostname: mercury.gangs.net
         Icon name: computer-vm
           Chassis: vm
        Machine ID: beeffefc50ae499881b024c25895ec86
           Boot ID: beef9c7662a240b3b3b04cef3d1518f0
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.10.2.el7.x86_64
      Architecture: x86-64

ฉันเพิ่งได้Failed to create bus connection: No such file or directory
janniks

8

เว้นแต่ว่าโฮสต์ VM กำลังโกหกคุณโดยทั่วไปแล้วจะสามารถคิดออกได้โดยการตรวจสอบ "ฮาร์ดแวร์" ที่แขก VM กำลังดู

ที่ง่ายที่สุดน่าจะใช้โปรแกรมเช่นvirt-whatซึ่งจะทำการแยกวิเคราะห์สำหรับคุณ ที่นี่ฉันสุ่มสี่สุ่มห้าสมมติว่าคุณกำลังเรียกใช้การกระจาย Linux บางประเภทตามวิธี

นอกจากนี้ยังอาจจะมีมูลค่าการดูที่หุ่นเชิดของfacterซึ่งเกินไปใช้เทคนิคคล้ายกับการตรวจสอบในสิ่งที่ชนิดของสภาพแวดล้อม VM มันทำงาน

หรือคุณสามารถถามใครก็ตามที่คุณให้เช่า VPS :-)


1
ฉันทำงานอะไรได้บ้าง ขอบคุณสำหรับคำตอบ.
ซามูเอล GP

1
facterผมมองไปที่ มันเรียกว่าvirt-what!
Michael Hampton



2

Debian มาพร้อมกับแพคเกจขนาดเล็กนี้สำหรับการตรวจจับประเภท virtualisation:

$ sudo apt-get install virt-what
$ virt-what

และใหญ่กว่าเล็กน้อยเนื่องจากการพึ่งพา Perl:

$ sudo apt-get install imvirt
$ imvirt

1

คุณยังสามารถใช้dmidecodeซึ่งจะแสดงข้อมูลฮาร์ดแวร์ระบบและอื่น ๆ


dmidecodeว่างเปล่าสำหรับ VPS ของฉัน lshwส่วนใหญ่จะว่างเปล่า virt-whatแสดงopenvz))
gavenkoa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.