How to verify if a dedicated server is really dedicated?

I ordered a dedicated server 1 month ago and I want to make sure my server is dedicated and not a VPS or Shared server. Are there any tools I can verify that my server is running on bare metal and that I am the only user?


Solution 1:

First, you should trust your hosting provider. If you think they sold you a VPS, maybe you should reconsider this provider. Just to make sure you have a dedicated you can try this:

Does the command esxtop work ?

This tool is used to check performances on Virtual Machines

Check the network interfaces.

Run the command ifconfig. If you see something like this:

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:99999 errors:0 dropped:0 overruns:0 frame:0
          TX packets:99999 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:126223307 (120.3 MiB)  TX bytes:2897538 (2.7 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:6x.xxx.xxx.xxx  P-t-P:6x.xxx.xxx.xxx  Bcast:6x.xxx.xxx.xxx  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1400  Metric:1

you are probably have a VPS since venet0 is telling that this server is being an OpenVZ VPS. Note: This is not 100% fool proof, some VPS like Xen have an eth0.

Check devices/system:

Run lspci and dmesg as root. If you see something like:

VMWare SVGA device
acd0: CDROM <VMware Virtual IDE CDROM Drive/00000001> at ata0-master UDMA33
da0: <VMware Virtual disk 1.0> Fixed Direct Access SCSI-2 device

Then you are using a VPS.

Check if some files exists:

If it's a VPS running OpenVZ they'd have a file called /proc/user_beancounters. View http://wiki.openvz.org/Proc/user_beancounters for more details.

Look if /proc/vz or /proc/vz/veinfo exists (for OpenVZ) or /proc/sys/xen, /sys/bus/xen or /proc/xen (for Xen)

Check if /proc/self/status has an s_context or VxID field.

If one of these file exists, then you have a VPS.

IP lookup:

You could do a reverse IP lookup to check to see if any other websites are hosted on the same IP.

Check Memory:

Run lspci and look for RAM memory: Qumranet, Inc. Virtio memory balloon. Then you have a VPS.

Solution 2:

To augment @Book Of Zeus' answer, if you are running under KVM you will see things like:

root# grep 'model name' /proc/cpuinfo 
model name      : QEMU Virtual CPU version 0.15.0
root@nscache1a:~# dmidecode -t system | grep Manufac
       Manufacturer: Bochs
root# grep QEMU /proc/scsi/scsi
  Vendor: ATA      Model: QEMU HARDDISK    Rev: 0.15
  Vendor: QEMU     Model: QEMU DVD-ROM     Rev: 0.15

And under XenCenter:

root# dmidecode -t system | grep -e Manu -e Prod
       Manufacturer: Xen
       Product Name: HVM domU