GNU/Linux >> Belajar Linux >  >> Linux

Perintah Terminal Untuk Mengetahui Apakah Server Itu Virtual Atau Fisik?

Saya mencari perintah terminal yang tidak mengharuskan pengguna pelaksana berada di grup sudoers dan juga bersifat universal dan tidak perlu menginstal paket tambahan. Sejauh ini saya telah menemukan bahwa jika sistem telah terinstal systemd maka saya dapat menggunakan:

$ hostnamectl status
   Static hostname: mint
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
           Boot ID: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  Operating System: Linux Mint LMDE
            Kernel: Linux 3.16.0-6-amd64

dan di bawah nama Ikon dan Sasis saya dapat melihat apakah itu VM atau mesin fisik. Tapi saya ingin tahu apakah saya bisa menggunakan lscpu , terutama karena ini adalah metode yang lebih universal daripada hostnamectl dan itu tidak memerlukan systemd. Teori saya adalah jika CPU hanya memiliki satu utas per inti dan juga tidak tercantum frekuensi CPU minimum dan maksimum, ini seharusnya menjadi indikasi bahwa server memang tervirtualisasi.

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz
Stepping:              3
CPU MHz:               2500.488
CPU max MHz:           3500.0000
CPU min MHz:           800.0000
BogoMIPS:              4988.18
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7

Saya tahu bahwa jika CPU hanya memiliki satu utas per inti tidak berarti itu pasti VM, tetapi kemudian semua CPU modern harus memiliki 2 utas per inti dan selain itu saya juga dapat memperhitungkan kekurangan/keberadaan frekuensi CPU minimum dan maksimum di lscpu keluaran.

Jawaban yang Diterima:

Di bawah kondisi yang diberikan:

perintah terminal yang tidak mengharuskan pengguna pelaksana berada di grup sudoers dan juga bersifat universal dan tidak perlu menginstal paket tambahan.

metode paling sederhana yang jelas untuk VM yang tidak dimodifikasi, yang pemiliknya sengaja tidak mencoba menyembunyikan fakta bahwa OS adalah VM, adalah

cat /sys/class/dmi/id/product_name

Lebih banyak kemungkinan:

  • Cara mendeteksi virtualisasi
  • 16 Metode Untuk Memeriksa Apakah Sistem Linux Adalah Mesin Fisik atau Virtual

Di luar kondisi yang diberikan oleh penulis OP, ada pendekatan yang lebih rumit seperti ini:Di ​​mana saya? Sistem Operasi dan Identifikasi Virtualisasi Tanpa Panggilan Sistem


Linux
  1. 4 Cara Menemukan Alamat IP Publik Server di Terminal Linux

  2. 4 Cara Mengetahui Core CPU yang menjalankan Proses tertentu di Linux

  3. perintah ip di terminal Mac OS X

  1. Cari tahu apakah OS berjalan di lingkungan virtual

  2. Bagaimana cara mengetahui driver Wi-Fi mana yang diinstal?

  3. Bagaimana cara mengetahui versi Bluez dari baris perintah?

  1. Cara Menemukan Lokasi Geografis Server Linux di Terminal

  2. Cara mendapatkan informasi CPU virtual/fisik di Oracle VM (XEN)

  3. Linux:Cari tahu siapa yang masuk ke server