To jest serwer fizyczny czy wirtualny? ( Windows i RH/CentOS Linux)


 

cloud_computing_ikonaW epoce wirtualizacji (Cloud Computing), Administratorzy Systemów coraz rzadziej dotykają fizycznych maszyn w szafach serwerowych, a częściej zarządzają infrastrukturą wirtualną z centralnej konsoli. Niezależnie od proporcji, środowiska serwerowe bywają mieszane i często pojawia się pytanie „na jakim serwerze właśnie pracuję – fizycznym, czy wirtualnym”? Przecież czynności administracyjne takie jak powiększenie dysku, czy „troubleshooting” problemów wydajnościowych skrajnie różnią się w obu przypadkach.

Dodatkowo, być może pracujemy nad skryptami, które zachowają się inaczej dla maszyn wirtualnych, a inaczej dla fizycznych i warto umieć rozpoznać na jakiej platformie właśnie pracujemy.

Podejść do tematu jest wiele, a ja zaproponuję Wam kilka swoich. Wszystkie przykłady łączy jedno podejście: szukamy producenta i model sprzętu. Na serwerach fizycznych będzie to IBM, HP, DELL itd, a na wirtualnych twórca wirtualizatora np. Vmware od Vsphere, czy Microsoft od Hyper-V.

Rodzaj sprzętu w systemach Windows

W systemach MS najefektywniej jest oczywiście skorzystać z CMD oraz Powershell.
W CMD wykorzystamy wspominane przeze mnie dość często polecenie „systeminfo”. Oczywiście, aby nie czytać bardzo długiej listy właściwości, od razu odfiltrujemy je po słowie „System” (oczywiście możecie użyć też „System Manufacturer”, albo „System Model”, aby zawęzić wynik do jednej linii):

systeminfo | find „System”

systeminfo_model
Powyższe zdjęcie pokazuje wyraźnie, że serwer jest wirtualny, a „wirtualizatorem” jest vSphere od Vmware.
Na maszynie fizycznej znaleźlibyśmy producenta i model sprzętu:

System Manufacturer: Hawlett Packard
System Model: ProLiant DL360 G6

Serwer wirtualny na Hyper-V zwróci nam:
System Manufacturer: Microsoft Corporation
System Model: Virtual Machine

Model sprzętu na zdalnej maszynie

Aby odczytać te wartości z maszyny zdalnej, możecie użyć „Psexec” lub „psinfo”.
Niestety „psinfo” nie pokazuje producenta sprzętu. Co z tym fantem? Co nieco zdradzi nam Karta Graficzna, a dokładniej „Video Driver”. Na przykład frazy „ATI”, czy „Radeon” będą charakterystyczne dla serwerów fizycznych:

psinfo1

Natomiast coś w stylu „Vmware SVGA II” to nic innego jak maszyna wirtualna Vmware:
psinfo2
Powershell korzysta z WMI i najlepszą komendą pokazującym nam na czym został zainstalowany system będzie:

Get-WmiObject win32_computersystem

Oto przykład z serwera HP:
powershell_model1
Przykład z maszyny wirtualnej vSphere:
powershell_model2

Rodzaj sprzętu w systemach Red Hat / CentOS

Na systemach z rodziny Red Hat w konsoli znajdziemy polecenie „dmidecode” z którego możemy odfiltrowac sobie kluczową informację o platformie (być może będziecie musieli użyć SUDO):

dmidecode | grep Product

Maszyna Vmware zwróci nam:

Product Name: VMware Virtual Platform
Product Name: 440BX Desktop Reference Platform

Możemy wykonać troszkę bardziej zaawansowane formatowanie tego polecenia i wyświetlić nie tylko model, ale i producenta:

dmidecode -t 1|grep -E ‚(Product Name|Manufacturer)’

Maszyna wirtualna zwróci nam coś w stylu:

Manufacturer: Vmware, Inc.
Product Name: VMware Virtual Platform

Serwer fizyczny zwróci nam coś w stylu:

Manufacturer: HP
Product Name: ProLiant DL180 G5

To jak łączymy się ze zdalnym Linuksem opisywała już moja redakcyjna koleżanka Ewa w artykule o SSH.
W dużym skrócie, polecenie będzie miało postać:

$ ssh root@server.domena.com dmidecode | grep Product

W tym miejscu pozwolę sobie zakończyć swoją poradę. Mam nadzieję, że troszkę Wam ułatwi administrowanie:) Jeśli znacie jakieś ciekawe tricki dla opisanych przeze mnie systemów lub innych piszcie śmiało.


Podobne Tematy:

  • sssebeko

    Witam,
    W nowszych wydaniach systemów unix-owych można korzystać z polecenia virt-what.

  • można też sprawdzić zmontowany FS, lub producenta dysku :)