1

Other then just by knowing from experience, I'm sure that most of us have forgotten a thing or two when quoting, building, installing and servicing new servers for clients who have never had a server, or are just replacing and putting in a proper server.

What type of specific things do you check for when building one? I have a short list, but as things come up, I'm constantly adding to it.

vgoff
  • 408
  • 7
  • 19
Canadian Luke
  • 885
  • 14
  • 41
  • 3
    **Attention:** Please do not vote to close or flag before [reading this meta post](http://meta.serverfault.com/questions/4020/list-questions-what-to-do-with-new-ones)! – Chris S Dec 16 '12 at 04:41
  • I'd be interested in seeing your short list. – mdpc Dec 16 '12 at 06:08
  • @mdpc It was a short list, but I want this question to live, so I'm trying to expand on it any way I can – Canadian Luke Dec 16 '12 at 06:14
  • Might actually be educational for all of us to see what you came up with, as we all might have missed something that you see. – mdpc Dec 16 '12 at 06:16
  • @mdpc That was my plan! On the first server I did professionally, I definitely "learned" lots on the job! – Canadian Luke Dec 16 '12 at 06:18
  • I've cycled the close, unlocked, and cleared the migration history on this question to protect it from the automatic rejected-questions reaper. The ultimate fate of this question will be decided by the Meta question and/or "delete"/"reopen" votes. – voretaq7 Dec 16 '12 at 18:03

2 Answers2

2

Building a server is a very broad task - the list of stuff to check/consider will vary widely based on the server's intended role.
What follows are some guidelines. They are by no means a complete checklist. Your environment WILL vary, and local deviations, additions, and removals will be necessary.


Hardware

Let's start at the beginning - When you're preparing to deploy a new server you will need to consider the hardware, particularly Capacity Planning issues.

  • RAM - How much do you need?
  • CPU - One, two, or more? Multi-Core (Almost certainly "yes" these days).
    • Is your workload CPU-bound (faster core speed is better) or parallelized (more cores is better)?
    • Is your workload Hyperthreading-Friendly, or should you turn off Hyperthreading?
  • Disk - Capacity is the obvious thing.
  • "Enterprise Features"
    • Lights-Out Management, IPMI, on board KVM, etc.
    • Single or Redundant power supply
    • Hot-Swap or internal/cabled disks?
    • Form Factor ("tower server", 1U, 2U, etc.)
  • Power and Cooling Requirements

Operating System

The obvious "Windows or *NIX" question aside, the same basic things need to be considered no matter what OS you run:

  • Partitioning - Do you have a company-wide standard layout?
    What layout makes sense for this system?
  • Network Configuration - IP, subnet, gateway, DNS.
    • Firewall rules (Local? Network core?)
  • User Management
    (Local users?, Centralized in AD/LDAP/NIS?)
    • What standard local accounts/passwords do you add?

Common Configuration & other tasks

No matter the role, most servers will need:

  • Backup - Agents, schedule, etc.
  • Monitoring - At least ping and/or SNMP. And any key services.

Role configuration

This is where things will diverge considerably: Are you building a DNS server? A mail server? An Active Directory Domain Controller? Each will have its own (role- and site-specific) checklist.
I am not even going to pretend to offer guidance here. There's just too much variability.


DOCUMENTATION

Remember to record the existence of the sever (serial number, location/rack/U, host name, role, OS, etc.)

Also remember to LABEL the physical server. Many production-critical systems have met their demise because there was no label on the physical machine, and since nobody knew what it did it got unplugged.

voretaq7
  • 79,345
  • 17
  • 128
  • 213
1

All Servers

  • Network Addresses. This includes knowing the external IPs, the internal numbering scheme, DHCP ranges, special addresses, what provides the addresses. If you have a router taking care of the DHCP and DNS, then you just need to know the extra information. Most internal networks use a 192.168.x.x or 10.x.x.x range, with .1 or .254 for the default gateway.

  • Mail server and settings. Is the eamil being hosted on the server or elsewhere? What is the domain name being used? Are you using your external ISP servers for email, etc

  • Backup system in place. Along with a backup system is you need a way to test it. You need a backup for any sort of disaster or error, including hardware failure (i.e. hard drive failure, RAID controller errors, power supply failure), power (i.e. Do you have a UPS?), client machines, break ins, etc.

  • List of all software required for re-installs (on server or client machines). What I tend to do (personally) on all servers is create a Software folder share, and copy all the ISOs or Setup programs to it's own (descriptively named) folder, so any client computer can install software they need. I also include a Links folder for online software.

  • List of all software/hardware licenses including key codes. This can be in an Excel spreadsheet, or even just a text document. If it is typed, it can (usually) be copy and pasted to prevent typing it numerous times. If it is printed out after being entered, you can also distinguish between certain pairs of letters/numbers that look similar (i.e. on Windows COA stickers, the 8's look a lot like B's)

  • List of all users who need access (optionally: a password for each, or a generic everyone has that they then change). If you are installing a brand new server, you will likely need to setup the user accounts with the server yourself. A password generator can be helpful here, but remember to record the passwords you set.

  • Extra networking equipment (switches, router, modem, wiring, etc). Especially if you don't know how reliable their equipment is, there are many problems that can be fixed with a new cable or switch. As well, if you need to plug in your notebook (you did bring one, right?), the site may not have a spare Ethernet port available for you to use. Adding a "dumb" switch will give you the space you need, as well as allow you to isolate your server from their network until you are ready, without disrupting service.

  • Maintenance (updates, checking logs, etc). Remember, in most situations, you want updates happening on your servers. For the ones that require restarts, you will need to make sure the users are all disconnected safely before the server goes down. One way to do this is to set the server to download updates automatically, but let the user decide when to install them

Windows Servers

  • If using Active Directory, are all PCs some sort of Professional level (i.e. Windows 7 Pro/Enterprise/Ultimate)? If so, they can join the domain, and log in. If you have a Home version of Windows, you can either upgrade it, or enter your username/password when you want to access network resources. The advantages of Active Directory can be found with any Googling, so we won't talk about it here.

  • Number of users to be supported. This is mostly for licensing purposes. Microsoft has information on all their server products, as to how many devices or users may connect.

  • Drivers. Make sure they are available on a flash drive or a CD/DVD if the server has a drive available. During Windows Server installations, newer versions require network drivers during the install, as well as RAID becoming more and more common. You can create a folder on your flash drive for all the drivers, and simply point Windows (or your OS of choice) to that folder, and install all the drivers. Make sure they are also compatible with your OS you are installing to, taking care for x86 (32-bit) and x64 (64-bit)

Canadian Luke
  • 885
  • 14
  • 41