Server Naming Conventions?
The reader continues:
"Here's a few ideas we've been tossing around, using Joe's Deli as an example:
- [four letter "name"][two letter service type][2 numbers]
eg) jdelwb03.domain.com
+ easy to determine the function and name
- hard to remember and pronounce, once you run out of four
character servers, determining the name and function will be
difficult. Joe's Deli and John's Delivery will have conflicting
names
- [random combination of numbers and letters]
eg) ak1jop3d.domain.com
+ none really
- confusing.. really confusing. Can you imagine saying to someone
"log on to alpha kappa one john omikron peter three delta?"
- [theme based name]
name servers based on a theme, eg Gundam
eg) zaku.domain.com, gelgoog.domain.com
+ easily identifiable - all Gundam names belong to Joe's Deli,
easy to pronounce and remember
- hard for a new tech or management (why would they need to know?)
to associate to a server
"I'd like to know what others in the tech community use for server naming policies when planning large scale data centres. Also, with data centres located nationally, does the naming convention pose any problems? Thanks."
At my last job, we had ~40 machines in the low order of a class C. We named them after the elements in the periodic table. This gave us an easy naming scheme, and also served as a last-resort DNS system, as the last digit in the machine's IP number was the atomic weight of the element. It was pretty clever.
Why not just do subdomains (e.g. web01.joesdeli.domain.com)? Ease of use... ease of maintenance (due to seperated dns entries). Just plain easy :)
My company is an example of extremely stupid behavior. We have desktop machines named jsmithw2knyc. Anytime the machine is reassigned to another person, moved from office to office, or changes operating systems, the hostname and DNS must be updated. It's silly.
Do NOT use cutesy names. (Homer, Marge, etc etc etc). That works fine when you've got a lab of a dozen machines. When you've got thousands it's silly and unmangeable. I know I don't expect I'll be able to remember where one our of 5000 hosts is just because the name is "mickeymouse". Imagine just how functional that is for somebody who's new to your NOC?
:) But with that many machines, the biggest problem you have is FINDING the machine when something goes wrong. My company here has a policy that we name machines after beaches --- "pismo" "waikiki" etc etc. Thats all fine and dandy..... until the someone starts screaming "WHO IS RUNNING HOST *LONGBEACH*??? YOU'RE SPEWING OUT CRAZY MULTICAST AND TRASHING THE NETWORK." Our host count is only in the low hundreds, but actually FINDING the offending machine is a big fat waste of time.
Personally I'd encode them using one or two characters to denote the platform ( i = intel, s = sun, h = hp, blah blah). Then use the additional characters to denote room, rack, etc etc. If you're allowed to use sub domains that makes your life much easier.
Maybe I'm over pragmatic
If you absolutely have/want to use 'friendly' names. Give your machines multiple names..... the pretty one, and the ugly sensible one so you can easily map between the two when you have to.
I hate to use it as an example --- but look at Hotmail when you log in. They are using subdomains and strict naming conventions for there servers. It's the only sensible thing to do..... unless you're trying to guarantee youself job security (and if thats the case and I was your boss and I found out i'd fire your ass for being a moron).
You should assign LOGICAL names to services, and then map them into actual hosts via CNAME records.
For example, we have our servers named after the characters from Cheers - norm, diane, cliff, lillith, etc.
We also have functional names - smtp, pop3, dns, etc.
Now, in the DNS records, we have:
smtp CNAME cliff
pop3 CNAME cliff
dns CNAME norm
As a result, the clients are configured to send mail to smtp, get mail from pop3, but that is mapped into cliff. If we move outbound mail to norm, we just change the cname.
www.eFax.com are spammers
Michael's 3 Rules of Device Taxonomy:
I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
Create subdomains based upon server function. w.foo.com for web, f.foo.com for file services, d.foo.com for DNS, etc. Expand to two-digit subdomains, *.dx.foo.com or *.w9.foo.com if you need more.
Skip the themes for individual server names. You can use themes for DNS subdomains, but you don't need to actually name the "gemini" server group *.gemini.foo.com, but you can call the *.g.foo.com server group the gemini group.
You don't need to throw any reference to the operating system in the DNS name. If you replace a server with one from a different OS (like you migrate your database from HPUX to AS/400 or Linux), then you have to run around to several places and change the DNS name that other boxes point to. It also allows you to cluster mixed operating systems (good for reliability), and to transition from one OS to the other.
Finally, name your servers numerically as you add them to each sub-function group. Old servers that are slow and coming off lease soon will have lower numbers than higher ones. Just start with A0000001 for the first one in each domain, and go. If there are too many servers starting with A, then be slightly redundant and have the first letter of the server name match the single-letter subdomain. The first DNS server would be d00000001.d.foo.com.