You’ve worked hard to find the right dedicated server provider.
You migrated your web sites, switched up DNS and things are going great …
Then disaster strikes – downtime, data loss and headaches
We’ve all been there.
Fortunately, you can reduce new server problems by doing these checks on your new server.
That new server of yours is not likely new.
Many data centers will keep selling servers until they fail. For example, at a budget provider I found the offering at the right, which is incredibly low-priced. This may sound great until you dig into the server’s age.
I find the CPU is the best indicator of a server’s true age.
In this case, the AMD released this process in 2007. So the server is likely seven years old at this point. Data centers will rarely change a motherboard, so CPUs often provide a good proxy measure of a server’s age.
Also, the SATA drives were 5400 RPM drives – not something we’ve used in servers for nearly a decade.
Don’t risk your business to obsolete hardware. Check or ask about the age of the hardware.
Wikipedia does a great job of listing CPU release dates
I recommend you buy the most recent server you can afford.
Migrations are often disruptive if not expensive – so you want to assure you have ample life left in the system.
Verify Your Order
While asset control and provisioning has improved, I still see mistakes.
Never rely on the server providers portal for hardware details. While some providers, such as SoftLayer, use IPMI to poll this information, other providers do not use interactive methods. There’s no link between the physical system and what the portal says.
Fortunately, you can quickly check some items with a few Linux commands.
Here’s some quick tips on how to check these key items:
RAM is easy to check:
[jeffh@office ~]$ free total used free shared buffers cached Mem: 501276 327236 174040 0 19240 141496 -/+ buffers/cache: 166500 334776 Swap: 2064376 31196 2033180
This returns the amount of RAM in a server. The key number is under total in kilobytes. If the numbers do not match exactly, that’s not a problem, but the numbers should be close.
Processors are a bit more complicated due to multiple cores, CPU speeds and hyperthreading.
[jeffh@office ~]$cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU E5450 @ 3.00GHz stepping : 10 cpu MHz : 3000.195 cache size : 6144 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm bogomips : 6000.39 clflush size : 64 cache_alignment : 64 address sizes : 38 bits physical, 48 bits virtual power management:
There is a lot of data here and your list could be very long. Some of the key items to pay attention to are the:
Since the system counts from 0, add 1 to the highest number you see. This is your total number of physical CPUs.
This gives you the number of CPU cores per physical process.
This is the make and speed of your process. I often see this changed due to inventory reasons.
If hyperthreading is enabled, you will see twice as many processors as you would expect. Here’s more info on how to read cpuinfo data.
There are 3 items to check with your disk: size, model and partitioning. Checking disk size and partitioning is easy:
[jeffh@office ~]$ fdisk -l
Disk /dev/sda: 63.7 GB, 63751323648 bytes 255 heads, 63 sectors/track, 7750 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1318 10482412+ 83 Linux /dev/sda3 1319 1579 2096482+ 82 Linux swap / Solaris /dev/sda4 1580 7750 49568557+ 5 Extended /dev/sda5 1580 7750 49568526 83 Linux
Here we see a ~63.7GB disk split upt into 5 partitions. As with RAM, the exact size is not too important. Due to partitioning and file system overhead, you will see a bit smaller space, but typically no more than 10%
To check the model, you have to be a bit more careful. If you are using RAID, then your RAID controller will likely obscure the actual physical model of the disk.
On single disk systems, you can use smart-tools to check the disk:
[jeffh@office ~]$ smartctl -a /dev/sda|grep Model Model Family: Western Digital RE4 Serial ATA Device Model: WDC WD5003ABYX-01WERA0
Here we can see the model is a WD Serial ATA. I often look up the model number in Google to assure the specs are what I purchased.
[jeffh@office ~]$ cat /etc/centos-release CentOS release 6.5 (Final)
If using Red Hat Enterprise Linux, you will want to check /etc/redhat-release. We have a tutorial on how to check your CentOS version if you want more details.
The major mistake I see on networks is not getting the port speed correct. I recommend 1000Mbit on all public servers. This allows backups to run faster and provides enough overhead in case of a low-level DDoS attack.
[jeffh@office ~]$ ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes
Here we can see the Speed is 1000Mb/s or GigE. Check this on all network interfaces if you have multiple network cards.
If you ordered control panel software like Plesk or cPanel, login and make sure it functions correctly and is the correct version. I’ve often seen vendors deploy old control panel software.
Just because it is last does not mean it is not important. We see RAID deployed incorrectly more than any other hardware item. Checking varies depending on your RAID controller. If you don’t know how to check the RAID card, ask your provider to send you a RAID report.
You’re not done yet!
Guess what? You are not done yet. You still need to make sure the 3 essential tools for remote management work, run some trial reboots and check security.
If you find mistakes, just contact your server provider before you make any changes to the server. They may have to re-route IPs, change disks or even do a complete server swap.
What server deployment mistakes have you seen?