Naming Servers - Best Practices

Hello,

I am moving my site over to Linode and am currently planning on 1 web server, 1 mysql server and 1 mysql replication server.

I am naming them:

www-1

mysql-1

mysql-replication-1

I had a question about adding the number at the end. Would I be better of not using numbers and using a generic name, like

mysql-aristotle

wondering from people's experiences, if theres any instances where the number got in the way, such as swapping servers, etc…?

Otherwise, should I just keep them all generic names in case they will serve different functions later.

Thanks!

13 Replies

Just name them. It really doesn't matter as long as you know which server does what.

Only in big (or multiple) data centers are naming conventions with function/location names important.

I also tend to like having an fqdn as a subdomain to one of my main domains (like server-atrocious.example.com) as long as you know what the servers do, you're fine :)

See also RFC 1178, which gets into the pros and cons of various approaches. I personally name all of my hosts after beers, e.g. witte, tremens, and prima. For a client's deployment, however, I use the functional+number method: dbm1 for database master 1, dbs2 for database slave 2, app7 for the 7th app server deployed – but that doesn't mean there's seven of them. (This is a hazard of the functional+number method.)

Appreciate the responses everyone and the link to the RFC. I will look those over.

I like the generic names in case you want to have the server be used for multiple functions, but when I'm looking at multiple terminals, it's nice to see the hostname referencing the purpose.

On a side note, the hostname on the local machine should be the same name (pointing to that ip) in the /etc/hosts file for the external servers?

At work and on my personal servers I use location (as in datacenter) + function + description(number).

Example:

Linode NJ + database + MySQL(01)

lnj-db-mysql01

Linode NJ + webserver + NGINX(01)

lnj-web-nginx01

I don't bother adding master, slave or replication for databases. In a master/slave setup it would just be:

lnj-db-mysql01

lnj-db-mysql02

01 is always the master.

I tend to use either:

Greek gods

Company-serverpurpose

Company-servernumber

I don't add location/provider in there since they're not constants (i.e. I've moved one server to 2 hosts in 3 DCs in the past two days while testing different providers)

I name my servers after planets from the Star Wars universe, matching the general characteristics of the planet to the server. Linodes are really cool so I named it Hoth, my file server is ridiculously capacious so I named it Yavin, etc.

It's another question which dosn't have right or wrong answer.

Here is my two pence - I named my server using the initial of the full company name. Purpose based names also sounds a good practice.

I name my servers after WW2 aircraft or aircraft manufacturers. It works well but I only have a few servers so I'm not in danger of forgetting which one does what. If I had more I'd probably add the function in there somewhere.

Thank you for the suggestions. I ended up using a purpose based name as it made it easier to differentiate when having multiple terminals open.

I also differentiated the background colors of the terminals so in the end, the name didn't matter as much.

I chose names like: db01, db02, web01

It was interesting to add the location: lnj-db-01, mulling over if I need to add that. Does anyone keep linodes in multiple locations, does it serve any purpose other than as backup if the primary location goes down?

Reasons for getting linodes across multiple datacenters include geographic redundancy and reduced latency to clients in different locations. For example, a linode in Tokyo isn't going to provide a great experience to somebody in NYC, and vice-versa. If you had customers or users in both NYC and Tokyo, (or nearby regions), it might make sense to have linodes in both places to provide local service. Of course, that takes effort on your part to account for the distance between linodes, because if you point a linode in Tokyo at a database in NYC, that's not going to be optimal. Need to have a local replicated copy, or a good caching system, or isolated databases, or whatever.

I use a common naming convention across all of my systems (home, Linode, elsewhere). My personal kick, as of now, are characters from the TRON series.

-Tim

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct