Πως θα μάθεις αν ο linux server είναι φυσικός server ή virtual server

Πως θα μάθεις αν ο linux server είναι φυσικός server ή virtual server

Τα τελευταία χρόνια υπάρχει μία στροφή στους server και από φυσικοί servers τείνουν να γίνουν οι περισσότεροι virtual servers δηλαδή εικονικές μηχανές ή εικονικοί servers.

Virtual servers είναι για παράδειγμα, οι Cloud servers, οι VPS, servers εγκατεστημένοι μέσα σε ένα vmware – esxi. Ακόμα και servers που είναι εγκατεστημένοι μέσα σε ένα virtual box.

Ωστόσο υπάρχουν ακόμα φυσικοί servers που είναι εγκατεστημένοι σε μικρά ή μεγάλα datacenters ο sysAdmin, θα πρέπει να ξέρει αν ο linux είναι φυσικός ή virtual εικονικός δηλαδή. Η παραπάνω πληροφορία βοηθάει αρκετά στο να φτιάξει να επισκευάσει η έναν server Linux server.

Σε γενικές γραμμές υπάρχουν πάρα πολλοί τρόποι και με μία εντολή μπορείς να δεις με τί τύπου linux server εργάζεσθε

Χρησιμοποιώντας την εντολή dmidecode

Η εντολή dmidecode διαβάζει το table του DMI (Desktop Management Interface) και εμφανίζει τις πληροφορίες τους hardware και του BIOS , του Linux server.

 Αν ο server είναι εγκαταστημένος σε VMware Workstation
# dmidecode -s system-manufacturer
VMware, Inc.
# dmidecode -s system-product-name
VMware Virtual Platform
Αν ο server είναι εγκαταστημένος σε VirtualBox
$ sudo dmidecode -s system-product-name
VirtualBox
Αν ο server είναι εγκαταστημένος σε OpenStack
$ sudo dmidecode -s system-product-name
OpenStack Nova
Ενώ αν ο server είναι φυσικός θα πάρουμε τα εξής μηνύματα:
# dmidecode -s system-manufacturer
IBM
# dmidecode -s system-product-name
System x3550 M2 -[7284AC1]-

Δηλαδή, δίνοντας απλά την εντολή στο τερματικό μας , θα μας επιστέψει την πληροφορία που θέλουμε. Αν είναι physical server η virtual server και σε ποια πλατφόρμα είχε εγκατασταθεί.

Χρησιμοποιώντας την εντολή lshw 

Αυτή η εντολή είναι αντίστοιχη με την παραπάνω αλλά μπορεί να εμφανίζει περισσότερες πληροφορίες. πχ memory configuration, firmware version, mainboard configuration, CPU version και speed, cache configuration, bus speed

Αν την δώσουμε σε server που έχει εγκατασταθεί σε VMware θα μας επιστρέψει περίπου το παρακάτω :

# lshw -class system
laptopblog test server
    description: Computer
    product: VMware Virtual Platform ()
    vendor: VMware, Inc.
    version: None
    serial: VMware-42 0a a0 62 85 7e 8d 48-f2 8f 15 5a aa 7f 77 95
    width: 64 bits
    capabilities: smbios-2.4 dmi-2.4 vsyscall32
    configuration: administrator_password=enabled boot=normal frontpanel_password=unknown keyboard_password=unknown power-on_password=disabled uuid=460AA068-857E-8D48-F19F-162AFA7F7899
  *-remoteaccess UNCLAIMED
       vendor: Intel
       physical id: 1
       capabilities: inbound
Εναλλακτικά δίνουμε μόνο το παρακάτω για να εμφανίζει το label product :
# lshw -class system | grep product
product: VMware Virtual Platform ()

Αν την δώσουμε σε server που έχει εγκατασταθεί σε Virtualbox θα μας επιστέψει περίπου το παρακάτω :

$ sudo lshw -class system
Laptopblog test server
    description: Computer
    product: VirtualBox
    vendor: innotek GmbH
    version: 1.2
    serial: 0
    width: 64 bits
    capabilities: smbios-2.5 dmi-2.5 smp vsyscall32
Εναλλακτικά δίνουμε μόνο το παρακάτω για να εμφανίζει το label product :
# lshw -class system | grep product | awk '{print $2}'
VirtualBox

Αν την δώσουμε σε server που έχει εγκατασταθεί σε φυσικό server θα μας επιστέψει περίπου το παρακάτω :

# lshw -class system
Laptopblog test server
    description: Blade
    product: Flex System x240 Compute Node -[7284AC1]-
    vendor: IBM
    version: 06
    serial: KQ3YZ9B
    width: 64 bits
    capabilities: smbios-2.7 dmi-2.7 vsyscall32
Εναλλακτικά δίνουμε μόνο το παρακάτω για να εμφανίζει το label product :
# lshw -class system | grep product
product: Flex System x240 Compute Node -[7284AC1]-

Χρησιμοποιώντας την εντολή hostnamectl

Κανονικά την εντολή hostnamectl την χρησιμοποιούμε για να διαχειριστούμε το hostname του linux server , όμως μπορεί να παρέχει και άλλες χρήσιμες πληροφορίες

τρεχωντας την σε Virtualbox :

# hostnamectl
or
# hostnamectl status
   Static hostname: Laptopblog
         Icon name: computer-vm
           Chassis: vm
        Machine ID: c01b17d61f2542478047952180768c82
           Boot ID: 8be91fafab024c5880581fb3968a22f8
    Virtualization: oracle
  Operating System: Ubuntu 16.10
            Kernel: Linux 4.10.1-041001-generic
      Architecture: x86-64

Τρέχωντάς την σε φυσικό server ή υπολογιστή:

# hostnamectl
or
# hostnamectl status
   Static hostname: laptopblog
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: bb8348e0f32e495184590f98ce96ee62
           Boot ID: 06ee2c95917744b9b23a2861a0a82abb
  Operating System: Fedora 28 (Workstation Edition)
       CPE OS Name: cpe:/o:fedoraproject:fedora:25
            Kernel: Linux 4.10.14-200.fc25.x86_64
      Architecture: x86-64

Το label chassis λοιπόν μπορεί να μαρτυρήσει την πληροφορία που θέλουμε.

Χρησιμοποιώντας την hwinfo

Η εντολή hwinfo εμφανίζει και κάνει Probe τις πληροφορίες για το hardware. Στην δική μας περίπτωση που έχουμε εγκαταστήσει ένα virtual server σε ένα virtualbox θα εμφανίσει τα παρακάτω αποτελέσματα :

# hwinfo | grep "Manufacturer"
  <6>[27867.056016] usb 2-1: Manufacturer: VirtualBox

  <6>[31555.965214] usb 2-1: Manufacturer: VirtualBox
  <6>[32123.744633] usb 2-1: Manufacturer: VirtualBox

  <6>[33779.863965] usb 2-1: Manufacturer: VirtualBox

  <6>[34968.587607] usb 2-1: Manufacturer: VirtualBox

  <6>[37364.054145] usb 2-1: Manufacturer: VirtualBox

  <6>[46326.504627] usb 2-1: Manufacturer: VirtualBox

  <6>[54602.872309] usb 2-1: Manufacturer: VirtualBox

    Manufacturer: "innotek GmbH"
    Manufacturer: "Oracle Corporation"
    Manufacturer: "Oracle Corporation"

Χρησιμοποιώντας την εντολή lscpu

Η εντολή lscpu μπορεί να εμφανίσει όλες τις πληροφορίες για την αρχιτεκτονική του επεξεργαστή. Ωστόσο μπορεί να εμφανίσει και τον τύπου του hypervisor και βάση αυτού μπορούμε να καταλάβουμε αν ο linux server είναι virtual server.

# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Intel Core Processor (Haswell, no TSX)
Stepping:              1
CPU MHz:               2399.996
BogoMIPS:              4799.99
Virtualization:        VT-x
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0
Εναλλακτικά δίνουμε μόνο το παρακάτω για να εμφανίζει το label hypervisor:
# lscpu | grep Hypervisor
Hypervisor vendor:     KVM

Με τις παραπάνω απλές 5 έντολές μπορούμε να μάθουμε αν ο server είναι physical ή virtual server. Ίσως να μην χρειάζεται να το ελέγχουμε συχνά αλλά οι παραπάνω εντός είναι πολύ χρήσιμες αν θέλουμε να φτίαξουμε κάποιο bash script.

Σε επόμενο άρθρο θα μάθουμε για ποιο λόγο πρέπει να ξέρουμε τον τύπο του server που μας ενδιαφέρει και θα εργαστούμε πάνω σε αυτόν.

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *