Slashdot Mirror


Server Naming Conventions?

Some random reader sent in: "Hi, I'm wondering what others out there use for server naming conventions. Our data centre right now houses a little under 200 servers, with plans to grow up to 4000 servers within the next five years. We'd like to pick something flexible and easy to manage with any tracking system. The servers we'll be implementing include SUN, HPUX, and AIX servers, in addition to existing Compaq and HP Intel servers, so we'll have to adhere to limitations placed on hostnames by manufacturers (ie HPUX lets you have an 8 character hostname)." We had a similar story a few years ago.

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."

4 of 959 comments (clear)

  1. Don't name the machines after what they do by Jeffrey+Baker · · Score: 5, Insightful
    Make the hostname and the service orthogonal. If your machine is just named h0001.sfo.domain.net, you can easily repurpose it from http to imap service. But if the name is http0001.sfo.domain.net, you'll need to change DNS and change the machine's configuration files before you can repurpose the box. Then you'll have to update your ssh authorized_keys and known_hosts files, and any other information that deals with hosts.

    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.

  2. be sensible by furiousgeorge · · Score: 5, Insightful

    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?

    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 :) 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.

    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).

  3. That's what CNAMES are for by wowbagger · · Score: 5, Insightful

    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.

  4. Subdomain by function by scotpurl · · Score: 5, Insightful

    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.