vulcanridr

Host naming convention

I did my first Ansible Archive entry, which listed all of the types of machines. This post is more of a fun look at one of the more non-technical (but kind of geeky) bits of system administration.

One of the things I have noticed in 30 years of being a system admin is that Unix sysadmins are always looking for a perfect naming convention. A good naming convention is almost at the level of mania for a sysadmin, at least on the Unix side.

I have worked in organizations that have used

  • Servers were named for bars, workstations were named for beers;
  • Lord of the Rings names. This was fine...Until you went down the Tolkein rabbit hole and got some of the more obscure character names like celebrimbor and ungoliant, yxerogh and bushenoorg.
  • Mountains. This was not an awful naming convention. I usually localize, so all of the ones I create are from one specific region.

I find that I have spent entirely too much time thinking about my naming convention. It has been working for me for several years now. My naming convention is based on Star Trek. With nearly 60 years of history, and such rich tapestry of canon, that if you are a fan, it is perfect for a naming convention. So these are how I name hosts on my network:

  • Intel-based boxes, x86 and amd64 machines are named for Starfleet starships. This makes sense, since almost all of my machines fall into this category.
  • ARM devices are named for Klingon vessels.
  • MIPS devices are named for Romulan ships. This, again, makes sense, since the Romulan ships are not as well-developed as either Starfleet or the Klingons, especially since Ronald D. Moore's development of the Klingons in the TNG/DS9 era.
  • Jails, VM, and containers are named for Trek characters. All of the first series (TOS, DS9, ENT, TNG, Voy) are fair game.
  • Network devices are named for Trek space stations, observatories, starbases, etc.
  • FreeBSD boxes need a name for each pool, if they are running ZFS. What I do in this case, is to use the ship's registry number(s) as the pool name. So for instance, my desktop machine is named defiant. It has two pools. The NVMe pool is named NX74205 (Sisko's USS Defiant from DS9) and the spinning rust pool is NCC1764 (the USS Defiant from The Tholian Web in TOS and In a Mirror Darkly from Enterprise). Thanks to the richness of the Trek canon, even some Klingon ships have registry numbers, so it all works out.

As I said earlier, I have spent entirely too much time pondering the naming convention, but it works out fairly well. Some say you should name your systems like cattle and not pets. So say your db server might be pg01db or your webserver might be web01. But honestly, where is the fun in that? Unless you are managing hundreds or thousands of machines, you can usually keep it straight. Even with Tolkein names...for the most part.

This post is in no way a "teachable moment" but a (hopefully) fun look into the mind of a sysadmin.