42

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?

Skyhawk
  • 14,200
  • 4
  • 53
  • 95
Tech4Wilco
  • 521
  • 1
  • 5
  • 8

4 Answers4

57

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.

Book Of Zeus
  • 1,341
  • 13
  • 16
  • 1
    I didn't see any Vnet** or VM or anything else that looks like I have a VPS. Thank you very much. – Tech4Wilco Sep 13 '11 at 14:43
  • 1
    If you are virtualized under OpenVZ or Virtuozzo the file /proc/user_beancounters will exist – Frands Hansen Jan 14 '12 at 10:17
  • 1
    Totally great answer! But now its been 2 years already. May be there are some changes in VPS technologies? Can we still rely this methods? Please. – 夏期劇場 Sep 30 '13 at 11:10
  • @夏期劇場 I would say yes ... adapters and devices might change but they will never the same name as the REAL adapters or devices. I would double check the name of the adapters on the web to make sure. – Book Of Zeus Nov 16 '13 at 20:46
19

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
Sean Reifschneider
  • 10,720
  • 3
  • 25
  • 28
3

You may just want to execute the command dmidecode -t system and check the output of the "Manufacturer" which will give you an idea about the machine you are working on.

bintut
  • 304
  • 1
  • 5
  • 1
    The OP is only interested to know and make sure that what he's/she's paying for is also what is he/she using. In this case, he/she must have a dedicated server since that is also what he/she paid for. Now, there are a lot of ways to verify the server remotely and for me, the simplest way is to execute the command `dmidecode -t system` as what I mentioned in my previous message. But it is assumed that the underlying OS is GNU/Linux or other *Nix variants. – bintut Jan 14 '12 at 11:19
-1

Enter the command "df -h". If you see a virtual file system type, then that indicates you're on a virtual machine. For eg. "vzfs" is the Virtuozzo file system virtualization technology developed by Parallels, Inc.


What I see on my virtual private server:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vzfs              40G  3.7G   37G  10% /
none                  512M  4.0K  512M   1% /dev
Keith
  • 1