Possible Duplicate:
What are the most manageable and interesting server naming schemes being used?
How do you decide on a new hostname?
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.
Sign up to join this communityPossible Duplicate:
What are the most manageable and interesting server naming schemes being used?
How do you decide on a new hostname?
Depends very much on the environment you work in.
First and foremost - drop any references to (pop-)culture, stick with meaningful & descriptive names.
You might know that "zeus" is the proxy server, because you installed it. But any future colleague would pretty much like to refer to the server by what it does, not what his given name is.
If you accept that, I'd suggest you do a brainstorming session and write down what different kinds of networked entities ("hosts") you have, how they can be grouped together and what information is important enough to get encoded in the hostname. Your naming convention should be able to unambigiously name all existing devices and give an user a rough idea of what the host does. Be sure to leave enough room for growth to adapt to future developments, so that you don't need to throw your naming convention over board in a few months.
Document your naming convention (not only how, but why), make sure that everybody who needs to work with it on a regular basis understands how it's laid out, be open to comments/suggestions and don't tout it as a holy grail, adapt it when needed.
As food for thought, here's the schema we used at one of my former employers:
Web service provider, doing development and operations for web projects. Mostly LAMP-stuff, although on a larger scale (size of projects, not quantity).
For physical devices:
<SITE>-<RACK>-<DEVICE>.in.<DOMAIN>.<TLD>
For logical entities:
Logical entities might be anything that has an IP address which wasn't strongly coupled to a given physical device/location. This was mostly IP addresses of guest OS (OpenVZ or ESX in our case)..
<PROJECT>-<ENVIRONMENT>-<SERVICE>.in.<DOMAIN>.<TLD>
For IP-addresses:
All of our services were only reachable from a private network, we had NAT and/or load balancers with "Service IP-addresses" which were used by internet facing hosts to access our services. For those we used something like this:
<PROJECT>-<ENVIRONMENT>-vip-<IDENTIFIER>.<DOMAIN>.<TLD>
The naming convention worked fine for us, some (like - our developers ;) ) might call it overblown. Keep in mind that it is completely overblown if you only maintain a single site and have servers which are assigned to a single project. But for us it fulfilled a few very important things.
When dealing with a hostname of a logical entity we always knew:
And for physical devices the exact location was always deducible from the hostname.
The weak coupling between physical devices and logical servers might be a turn-off for some people (e.g. how do I know what projects are going to be affected when I pull the plug of switch x/server y), but this was a must in our environment since our projects had a high turn-around-rate and more often than not we didn't even know what projects were going to be hosted on fresh hardware we just provisioned.
For servers, I like the standard currently used at my office <3 letter location code>-<2 digit incrementing number to avoid duplicate names>
An example would be: PHOU-DMOSQL01
For Desktops/Laptops I usually use a type designator and the user's name (assuming machines are assigned to a specific user) (LT|DT)- for instance my laptop is LT-KCOLBY
The real answer is that there is no answer.
I tried a number of conventions for both server and computer names. My conclusion is that the name itself is meaningless, as long as you have a readily available, easily and non-consequentially modifiable description field.
Therefore, my take on this is - go nuts. Fantasy heroes, StarWars icons, mythology - whatever suits your fancy and has enough scope to include all your existing hosts and expansions. (and doesn't tick off your management's often-lacking sense of humor, bosses can be picky about a server named "pointyhaireddimwit" :)).
I use unique names to describe unique machines. For instance in my current project, 200+ servers, I used the list of star names from Wikipedia. The reasoning is that actual names have more redundancy than super compact indices, such as srv-05-92. It's important for one thing: it affords a small error rate when transcribing, typing or talking over the phone in a loud server room.
Descriptive information is stored in TXT fields in the DNS, so are Mac addresses and so on. You can also request the name based on the mac address:
$ host 00-12-34-56-78.mac.fr.dom
00-12-34-56-78.mac.fr.dom is an alias for arcturus.eqx.vl304.fr.dom
arcturus.eqx.vl304.fr.its has address 10.21.4.30
One thing you absolutely want to avoid is to name the machines according to their function. This is going to bite you in the ass sooner or later. Just use aliases (CNAME or additionnal A records) for that purpose.
Note: This is all generated with an XSLT from a custom XML file:
<?xml version="1.0" standalone="yes"?>
<domain suffix="dom" xmlns:h="http://www.w3.org/1999/xhtml">
<vlans>
<vlan name="vl304" value="4" />
</vlans>
<country code="fr" prefix="10.21">
<datacenter name="eqx" desc="Equinix">
<host name="arcturus" lso="30">
<vlan name="vl300" if="eth0" mac="00:12:34:56:78" />
<txt type="loc">rack 5</txt>
<txt type="sn">99A0632</txt>
<txt type="model">xSeries x3350</txt>
<doc>Load balancer</doc>
<rsa ip="192.168.101.30" />
<role type="loadbalancer1" />
</host>
</datacenter>
</country>
</domain>
Several aliases are generated:
... as well as a number of TXT records
It should probably be noted that RFC 1178 is devoted to this topic:
http://www.faqs.org/rfcs/rfc1178.html
(even if I disagree with a lot of it, and much in there is out of date).
Lovecraftian Great Old Ones and Outer Gods.
ssh root@zstylzhemghi.local
. Definitely easier and more meaningful than looking up an IP address.
Naming servers based on location and/or function can lead to security problems. If you publish your DNS externally you are giving the bad guys a map of where all the good stuff is. Security through obscurity is not something to rely on but I wouldn't make it easy for the script kiddies.
Also you don't need to describe all the details of the device in the hostname. Instead use the hostname as a key into your configuration management database. (You can buy a CMDB, use open source solutions, or refer to an excel spreadsheet).
Personally I like device names that are:
Example: We used to call one of our backup servers - sloth.
Unfortunately, this only works for smaller sites. If you manage larger installations you are going to want the clearest naming convention possible so that all of your staff can quickly and easily identify what all these hosts do. In this case will probably want to implement split DNS so that you are not advertising all these hostnames in the wild.
If your internal naming convention is private then it really doesn't matter what kind of harebrained naming scheme you use. But here is an idea. Get the technical leads from your support staff and ask them if they have any suggestions. It will make them feel important.
My friend uses names of celtic gods. My company uses names of wild animals for terminals and drug names for servers. I use names from Tolkiens Silmarillion.
We currently use a mixture of a frivious naming scheme (London Underground stations) and functional names. The latter happened when it started becoming tricky to remember which 11 servers were in the webserver cluster. Remembering victoria, euston, paddington, oval, cockfosters, angel, bank etc is a little harder than w000, w001, w002 etc.
We have tried two flavors of server naming conventions for our mid-size intity:
AND
Out of these two conventions, 80% of the techs (including myself) like the City name convention more than the "Loc-Serv-#" one.
At my previous job, I named all of the workstations/servers in a new build after Star Wars planets/moons - Tatooine, Hoth, Endor, Dantooine etc. At my current job, the local servers/workstations were named after Star Wars characters, but are slowly being phased out to more generic names. In our production environment, servers are named after characters in Greek Mythology.
At home, all of my physical/virtual servers are named after their use - fileserver, mailserver, ftpserver, webserver, mssqlserver etc. However, this is now proving difficult as I'm building additional webservers. I'm contemplating moving over to the naming convention of my previous job, for nostalgic reasons.
I use actors. The more important the box the cooler the actor... I tried to group them by movies they were in together but that soon didn't work out anymore when servers moved and got re-purposed. My RHEL Satellite server is spacey, my syslog servers are brando and dean. Siebel runs on pitt and jolie and so forth.
There are a number of existing questions about this Subject
We have a similar system to colby.
so PHLVMCLDEV01 would be the first development cluster in Philadelphia and it's nodes are virutal
it would consist of PHLVMDEV01-N1 and PHLVMDEV01-N2, etc
There was an excellent Slashdot thread about this a while back:
http://ask.slashdot.org/story/08/07/06/2014237/Best-DNS-Naming-Scheme-For-SmallMedium-Businesses?art_pos=1
There is no "good" answer to this question:
If your servers are clustered, you may need to identify the others members of the cluster to be able to switch on them. If your server are multi-role, there's no way you can have their roles as part of the name... In fact your hostnames must contain informations that are valuable for you and the people that will work on a computer breakdown.
I can't believe you guys really have all these long and complicated names. Do you type it all the time? Do you know how much information you are leaking (including location of the physical servers???).
The approach we use is to give simple names to the servers based on cartoons, movies, etc. Internally we keep a database linking the funny names to their locations, purposes, etc.
*With all these longs hostnames it is easy to remember the ips instead :)
Simply use this convention (still a bit bound to old 8-char limits)
2-letter-country-code - three letter city code - machine name
machine names are usually based on the actual purpose (mssql for a MSSQL server) or type if multi-services are run (rhel001 as a red hat machine).
You end up with names such as us-dco-rac01 (first Oracle RAC node).