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."
I recommend a Sci-Fi theme. It's simple at first (pick an author/story and stick with it for a while) and can expand (how many different sco-fi movies/books/etc are there?). Comparatively, other things tend to run out when you expand. Plus, with Sci-Fi you can do exciting things like "All web servers will have robot names from Asimov". Something to think about.
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
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.
At our ISP we've recently started rebuilding all of our servers. As we go, we're renaming them to character names from BSSM (Japanese vers. of Sailor Moon ) like: "makoto" or "usagi.XXXXX.com". Should be good for a while. :)
:)
In general, a genre of science fiction would tend to work, as scifi stories tend to have large numbers of "named things" in them for some reason. (Just thing of all the planets mentioned at some point in the Foundation series).
Famous literature is a good source as well. How about cluster of Caddy, Benjy, Jason, and Quentin? We'll be naming the "important boxes", ie a primary name server, after the author, with the backup or subsidary boxes named after characters in books they've written. It's a pretty easy method to come up with new names, and if you're an IB student you'll have no problem recognizing what cluster a specific machine belongs to
Hire a Linux system administrator, systems engineer,
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.
At home, I ditched both of my hostnames (my firewall & the web server have public IP's)...
They are now called Northtower and Southtower, in honor of those two big buildings that are missing from the view out my window.....
Let's never forget.
--NBVB
Think less dotted quad and more in-addr.arpa. Better to use 1.p.foo.com, 2.p.foo.com, 3.secure.foo.com, 5.login.foo.com, etc., i.e. the server number in a rotation (first element) and the service supported (second element). Advantages: a) compresses better, saving bandwidth in multi-record responses; b) you can more easily delegate subdomains, i.e. secure.foo.com IN NS a.ns.secure.foo.com.
This message has been scanned for memes and dangerous content by MindScanner, and is believed to be unclean.
It may sound clever at first glance, but ultimately such a naming scheme ends up becoming a nightmare. One should stick to the same principles in naming servers that one would adhere to in choosing primary keys for database tables. A good unique identifier is short, unlikely to change over time, and does not encode any additional information.
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.
Say you host servers for the FooBar corporation; you would then name the servers as "fbn01e1", "fbn10e3" etc.
Looks cryptic? It's not:
fb - FooBar
n01 - Node #01
e1 - Ethernet interface #1
Many may not realize, but it's not about naming computers, it's about naming the interfaces that matters. You don't touch the computer, you log in through the interface. You don't connect the computer to a router, you plug in the cat5 to the interface.
The node numbers above btw are not sequential, they're rack/slot numbers. So the first slot on the first rack would be n01; if that computer was a 4U rackmount, the next one would be called n05. Given 40U racks, the first server on the second rack would be called fbn41e1.
What's really good about this naming convetion is that it's really easy to locate individual servers; let's say mathilda.foobar.com won't ping anymore - how the hell do you know where it is if there are 200 foobar.com -computers! And they all have at least two network interfaces... If it was fbn45e2 that's dead you'd know instantly that it's the FooBar corparation's server on the fourth slot of rack #2 AND the second ethernet interface that's won't answer anymore.
Hell - the best blind jokes I learned from a woman who was blind, and the funniest black jokes I ever heard were told mostly to and about Rubin, a very large black man (who listened to modern country and wore a cowboy hat).
Get over it. Humor is humor, and it includes all aspects and walks of life. The only question is a matter of appropriateness - you don't tell certain jokes at weddings or funerals that make sense at Dennys at 3am after a night together with friends. But the same goes for clothing - you don't wear the same things in either situation either.
What a horribly bland world you would have us live in, where we can't laugh at ourselves.
--
Evan
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien