What are the most manageable and interesting server naming schemes being used? [closed]

Solution 1:

First off, anyone picking a naming scheme should read RFC 1178 - "Choosing a Name for Your Computer". People have been talking about this issue for as long as computers have been given names, so read up on what others have said before re-inventing the wheel.

My own thoughts - I tend to break up naming policies into themes and schemes.

Using a theme (e.g. greek gods, characters from Dr. Who, brands of vodka) works well in a small network. If you have less than 20 hosts then chances are you have multiple hardware configurations - possibly every host has a unique configuration. In such cases it's good to be able to think of each machine as having a unique personality, because - chances are - it does.

Using a scheme (e.g. a name constructed from elements of the geographical location, rack position, hardware ID, etc) works well when you have large numbers of machines with identical hardware and/or software configurations. It also works well if you'll need to be communicating about the machine with people who don't deal with it on a day to day basis. For example if you need to tell NOC staff to reset a machine, a name which helps them locate it in the rack can be better than having them search through the racks for a machine with a particular label.

Using a functional name (e.g. mail, web, fileserver) is a good idea for virtual machines, but a bad idea for physical hosts in my experience. Physical hosts will often end up performing multiple functions (even when this is not ideal), and individual functions will change in resource usage and requirements over time, such that they will be migrated to other hosts.

The problems with themes include:

  • They generally provide a small pool of names. Once you run out of Roman gods, do you switch to Greek? Do you reuse a name from a retired host which fits your naming theme, or pick a new name from a new theme to avoid the problems and confusion that can arise from name reuse?
  • They let your anthropomorphise your machines. That's bad - computers don't like that. If you treat your machines as though they have a distinct personality, you run the risk of ignoring evidence that is counter to your assumptions about how that machine "behaves", as well as sometimes assuming that a fault lies with a particular machine because "it's always misbehaving".

The problems with schemes include:

  • They result in hostnames that are harder to remember. This is much less of a problem when you have good systems management in place, but it's sometimes useful to be able to instantly recall that a particular problem has manifested more than once on a particular machine, or that a particular machine is the one responsible for performing some particular function.
  • If the scheme changes, you may have to rename all of your hosts. This could result in a large number of DNS changes, configuration changes, access list and permissions changes, etc.

In the real world you find both systems in use, sometimes side by side. For example, in my experience high performance computing clusters always have names. The name is often assigned to a head node (which is used interactively), while the various cluster nodes will have names such as compute-01, highmem-01, storage-01, etc.

And, as mentioned earlier, it's common (and useful) for virtual machines and physical hosts to have different naming schemes.

Solution 2:

Under the interesting category, there's one from the Stack Overflow answer

Elements of the periodic table. We also use the element number in the IP address, so

Hydrogen = 192.168.0.1

Helium = 192.168.0.2

etc.