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."
You could name them after the seven dwarfs, but then I'm not sure what you'd do with the other 3997?
I've always like the idea of naming your systems after your exec staff. Makes rebuilding them kinda fun - and if they're windos boxen - you know that at some point you'll get to reformat your CEO.
\Drew National Data Director, John Edwards for President
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.
Name them after pop-stars. Hey, Britney is down again. N-Sync has crashed.
This lets you distinguish between the server number in a rotation (the second element) and the specific service it is supporting (the first element).
I like to make my customers think... That's why I have echelon, bigbrother, etc. It's lot's of fun. I have learned to stay away from religious names though. I once had a baptist minister who wondered why a WHOIS on his domain showed his nameserver as Lucifer.
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 :)
RFC 1178, Choosing a Name for Your Computer
Best Slashdot Co
use 128 bit UUIDs... no collision!
AD87D0A9S8D90A9D80AD90ASD8A0D80F0A80D8F0AASD3
if that isn't easy to remember I don't know what is!
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.
For my little network at the home office I use the original (pre- annexation) names of streets in the neighborhood.
My wife thinks this is cool because she loves local history.
I think it's cool because I get to use names like maple, kuchle, liberty, newburgh, and columbus. Only the real old-timers from the hood get it. They enjoy knowing a little something about computers that younger people don't, even though it's totally non-technical.
As a practical matter, it's a nearly inexhaustible "theme" category; as you need more names, just reach out to a larger radius. In a decent-sized city you'll need a full Class C to max out the theme.
At the company I work at, we have ~5000 servers worldwide, and they all follow the same naming convention:
Thus, a production server in Minneapolis, Minnesota would be usmnminpsnnn , or a development server in Vancouver, BC, would be cabcvandsnnn .
They that would sacrifice their
At $job[-2] we had about 200 hosts, give or take. Effectively, we did the name + number bit, becuase in our case, the servers were either standalone functionality (e.g. primedns.foo.com, secdns.foo.com, extwww.foo.com), or part of a large herd of machines doing the same thing: pbs001 .. pbs111 .. pbsXYZ (number cruncher machines running the pbs job batch control system). My advice to you is locate the "unique" machines, and give them names that strongly reflect their function on the network. The "herd members" you should give numeric names to (e.g. aix9999, fbsd3333, lnux2222, etc.) that also reflect the operating system being used (standardize the abbreviated os names, of course, nothing like wondering if 'dux' is a machine that quacks or a data general UX host). Keep an electronic (and paper!) record of what client is on which herd machine. I know the number thing seems a little impersonal, but how many anime series are there that can scale to several thousand host names? Even if you like war and peace, you'd run out after several hundred...
News for Geeks in Austin, TX
1. None at all. Good for security. A naming
convention is a nice shortcut when a script
kiddie is portscanning.
2. Naming conventions. (I.e. name the
Web server "Tolkein-Place-Names", the
mail server "Famous-Composers", et cetera.)
First job of mine was with a national hosting firm, so they made a naming scheme that reflected geography, client, and series. For example:
customer-01.jfk.foo.net
Worked fairly well. We used the code for the closest airport for the geography portion. Also served to make dns adminning a mite prettier. Course that provides you're not against overly specific domain names. The '01' could also be replaced with significant letters for certain machines. customer-fw, for example, would be customer's firewall.
A more bureaucratic approach that we did at another job combined the theme idea with the department name. This works in a place where there are lot of computing divisions that have their own little kingdom of machines. Like where I work, we're known as "D0". Thus, we call our machines d0nut, d0mino, d0om, you get the idea.
We also have an unofficial series system that borrows on the idea, d0lx001 is d0's first linux node. Again, it works well for the scope it's been defined for.
I wager a nicely scalable system could be built using a combination of my two examples. If your machines have limits on hostname length, check on the limits of dns heirarchy. They may allow finer granularity.
For small organizations (under 20 machines, not counting workstations), theme oriented works just fine.
Personally, I've thought about naming servers after sexually transmitted diseases. Imagine walking into a room: "Hey, can you check Syphylis? For some reason AIDS isn't talking to it."
52 Weeks, 52 Religions with John Hummel
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).
Okay Im a big literature dork (not a spelling dork) and I named all the servers based of characters from Canterbury Tales by Chaucer. Then, I used shakespeare characters (we had one box prown to crashing named Hamlet, god that killed me - Im a loser). After that to please my co-worker, we did a few steven king titles and then some Clancy. Those were the only modern literature relations - the rest were all classic literature but pretty random. Cervantes, Poe, Melvil, Orwell (1984 and AFarm were both there), and so many more. Book titles, famous characters, and authors were all game. We tried hard to associate the server type with the character if we could
We had fights with management wanting names like MAIL01, MAIL02, etc. but I bit them down when I told them that if one server type ever got above 100 then it would be a bitch or over 1000, etc.
Upper management liked the scheme cause when they would show clients the server rooms they would see these great literature references on the boxes which made us look inteligent. Win + Win.
The ultimate network admin tool needs HELP!
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.
Not to mention none of the users are gonna understand the reference anyway.
Far more logical to name as follows:
SRVR1
.
.
.
SRVR4000
It is a simple matter then to hand out a quick-reference pamphlet to your users defining what each server is.
Be sure to order the reference by server name, rather than function or department, as this is how they will be listed in Network Neighborhood. Your users cannot be expected to understand the difference between a print server and a SQL server anyway - no need to confuse them any more than necessary.
(and if you really do this I want a copy of your next performance review! rofl...)
The LIRR homepage is http://www.mta.nyc.ny.us/lirr/. The LIRR is run by the MTA, which is located in NYC, which is a city in NY, which is located in the US. Perfect scheme, and a suprisingly decent application of DNS. Especially for government.
So why suffer with jdeli342.domain.com? Why not a.jdeli.domain.com, b.jdeli.domain.com, etc? In addition to allowing for easier delegation of services, you can set search orders in /etc/resolv.conf so you can simply type ``ssh b'' to hop from host a to host b. That's just golden.
Some other examples..
Mail Exchangers
Nameservers
Web servers
And so on. If you get to z, make the next one aa, and then ab, etc.
Also, functional names should not replace cute names. DNS allows you to assign more than one name to a machine. If a machine is repurposed for another ask, it should still be known by its unique cute name no matter where it goes. At the same time, a single host can have more than one functional name.
No reason barney.domain.com can't also be bc.web.domain.com and e.porn.domain.com. :)
A source of cute names? Oh, uhm, right now I use Roman empererors. There were tons of them.
If you had stuck with the word "answer" you would have been fine. But you had to try to look smart and look where that got you! Modded up as funny, while making a simple mistake yourself!
If I were clever, I would leave a clever comment here.
Lasers Controlled Games!
A good friend of mine was told to pick an element for his machine name at one job, but of course all of the good elements were taken by that time. (Who the hell wants to be Boron, after all...)
What did he choose?
Immodium.
That still cracks me up - (thanks, Dave!)
Cheers,
Jim in Tokyo
-- My Weblog.
So you never have a problem remembering their names as with that girl in the restaurant last weekend. Why they have to have different names anyway. So just call them Mary as it should be and add a nice reminder to self about where you last saw the babe, as in MaryFromAccounting, MaryWebServing. You can make the reminders more complex just to help a bit, as in GorgeusMaryWebServing, PlainMaryWebServing.
All of our servers are named after mythological/horoscopic characters/creatures, ie Hercules, Athena, Draco, Aries, Phoenix, etc. Works for us. They were originally given names like TTIBDC01, TTIBDC02, etc. Not only more confusing, it doesn't sound as cool in conversation.
"So, did you install that latest patch on Phoenix?" sounds a lot better than "Updated TTIBDC01 lately?"
Of course, with that many servers, you're better off naming them with random character strings. Here, I'll get you started...
for($i=0;$i<4000;$i++)
$hostname[] = md5(rand(0,(float) microtime() * 10000000));
:D
My wife was expanding a lab with a preexisting "seven dwarves" naming scheme. So she invented some extra dwarves.
The two I remember were "sleazy" and "scuzzy".
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
You mean atomic number right? Or was 2 Deutronium? :) Yep... Deutronium is unstable, it crashed again last night. Something about Deutronium's configuration, I guess. Sounds like this guy needs to invent a few elements. He'll even make it to the coveted Unobtainium. (I wouldn't use this one in hopes that I could get that Quantum computer on the net.) I guess I'm odd for giving them a name based on their function (Web1, web2, db1, db2). My CSC dept. names their servers after birds( Eagle, Hawk, Ospre(doesn't help when you can't spell them)). A friend and I built a cluster, and named it chicken. We even printed a picture and put it on the front to make it easily identifiable.
:)
I like elements though, very clever!
Karma Clown
I'm sure that he meant atomic number, since atomic weights are non-integer, except for Carbon.
Personally, I favor naming them after scientists - this is what 95% of the world's laboratories in every field do. The two computers in my dad's lab are Watson and Crick (he doesn't even work with DNA). Substitute other sorts of famous people; presidents, athletes, whatever.
The anime characters are good, if that's what people in your group can remember. One lab I was in that had a lot of computers used deities; Linux were Hindu deities, NT were Greek, and Irix were Egyptian. We added a Mac (OS X) which I named Arawn (Welsh deity).
With 200 machines, you're gonna run out of pet names really fast, so I think you'd need to assign a whole new category of names to each busines, so Joe's Delivery could get Rolling Stones songs, and John's Delicatessen could get war criminals. That would be cool, and that way any administrative subdivisions could use naming conventions that they were good at remembering.
Oh! I have an idea, you could assign each company a word (Winter and Dog, say) and name every computer associated with that company that word, in a different language. All of the web-servers could be french (Hiver and Chien?), the POP servers spanish (Invierno and Perro) and so forth.
The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
Actually, he's probably referring to the three living dwarves. Only Grumpy, Bashful and Doc are still alive.
Sleepy was killed in 1968 when he accidently drove off a cliff (most people who know Sleepy dispute the police report that indicated alcohol was to blame).
Sneezy died of natural causes in 1973 (pollen counts were extremely high that year).
Happy and Dopey were found dead in a hotel room in 1982 of an aparent heroin overdose.
That still doesn't beat sexual positions.
"Hey, would you try DoggyStyle? I can't get in.
RC
Smurfs are good to use as there's so many. Of course that only gets you a couple 1000. You could put them into Quadrants, talk about them as if they were in gangs...the Reds, Blues and so on. Then the head node of each grouping could be papa smurf. That kinda thing.
internet like monkeys'
Moron is a good element too.
Ceci n'est pas une sig
Thank you, I just hit an all time low when I just looked down at my dev machine I am at right now, realizing my machine's name. The label I happen to see upon the face...
BORON
"It takes many nails to build a crib, but one screw to fill it."
and do you call the win2k box uranus?
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.
It is now named Urectum.
Sounds cool. The Win2K servers could be JDean, BHolly, Pre, AEarhart...
"If he thinks he can hide and run from the United States and our allies, he's sorely mistaken." Bush on bin Laden
Our naming convention is simple:
The canonical name of a machine is assigned by the person who is setting up the machine at the time a name is needed. That name stays with that machine throughout its "lifetime." More on a machine's lifetime later. The only three constraints on the name are as follows:
1. It must be something that most people can spell if they heard the name.
2. It must be a name which can be published in a newspaper without embarassing us.
3. The name may not be duplicated.
Notice that this is the canonical name for a machine. We never call one of our machines smtp or www. We alias those standard names to the canonical name.
We define a lifetime for a machine as the time from which it is named to when it has lost its essence. In turn, we define a machine's essence as that which fundamentally separates it from other machines. In our current business, a machine's essence almost always is defined as the machine's purpose in life, which typically includes its OS and the servers running on the machine. There are times where we have converted a machine from Linux to OpenBSD, for example, but kept the name. If the machine is retasked, then it usually gets a fresh OS and new name; the old machine "dies" and a new machine is "born."
That name is added to a database via a record which also contains the machine's hardware configuration, its MAC address, the OS, its maintainer's email address, and its intended purposes in life (smtp, http, file server, compute server, etc.). From that point on, it is the responsibility of the maintainer to update that record. The hostname is considered the database key, and is therefore not supposed to change.
Every six months, however, clean out the database, looking for cruft and abandoned machines. We also try to identify machines that didn't make it into the database and add them. This also provides a quick way to inventory our equipment, since we primarly own computers and network gear.
A:Boot up?
B:Which server?
A:Up.
B:Up who?
A:The server.
B:Which?
A:Boot up.
B:Boot up what server?
A:No no what server should stay up!
B:I don't know.
A:No no that's our web server.
B:Your web server is "I don't know"?
A:Yes. But nevermind, we need to boot up.
B:What server?
A:What server should stay up.
B:I'm ASKING YOU THAT! WHAT SERVER SHOULD STAY UP?
A:Certainly.
B:Oh at last! So certainly should stay up. Ok, so I should boot what server?
A:No no no, what server should stay up!
B:Certainly.
A:OK, so now boot up!
B:AAAAARGH! What does that server do?
A:It's a mail server.
B:So, what you get mail what server does it say in the headers it's from?
A:No no, what server's our web server. It says it's from up.
B:What do you mean up? Mail can't come from up!
A:It can if it's our mail server.
B:You're mail server is called "it" and it should boot it up?
A:No no no! It's our DNS server! We should be booting up!
B:So we should be booting it up?
A:No. We should be booting up.
B:THAT'S WHAT I SAID!
...
Make even shorter URLs - 8LN.org
-Derek