I Want Names for my Servers!
"System Engineer" is the loving title my employer gives members of our small group that takes care of the servers. Linux, Solaris, AIX, NT, Novell; we are the shepherds that hold this herd together. Often we pet our respective servers, maybe run our hands over their keyboards or do a quick ping just to make sure they are okay. A server likes to be treated nicely, and if I must call it LNXSERVER0143 then it just doesn't get the kind of treatmeent it deserves.
At my previous employer the Netware goons had taken the initiative of using cartoon characters as the naming scheme. It all started with Rocky and Bullwinkle, moved on to Looney Toons, and slowly evolved to include Sesame Street for the NT machines and Disney Characters for the Unix machines. Nothing like logging in to WILE_E_COYOTE, BUGS_BUNNY, or ELMO to cheer up your day in your little cube of isolation. It helps to humanize those objects that can be such a pain. I recently heard of a company using characters from 'Taxi' and 'Mary Tyler Moore'. Being able to say, "Hey, is the hard drive on Mary going?" or "Rhoda isn't accepting logins any more" or "Someone tried to hack RevJim" provides just the kind of relief needed in that time of crisis. Of course, it's also fun.
But in the last few weeks I stepped out on the limb where I now am. I felt the rather lame practice of naming servers after trees (we have Ash, Oak, and Pine as well as others) was getting on my nerves. So I took the chance and named a few servers after X-Men. It's a good theme, with lots of characters to choose from and lots of cool graphics easily available. There is, of course, no official written standard at my employer, but the helpdesk supervisor who had his new app on the servers felt that Xavier, Storm, and Cyclops were not professional enough. They just didn't have the professional feeling of "Oak" and "Ash".
My day was, of course, destroyed. We System Engineers now are tasked to come up with a professional-sounding naming scheme or live with something as intelligent as the machine OS concatenated with the serial and model number, or some such nonsense. Oh the horror! Can you imagine "SOLARISSPRC20SN324234"? What a wonderful name!
Granted, one of my coworkers has suggested Dilligaf. With a little knowledge that one doesn't go over well, and it is but one name. A consistent theme is needed, a theme that fits with the System Engineers, the people who keep the servers happy.
The question has been posed "How will a new person know what the server does if it isn't named something logical?" Well, any person worth their weight in bits knows that XAVIER is probably a primary or secondary DNS, and CYCLOPS of course is a Helpdesk Web Server. It may take a little explaining, but my four year old could grasp it in a couple of minutes. I would expect a computer science major to get it in less than a few hours. And there are such things as aliases!
Xmen, television series, Star Trek ships... Give me my names, let me express myself! How can I as a System Engineer in my structured little cube with my structured little OS and my structured IP scheme live within these restrictive bonds forced upon me by an uncreative group of suits? I don't want a lime-colored Mac, I want real names for my Servers. I want to be able to have my NT Primary Domain Controller called CHER and the Secondary Domain Controller called SONNY. I want to have ELMO, GOOFY, and DONALDDUCK for SQL servers. I want to have Xena and Hercules be the firewall. Break free, my fellow engineers! Don't let 'the man' keep you down! Stand forth and name your servers, establish your theme, and create a standard before someone dares to put their foot down.
The freedom we seek today can only help those who follow us.
Keep the faith!
--Andrew D. Smith
Let's say you have the "logical" name of Linux2214pc. Does that "tell" you what it does? Nope. Does it say what Linux extensions it has? Nope. Does it tell you what software is installed? Nope. Will it remain valid, after the next kernel patch is installed? Nope.
Now, I -do- logically name kernels, by what additional patches are in there. Now, I don't -have- to, but it's handy. I could -equally- use names of characters (real or imaginary) that symbolise those same characteristics.
Now, I'm going to turn the question around. Which is more "logical"? A name that has no permanent, derived connection with the machine, or a name which symbolises the very essence of what's there?
IMHO, the answer is simple. It's actually =ILLOGICAL= to name computers after OS versions, location on a network, or some other transitory feature. You move the machine, install a security patch, or add some capability, and the name becomes invalid. That is not logical. YOUR name doesn't become invalid, every time you read a book or move house! Why should a computer's?
What IS logical is to choose a name which symbolises the essence of what you're going to do with the computer. This will be far less subject to change than mere physical location. If I pick the name "Gandalf" for a computer, the chances are it's NOT going to be for word-processing. Most people know a newspaper is a place to turn for information, so a server called "ThePress" or "Tabloid" is readily identified for what it does.
I know, dull corporations prefer dull names. However, all is not lost. Either alias or multihome your servers. eg: Use a STABLE, SYMBOLIC name as the principle name, and use the unstable, lacklustre, corporate name as an alias. That way, you (and other general users) can know what's where, and the bosses can be happy, all at the same time.
(Sadly, I doubt many exec's would comprehend the benefits of compromise, like this.)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
My tiny lan at home is named after beer styles. The beefier the machine, the darker the beer.
SMP 450Mhz workstation is "Porter"
200Mhz gateway is "Lager"
133Mhz laptop is "Weizen"
486sx-25 laptop is... "Lite"
Maybe someday I can afford a "Stout" - or even "Barleywine!"
:)
Just a few thoughts from a few years of working in academia, the land of interesting names. My last department had machines named after... characters in "Robin Hood" (guess where), cartoon characters, racing drivers, racing circuits, sleazy politicians, participants in royal scandals, priests, fruits beginning with "p", characters from "Red Dwarf", famous traitors, emotions, and.. and.. different naming schemes for different labs or groups. As well as being interesting and varied, this has the added advantage of knowing exactly where a machine is once you know how the schemes work, which isn't as easy when all you have to go on is a random number like "sun0195".
And last but not least, rainstorming for machine names is a great way to liven up a dull meeting.
But history has shown how easy it is to get through Trotsky's ICE.
Now that I think of it, though, it makes sense. If Boris Yeltsin is naming his servers after all his prime ministers, then every time he gets a new box he's got to change PMs.
Wanna precipitate another crisis in Russia? Send Boris a laptop.
So far out of that list I've used frantica, maxima, abnorma, awfu, musica, termina, fata, norma, individua, geographica, idea, and sexua.
The possibilities are endless.
1: Every functional machine type (firewall, app server, DB server, communication server, personal) gets a theme. If you are feeling cute enough, the themes are related (like mammals/fish/insects/birds). In most places, machines don't change functional groups often: once a machine is installed as a database server, it will never serve as anything but a database server.
2: Every machine gets a name based on its group theme. This is the canonical name of the box.
3: If those in power want to use machine-understandable names, make them the canonical names. Then take theme names and bind them to the machine-understandable names, so that HP102x is always, say, Everest, no matter what else happens to the machine. The theme name will likely become the canonical name in everyday speech.
4: Machines get functional names based on their current function. The second mail server gets the name mail_2 or somesuch. This is a secondary name. If the box gets reassigned as a Web server, it gets renamed www_2 or somesuch.
4a: Personal machines (desktops, laptops, Palm Pilots, Dreamcasts...) get a functional name based on their primary user (usually username). If people get multiple computers, they get prefixes or suffixes. Thus, I could have a Linux machine named l_remande, and an NT machine called n_remande. Resist the temptation to make the username name the canonical name; the machine has to get renamed when its primary user leaves your operation, and that often happens more often than computers obsolescing.
The username name is more important than it sounds. People will forget the canonical names of each others' machines (because you never use them), but need to know them to fix them. If I am told that Mary's machine has a problem, I don't have to guess whether I have to log into "mako" or "bluefin", I just log into "mary".
5: When setting up a resource farm (where people can access one of many machines), make sure that all the names are easy to remember and easy to type. At WPI, there was a lab full of DECStations that all answered to things from Buckaroo Banzai: Across the 8th Dimension. Most of the load was on "yaya"; little of it went onto boxes like "planet_10" or "bigboote". The problem was that lazy users saved keystrokes with "telnet yaya", and you don't risk misspelling "bigboote". Elsewhere on campus, it was worse: a math lab had machines named after mathemeticians. Everybody logged onto "godel" and "newton"; I don't even remember the names of the other boxen.
6: Side note: in-jokes work. In the aforementioned Banzai lab, one of the DECStations was still down as the students arrived. By the time it was repaired and booted, it got the name "realsoon". One user at another site had three computers, and the theme was artificial intelligence: he had "huey", "dewey", and "louie" (from Silent Running, not Disney).
7:Good themes share some common attributes. They should have a large, if not infinite, range of names (name them after states, and you can only run fifty machines). The theme should either be extremely obvious (like many nature themes), or be easy to gain context on. Buckaroo Banzai isn't too bad, as you can rent the video: cult movie characters are worse, as you would have to rent a lot of movies to get the joke. People's names are bad: names strange enough not to conflict with the user base are often too strange to remember or type.
These are all internal naming conventions. External names should be different.
--The basis of all love is respect
We couldn't figure out what happened for a while, until someone typed the command:
telnet xb
And got back something to the effect of:
telnet: cannot connect to 0.0.0.11
Telnet had read xb, not as a machine name, but as a hexidecimal IP address!
It quickly became xblb (Xenix Build Lab), solving the problem.
--The basis of all love is respect
Josef
Leonid
Yuri
Maxim
Vladimir
and Leon (Trotsky) is coming soon.
--
Max V.
There should be a moratorium on the use of the apostrophe.
Max V.
NeXTMail/MIME Mail welcome
Don't forget about Alchohol, Nicotine, Prozac, and Viagra. Thinks about it..
"What's the average uptime for Viagra?"
"How long has he been on Crack?"
"LSD seems to make the network act funny."
+&x
RFC 1178 has some good things to say on the topic, too.
1. Don't choose names which relate to funcionality.
This sounds like a joke ("he's saying DON'T use helpful names? huh?") but I'm quite serious. The new machine you are now installing might indeed be destined to run the mail server. All the same, don't name it "mail" or "mail1" or anything like that.
Here's why. A machine can change its function, and a function can be carried out by more than one machine. And machines can carry out more than one function. There is no straightforward one-to-one link between names and functions - so don't try to force one.
It's quite possible that at some point this new machine won't be the mail server any more. At that point, being called "mail" would be a more likely to confuse people than help them.
It's equally possible that you might decide to run a news server on the machine - while it's still a mail server. Can you imagine the conversation?
"I need some setup information for Netscape. What's our mail server called?"
"It's called mail."
"Oh, cool. That's easy. Now, what's the news server called?"
"Uhm... also mail..."
"Oh. Well that's dumb. OK. Finally I need to know what machine our LDAP server is on."
"Uhm.. it's on 'news'".
Not impressive, I think you'll agree.
Here's what to do instead. Give the machines arbitrary names. Then put CNAMES in your DNS for the services pointing to the actual machines.
If you can do that, you can tell people "our SMTP server is called 'SMTP'" and "our news server is called 'news'" and they can keep those settings for ever - you just change what the CNAME points to. You can even make the CNAME round-robin across several actual machines for load balancing - all without the user needing to know.
This doesn't just apply to the traditional services, but also to your own applications. If you have a stock control computer which people telnet to, don't call it "stockctl". Call it "bart" and put in a CNAME pointing to it. Even if you think you'll never change anything, it's worth allowing for the possibility that you will at the start.
2. Don't choose names which relate to form.
This means, for instance, that if your new mail server is a Compaq, it's a bad idea to call it "compaq" or "compaq3" or "cpq00153533" where 153533 might be the serial number.
Why's this bad? Because this information is a) useless, b) hard to remember, and c) likely to become wrong.
If you have a hundred workstations mounting volumes off a machine called "cpq00153533" you're going to have a rough time the day you upgrade the box to "cpq00182243". (Such names are also hard to tab expand if you've set up tcsh to do that as I have.) Unless, of course you just decide to keep the old name, although it is now wrong as well as annoying.
If you've called your machines "dellXXX", apart from trying to remember that "dell159" is your mailserver and "dell195" your quake server, you're going to be in difficulty when you replace some or all of them with IBMs.
The fact is that the manufacturer, model or serial number actually tells you nothing you need to know about a system in day to day use. You might need to know about its disk configuration, contents of /etc/passwd, or available memory, but you will rarely need to remember if it's a 333Mhz or a 366Mhz - and if you do, it should be in your product inventory database (hosted on "ibm104032" of course).
So, the principles in summary:
- Don't use functional names as hostnames. Put in CNAMES for the functional names instead. You'll save yourself lots of grief in the long run.
- Don't use names describing the physical setup, as that's useless, annoying, and incorrect far too often to be relied upon anyway.
Applying these principles requires that there be an "intermediate" naming convention which deliberately does not convey information about function, and which also does not convey information about setup.I would suggest that this naming scheme should use names which are easy to type and remember rather than ones which are repetitive and formal. "srv001" through "srv999" might look nice and orderly, but in fact is much harder to remember and type than "rivers" or "cartoon characters" or "80's arcade games".
Might as well as prepare for the worst. Sometimes they are tasteless but they seem to fit.
Hindenburg
Titanic
Challenger
Spruce Goose
TowerofPiza
Cubs
- My boss arrives, and establishes the first Solaris workstation for the team. He names it artichoke, because he is boring and went with a vegetable theme.
- I arrive next, and have always wanted to do Shakespearean characters (although I hear they are common, I've never gotten to use them). I have two machines to config, so I call them macbeth and macduff.
- The first sys admin is hired. He follow my lead and creates hamlet, prospero, lear, and falstaff.
- That admin, being a contractor, leaves us and is replaced. New admin sees macbeth and macduff and decides to go with the "mac-word" theme. Eschewing "macintosh" because it's too easy, he makes macnugget, macleod, mac-n-cheese(I don't know how he spelled it to make it legal) and macfly. He admits he stretched it in a few of those cases.
- Seeing "macfly" his assistant goes with the "taglines from 80's teen movies" naming scheme, and makes the next machine bueller.
- I don't know what comes next.
I may have forgotten a few.www.HearMySoulSpeak.com
Paul.
You are lost in a twisty maze of little standards, all different.