Why Do We Name Servers the Way We Do?
jfruhlinger writes "If you use a Unix machine, it probably has a funny name. And if you work in an environment where there are multiple Unix machines, they probably have funny names that are variations on a theme. No, you're not the only one! This article explores the phenomenon, showing that even the CIA uses a whimsical server naming scheme." What are some of your best (worst?) naming schemes?
A goofy naming scheme is a bad idea when you're running over 100 servers in a dynamic environment. When your servers are named after wines, cheeses, and trees, who can say what Oak does, or Chablis, or Feta, or Jujuba, or Sassafras, ad nauseum.
-r0
Naming our machines in odd and amusing ways it our way of secretly rebelling against over management.
Just like my user name, I decided to go with the word "snow" in various languages. So far, I have my router chioni, server nix, desktop losse, and various other names for components. My wii is yuki, my xbox 360 is xue, my ipod touch is lumi. Beyond that I've also used "eira" and "schnee".
At my university NMSU, the CS department used alcoholic drinks (vodka, gin, etc), which were changed to vehicles (cobra, stingray) over complaints from an incoming professor. The sunrays were "bear" in various languages (oso, medved, ursa), and later they had words from the hacker's dictionary (foo, bar, baz, frob)
The naming schemes all were easily memorable, and prompted word associations, making them easy to mentally group. Ok, except the translations for bears, (and mine for snow) except for fellow crazy polyglots, and linguiphiles.
WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
Over time, systems get refactored for uses that they were not originally intended, so that box named web1 is now an ftp server and nobody bothered to rename it. The same happens when you try to name them by physical location. r1a2r10n5 got moved from Room 1, Aisle 2, Rack 10, Number 5 to another room entirely.
The easiest time I had dealig with servers was when they were named after japanese monsters. We had Godzilla, Mothra, etc. We all know that Godzilla was the PostresSQL server. If a box's purpose changed, we didn't have to worry about renaming it and people would eventually learn its new purpose.
Whimsical names work.
-- Will program for bandwidth
Odd named hosts often have a meaning once you are clued in on the naming scheme. First off it really helps to give hosts on the network a NAME not just a number. You could just skip DNS if you are going to number em. A well thought out naming scheme helps. If you do it right the name gives you a rough idea what it does and still allows some fun in naming.
If I see a tree themed hostname I instantly know it is one of the machines in a patron lab. Flowers are staff hosts and mythological beings are in the server room. Yes machines in a lab could just be numbered but ya could also name yer cats Cat 1, Cat 2, Cat 3, etc.
Democrat delenda est
Why would this be limited to just Unix boxes? I've seen plenty of windows, mac, linux, etc network servers with the same kind of strange naming conventions.
And for the same reason that we name the variable total_annual_cost instead of c113, it helps to have a human-readable/remember-able name for the server instead of a collection of gibberish which, though it may translate eventually into some useful information, is so hard to remember that it takes longer than just looking it up on the chart of server names on the wall. The names must be arbitrary because the server must be able to be repurposed, but the names must be consistent or they do not offer any mnemonic assistance.
We name servers for one group out of one arbitrary category (say mythical monsters) and servers for another group out of another (say SF authors). This allows the name to communicate some information directly (info which is unlikely to change even if the server's role is changed within that group). While all other information can quickly be found on the wiki or a printed out chart, which actually happens faster than deciphering that at13g3d12 is the 12th dev server for group 3 in the at&t datacenter rack 13. (It really is faster to look it up than to decode even that simple of an encoded name.) Finally, for an individual dev working on several projects it is much easier to remember that the billing project is on mothra while the reporting project is on grendel than it is to remember that one is on at13g3d3 and one is on at13g3d4.
My company actually switched from an arbitrary but consistent naming convention to a strictly encoded naming convention and quickly switched back when the loss of efficiency and productivity was actually measurable.
By your logic, I can name all the variables in my code "x", "y", and "z" and then complain that they've hired *idiots* who can't remember that "x means the number of items in the shopping cart, duh". I could claim it's just a rite of passage into the world of complex software development...
Depends. Functional naming conventions often try to name servers according to some crazy attempt to fully qualify the server name. It'd be like naming your variables like I have seen in some VB programs (stupid Hungarian notation!)
I have worked in places where servers are given functional names, and places where servers are named in a more whimsical fashion. Functional names suck.
Even "meaningful" names lose meaning over time, due to changes in naming conventions, repurposing of hardware, or other unforeseen things. Might as well give them whimsical names which relate to one another, yet aren't dependent on the implementation details. Servers are named for human reference, else they'd be IP addresses.
Then, a new director or new group handles server allocation. The naming convention changes and you have to remember yet another arcane naming system.
Again, functional names are cumbersome and hard to remember. And you often have to type server names over and over again. It's easier to remember names like sleepy, grumpy, and dopey than to remember and constantly retype TXDALDC09DEV01, TXDALDC03DEVDB01, and CASFDC06QADB11.
If you just hate whimsical names, then at least serialize the server names. Server01, Server02, and Server03 is a better way to go than coming up with some complex system of fully qualified names.
blah blah blah
We had this exact problem. Originally they were all named Webserver1,Webserver2,Monitoring1,Monitoring2 etc etc etc. We decided it would be cool to name them all after simpsons characters. 3 Days later I get an alert to my phone at 2am to tell me Nelson is not responding to ping. WTF is Nelson? Is he important? No idea what he did, and if he needed rebooting immediately or could wait till reasonable hours.
Hence I'm a big proponent for a useful naming scheme.
In Soviet Russia the insensitive clod is YOU!
Skynet
> It's a really bad sign when your naming scheme is less user-friendly than IP addresses
Name them whatever you want on the inside, then use an alias for stuff on the outside. But don't tie geography to the hosts. You'll always have to rename them if they move, even aliased. If you don't it's asking for trouble. You really don't want to have to bring up new hosts in that old data center you moved from a couple years ago, do you? That's just a great way to confuse things: "Which MSFT-MGJ-MAIL01 box is the one that's really in SNA again?"
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
We had this exact problem. Originally they were all named Webserver1,Webserver2,Monitoring1,Monitoring2 etc etc etc. We decided it would be cool to name them all after simpsons characters. 3 Days later I get an alert to my phone at 2am to tell me Nelson is not responding to ping. WTF is Nelson? Is he important? No idea what he did, and if he needed rebooting immediately or could wait till reasonable hours.
Hence I'm a big proponent for a useful naming scheme.
Yeah--that's even been a problem at the company I work for. Several times per week I end up in a conversation like this:
Me: "I can't connect to 192.168.7.241--it's out of admin slots for remote desktop" Boss: "What's 192.168.7.241? Is that DumbServerName1?" Me: "I'm not sure, what's 'DumbServerName1'?" Boss: 'It's the domain controller." Me: "Great, that still doesn't help."
I usually know everything by IP or it's DNS name. Where 192.168.7.241 might be 'mail.somedomain.com' but the box has a hostname of DumbServerName1
Lame.
There's no place like
Not to feed a troll, but ...
"Tolerance" is about freedom of choice -- until that choice begins harming others against their will. Most genital mutilation is done before a child even learns to speak, never mind before the child is mature enough to make the decision in the first place. Calling circumcision and other kinds of genital mutilation a "religious freedom" is nothing short of barbaric.
My parents loved me enough to allow me to make the choice whether to keep my foreskin. Yeah, I'm not getting rid of it anytime soon.
Don't blame me -- I voted for Roslin.
I prefer names that mean something. A habit I acquired working on large, very large, distributed IT systems for $LARGEAZURECOMPANY. For example if you have a print serve in Chicago throwing errors it was nice to see: "chiprt7 not responding" as opposed to "Bilbo not responding".
The first message tells you Chicago print server #7 is having problems. The second one tells you nothing.
Or how about a name like dallsite2DB04? If an error is thrown, you know you are dealing with Dallas server, site number 2, database server #4.
Use cute names for your personal rigs. Use useful names for production systems.
putting the 'B' in LGBTQ+
Have two names per machine, a name for the machine itself, and a name for the services the machine provides, CNAME one to the other.
Say that machine's a webserver. Name it nelson, cname webserver01 to it. Setup monitoring using the functional names (webserver01, ns1, etc.) and use the other names for everything else. As people have said elsewhere, machines get repurposed, they rarely get renamed.
I've mostly found it a sign of a company's size/age/maturity as to how boring the server names are. Several places I've worked for started out with the admins coming up with their funny/cute/dorky naming schemes, only to eventually have server names be locked down in the name of STANDARDIZATION.
Then you have endless meetings to decide what should be the important components of a system name. Should it indicate the machine's location? It's OS? It's function? Should it even indicate which rack number and elevation slot the system is in? Eventually you end up with racks full of servers named SJC-LX-APPDEV01, NYC-SV-EXCHG02, and LDN-UX-SMTPDR01.
I have to admit, a little part of me misses having room for a little creativity in naming systems, but then the rest of me doesn't miss wasting time trying to come up with names for work systems. I've always got my home network to label with my ever-changing nerdly obsessions.
> Personally, I like MrDomainController, MrNameServer, MrFileServer, etc.
Sure, and then some of the machines change (or gain, or lose) roles, and somewhere down the line you end up with a webserver named MrFTPServer and a firewall named JrNameServer and a secondary mail server named LittleMissWorkstationXIV.
Either that or you rename your machines every time they change roles, and you end up with inventory-tracking notes along the lines of "MsPrintServer (formerly MrFileServer (previously MrNFSServer (and before that it was MrCEOWorkstation))) had its hard drive die in 2007, so now it has the one from JrFTPServer (not the current JrFTPServer, but the previous one (which before that was MrSMTPServer))."
Madness. There's a reason we give computers names, and giving them names like that defeats the purpose.
Cut that out, or I will ship you to Norilsk in a box.
It does not bloody well make administration easier! If you have say X servers scattered over Y locations, it makes sense to call them:
(site)(os)(function)(number)
i.e.
sydwindb002
meaning sydney windows database 002
as opposed to tauron or frickin picon, or smurf (I'm not kidding you). Best of all though I've seen was server. Just server.
Serving what?? This was in a rack of 27 severs in total.
As a sysad, it shits me when people come up with 'cute' nonsensical names that have no consistency and aren't self explanatory. I mean, good software engineering principles dictate that you use meaningful variable names. Why not server names as well?
http://www.zombieapocalypse.tv/
That actually seems a rational solution. Nothing like hours of discomfort to convince you the whole plan is a seriously bad idea.
God save us from armchair psychologists!
Although it may be healthy to project personalities onto things (I'm a little skeptical, though I could maybe be persuaded by somebody who doesn't go around making sweeping psychiatric diagnoses of people he's never met) that hardly justifies encoding those projections into names. I'm not saying you should never do it (in fact, I do it a lot) but when you do it, be practical. Others may not share your projections. They may find your names confusing, misleading, or even offensive.
Where I work, there are two products that are very similar, but not quite. Somebody in engineering decided that their internal code names should be after a comic book hero and his evil twin. Those of us who don't follow comic books don't find these names very mnemonic, and often get them confused.
You're wondering why I don't tell you these two comic book characters. Can't, because they're for internal use only. If it became widely known that these products had these code names, somebody with a similar product with a similar name could sue us for trademark infringement. (The official product names combine trademarks we've already established with meaningless strings of letters and numbers.) That's another problem with these cute names: get careless and you get sued. Apple actually spends a lot of money paying off people with claims against the names they use for all their OS updates. Possibly worth it, since it contributes to their main marketing asset: their coolness factor. But not worth it for most companies.
And then there are names that just carry the cute reference bit too far. I mean, come on, whose idea was it to name a Linux distro "Yggdrasil"?
You're quite right, and not just about servers. I've been at companies where every printer had its own cute name. And these weren't small companies with a couple of printers, we're talking dozens of them. A real nuisance when your regular printer is broken and you can't remember the name of one of the alternates.
I came back to work at one of these companies, and now all the printers have boring names based on where they are. Makes life much easier.
Soap and water?
We could also cure breast cancer by performing preemptive mastectomies.
We went backwards....
I work in an effects department, all of our systems were named "efx" followed by the room number (like 41) and a letter, if there was more than one computer (efx42a, efx42b).
Then we consolidated the animation department, and now all our computers are named after superheroes.
Huh?
I said "won't think make the engineering department's job harder when they need to work on the computers? They'll have to look up each name to see which one it is!"
"Yeah, but this is fun!"
Whatever.
I guess I'm a boring old idiot... my computers at home are named after the users (we all have our own) followed by either "desktop" or "laptop."
Stupid sexy Flanders.
Here's an analogy... it's like they altered your eyes to make you see in black and white; and someone says you could have a "more intense" vision. Not ever knowing color, you can only imagine that as increased brightness. And you think, no, I don't need more brightness.
But it's not just more of what you know. It's something you don't know at all.
Circumcision is child abuse.
Heaven forbid little boys would pull back their foreskin and rub it with a sponge. They may enjoy it.
Although it may be healthy to project personalities onto things (I'm a little skeptical, though I could maybe be persuaded by somebody who doesn't go around making sweeping psychiatric diagnoses of people he's never met) that hardly justifies encoding those projections into names.
There's a simple, practical reason for using names: IP addresses can be hard to remember.
There's a simple, practical reason for using "themed" name spaces: coming up with dozens/hundreds of names can be hard.
After all, I am strangely colored.
19 cross-sectional studies, 5 case-control studies, 3 cohort studies, and 1 partner study showed that the relative risk for HIV infection was 44% lower in circumcised men. Where's your evidence?
Even worse, when you move PART of an office, or parts of a machine gets repurposed.
Never name a machine based on the service it performs. Services get moved.
Never name a machine based on its location. Machines get moved. Especially these days, when they get put on a VM.
Use a CNAME (or assign additional addresses) for services and locations, and
Then you won't have a problem when things change. Never use the machine name in an automated script or configuration file. Just the service name, which can then move freely from machine to machine.
But the hostname -- that's something you should remember, and which should be unambiguous enough to survive retelling and phone calls. Think about it. Would you rather have users try to tell you they have problems with dcvdxc03 and dcdvxc02 (which might be confused with dcdvxc03 and dcvdxc02), or with oberon and puck?
There are pitfalls with picking name themes too, of course One place I worked, I had machines named chokmah, binah and kether (named after the tree of life). A new admin saw "kether", thought it was due to its connection type, and named the next machine "lether".
Where did I say you can't name things? In the case of servers, printers, etc., you have to name things.
But coming up with names is only hard if you insist that the names be interesting. If you don't mind boring names like p12-3 (printer on the third floor of building 12) it's no big deal. Yeah, it's uncreative, but unnecessary creativity can be a pain in the ass. Save it for stuff that matters.
Except if a hacker gets in and reads the NETBIOS names of your servers, so they know exactly which ones to spend their time hacking. ...which is exactly why cutesy names make sense. Because no one should be able to run a simple scan of your network and be given a map of your servers.
our servers are named form the solar system ... moons too: phobos etc ... The death star is down, reboot!
You know that's not a...sigh, nevermind, I can't go through with it. :)
Right, and having two names for everything couldn't possibly cause confusion or miscommunication.
I don't call myself a 'linguaphile', snowgirl, I just quietly go through life with a PhD in linguistics. Also, your quote there has no bearing on anything. At all.
Hilarious to people into fishing. A total mystery to everybody else. Which I guess is part of the joke, but not a good way to relate to your users.