เมื่อมีการเข้าถึง VPS ฉันจำเป็นต้องทราบว่าการจำลองเสมือนชนิดใดที่กำลังเรียกใช้จากเทอร์มินัล
ฉันจะกำหนดแพลตฟอร์มเวอร์ชวลไลเซชันที่ VM ของฉันกำลังทำงานอยู่ได้อย่างไร (OpenVZ, Xen, KVM, etc?)
เมื่อมีการเข้าถึง VPS ฉันจำเป็นต้องทราบว่าการจำลองเสมือนชนิดใดที่กำลังเรียกใช้จากเทอร์มินัล
ฉันจะกำหนดแพลตฟอร์มเวอร์ชวลไลเซชันที่ VM ของฉันกำลังทำงานอยู่ได้อย่างไร (OpenVZ, Xen, KVM, etc?)
คำตอบ:
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
เว้นแต่ว่าโฮสต์ VM กำลังโกหกคุณโดยทั่วไปแล้วจะสามารถคิดออกได้โดยการตรวจสอบ "ฮาร์ดแวร์" ที่แขก VM กำลังดู
ที่ง่ายที่สุดน่าจะใช้โปรแกรมเช่นvirt-whatซึ่งจะทำการแยกวิเคราะห์สำหรับคุณ ที่นี่ฉันสุ่มสี่สุ่มห้าสมมติว่าคุณกำลังเรียกใช้การกระจาย Linux บางประเภทตามวิธี
นอกจากนี้ยังอาจจะมีมูลค่าการดูที่หุ่นเชิดของfacterซึ่งเกินไปใช้เทคนิคคล้ายกับการตรวจสอบในสิ่งที่ชนิดของสภาพแวดล้อม VM มันทำงาน
หรือคุณสามารถถามใครก็ตามที่คุณให้เช่า VPS :-)
facter
ผมมองไปที่ มันเรียกว่าvirt-what
!
ใช้virt-what
คำสั่งเพื่อกำหนดประเภทของเทคโนโลยีการจำลองเสมือนที่ระบบใช้
Systemd รวมถึง systemd-detect-virt
Debian มาพร้อมกับแพคเกจขนาดเล็กนี้สำหรับการตรวจจับประเภท virtualisation:
$ sudo apt-get install virt-what
$ virt-what
และใหญ่กว่าเล็กน้อยเนื่องจากการพึ่งพา Perl:
$ sudo apt-get install imvirt
$ imvirt
คุณยังสามารถใช้dmidecode
ซึ่งจะแสดงข้อมูลฮาร์ดแวร์ระบบและอื่น ๆ
dmidecode
ว่างเปล่าสำหรับ VPS ของฉัน lshw
ส่วนใหญ่จะว่างเปล่า virt-what
แสดงopenvz
))