Ein Hostnamenkonzept

Bundy beschreibt in Als die Rechner Namen bekamen wie sich das Thema Hostnamen bei ihm entwickelt hat. Fast jeder hat da sein eigenes Konzept, das oftmals davon abhängig ist wieviele Rechner man betreut, wie konservativ die Firma ist, der eigene Geekfaktor und vieles mehr. Geradezu Klassiker sind mittlerweile Hostnamen welche sich an griechichen Göttern orientieren, Star Trek/Star Wars, Simpsons, Futurama meinetwegen auch Desparate Housewifes oder 24 abbilden. Im Kleinen mag das funktionieren, wie zuhause bei mir, aber im Großen sollte es schon etwas ausgereifter sein.

Zuerst sollte man davon Abstand nehmen Hostnamen zu wählen, der auch gleichzeitig einen Dienst darstellt. Nennt man seinen Server zum Beispiel www mag das auf den ersten Blick eine tolle Idee sein, wenn man aber irgendwann mal auf einen anderen Server migrieren möchte geht das Drama los. Viel besser ist es einen abweichenden Hostnamen zu wählen und später einfach nur den DNS-Eintrag für den Dienst zu schwenken.

Oftmals kann man Hosts in Gruppen einsortieren und ihnen eine Funkion zuweisen. Um beim Beispiel Web zu bleiben:

  • http-srv – beschreibt einen Web-Server
  • http-db – ist eine Datenbank für Web-Server
  • http-script – dort liegt die Provisionierung der Web-Server

Logischerweise hat man oftmals mehrere Maschinen mit gleicher Funktion, weswegen eine Durchnummerierung notwendig ist. Kein grosses Ding, man sollte sich nur Gedanken darüber machen, was passiert wenn z.B. http-srv0 abgelöst werden soll. Heisst der neue Server nun auch http-srv0 oder doch lieber http-srv1? Ich halte letzteres für die bessere Lösung. Es ist ein sauberer Schnitt. Keine doppelten oder Spielereien mit temporären Namen und der nächste kann ja wieder http-srv0 heissen.

An dieser Stelle muss der Name noch nicht Zuende sein. Man kann noch weitere Informationen im Hostnamen ablegen wie z.B. den Status des Systemes, ob es sich um eine physikalische Maschine handelt oder eine virtuelle und, wer mag, den Standort.

So ergibt sich z.B. ein Hostname wie http-script0-vta. Also ein Provisionierungs-Server für das Web-System, ein (v)irtueller Server, ein (T)est-System am Standort A.

Als Host-Typ würde mir spontan (v)irtuell oder VMWare, (p)hysikalische Maschine, Solaris-(Z)one einfallen. Beim Status wären es (p)roduktiv, (A)bnahme oder (T)est-System. Der Standort wiederum sollte sich an die Gegebenheiten orientieren. Meist reicht Standort A oder B, sind die Hosts über Deutschland verteilt bieten sich Auto-Kennzeichen an.

Letztlich ist es wichtig eine maximale Länge von Hostnamen vorzugeben. Niemanden ist geholfen mit einen Bandwurm-Namen, andererseits gibt es die Hostname Tab Completion in der Bash und ZSH.

15 Kommentare zu „Ein Hostnamenkonzept“

  • Du hast eines vergessen, die seltsame Verbreitung gewisser Comicfiguren von Uderzo. Wie viele Rechner mir schon begegnet sind, die Miraculix hiessen.

  • Treffer, bei uns in der Firma heissen die Server wie die Charaktere der Simpsons, allerdings sind es nur ein paar, also der nächste wird vermutlich Selma (Schwester von Marge) heissen.

  • Ich genriere meine Hostnamen durch folgendes Schema:

    Die einzelnen Stellen representieren folgende Werte:

    1. Server | Mobiles Gerät | Workstation, also S, M oder W
    2. Linux | Windows | Solaris, also L, W oder S
    3. Ubuntu | Debian | Suse | Redhat | Mandriva | Gentoo | XP | Vista | solaris 8 | etc, also U, D und so weiter
    4. Physische maschine | Virtuelle maschine, P oder V
    5. Feste ip | Dynamische ip, F oder D
    6. forlaufende Nummer in der Klasse, 3-stellig, um einen 8-stelligen Hostnamen zu bekommen.

    Also Hostname kommt dann slupf001 oder wwxvd002 dabei heraus. Sieht zwar auf den ersten Blick nicht sprechend aus, wenn man das Schema aber geschnallt hat, gehts gut. Zumindest für Techniker. >:-}

    Der Standort spielt für mich keine Rolle, aber läßt sich ja schnell in so ein Schema integrieren.

  • Olaf:

    Hrm, die Server in meiner, ex-, abteilung werden nach küchenutensilien bezeichnet.
    Da wären toaster, blendern, fridge, cookbook, knife, fork, masticator, hatch, salt, pepper …
    Das sind die reinen Maschinennamen. Was die Kisten machen, Webserver, Scriptserver, Jumpserver, Datenbank, Radius, DNS o.ä. bekommen ist ein CNAME auf den hostnamen. So kann man die dienste umziehen ohne den hostnamen oder groß im DNS zu schwurbeln.

    Meine privaten Server und Rechner sind nach Elementarteilchen benannt: proton, elektron, neutron, quarks, string ;).

  • Wer dabei ist, den Standort in den Hostnamen zu codieren, sollte kurz innehalten und sich fragen, ob das nicht in eine DNS-Domain besser hineinpaßt. Außerdem sollte die Gruppierung nach Standort so gewählt sein, daß man nicht bei kleineren Umzügen schon ins Schleudern kommt. “New York”, “Rio” und “Tokio” sind okay. Wenn man zuhause noch “Hanau”, “Darmstadt”, “Frankfurt” und “Wiesbaden” hat und in zwei Jahren vielleicht wegen Kapazitätsenpaß der USV mal 10 Server von einem RZ ins andere umziehen können will ohne sie umbenennen zu müssen, sollte man aber tunlichst den Lokalpatriotismus sausen lassen und sie zu “Frankfurt” zusammenfassen. Sonst weiß man am Ende trotz toller Namenskonvention nicht mehr, wo die Server stehen. (Selbst bei einem Kunden erlebt, das Trauerspiel.)

  • Ach ja. Wie lautet denn die offizielle Funktionsbeschreibung eines “Jumpservers”?

  • Man kann dann auch noch p, t und d in den NAmen aufnehmen für Prod, Test und Dev.

  • Wer seine Server nach Aufgaben benennt, kann aber auch in eine Sackgasse rennen.

    Bei uns läuft mittlerweile ein Server “srv-apps-01″, der als Applicationsserver konzeptioniert wurde, dann interimsweise ein paar Drucker serviert hat, und nun nur noch als Printserver arbeitet.

    Wir werden die Server zwar intern weiterhin nach Zweck benennen, werden die Dienste, die darüber laufen, aber nur über im DNS festgelegte CNAME-Eintrage nach “draußen” geben.

    Clients wurden bei uns bisher nach dem Aufstellungs-Standort benannt (beispielsweise cl-brat-01 – das nichts mit dem Fleischgewerbe zu tun, sondern steht für “Client Betriebsrat 01″ ;) ), werden zukünftig aber voraussichtlich nur noch nach Geräteart und OS mit laufende Nr. bezeichnet, da man seit Anbruch der Zeiten von Thin-Clients und Abteilungsumzügen sonst fast nur noch am Umbenennen von Geräten bleibt.

    Ob auch hier Aliases im DNS eingetragen werden, die weiterhin den Aufstellungsort beschreiben, ist noch offen.

    Naja: ich denke, egal wie man’s macht, irgendwie ist immer ein Fallstrick dabei.

    Gruß
    Stefan

  • Olaf:

    Bei uns ist der Jumpserver, der Server wo die Homedirs der Networkoperator liegen.
    So muss man nur einen Server im Backup haben und nicht 20 Worstations ;).
    Auch ist der Zugriff nur von diesem Server, bzw. dessen Nachbarn (NMS, Scripting etc.) auf den Backbone und die Geräte dort gestattet.

  • @micha: Sieht auf den ersten Blick tatsächlich etwas unübersichtlich aus.

    @martin: Ich persönlich halte auch nichts davon den Standort eines Server im Hostnamen zu verewigen.

    @TabTwo: >(p)roduktiv, (A)bnahme oder (T)est-System – Ist die Entsprechung zu Deinem Vorschlag.

  • @6/Martin: Also als Name für einen Jumpserver würde ich spontan mal “login” vorschlagen, bzw. “login01-nyc” bzw. “login3-ffm” oder auch… “keymaster”. :P

    Was ich eigentlich mit meinem Geschreibe ausdrücken wollte ist, dass es bei ein paar hundert bis tausend Servern etwas unübersichtlich wird wenn jedes Gerät irgend einen Zoo-Namen hat … das kann sich irgendwann keiner mehr merken. An dieser Stelle machen funktionelle Namen einfach mehr Sinn.

  • Bezüglich (p)roduktiv, (a)bnahme und (t)est: Normalerweise werden Systeme immer mit dem Produktionsnamen aufgebaut und an das Operating übergeben. Testmaschinen bleiben Testmaschinen. Abnahmemaschinen gibt es nicht. Das es innerhalb des Prozesses, von der Bestellung der Maschine bis zur Übergabe an das Operating, eine Abnahme gibt, steht außer Frage. So kenne ich das von einigen Firmen, die sowas nach ITIL hochgezogen haben.

  • @Patrick: Wie man das auslegt ist eine Frage der Organisation und Arbeitsteilung in der Firma. Ich sehe das so: Auf Test-Systemen entwickeln die Software-Mokels ihre Software, auf Abnahme-System wird die Qualitäts-Sicherung gemacht (=Abnahme) und wenn das geschehen ist, geht sie auf das Prod-System. Ich als Sys-Admin hab da nicht viel mit zu tun, ausser das ich die Kisten stelle auf denen das gemacht wird.

  • Nähern wir uns mal wieder dem Heise-Niveau? ;-) – Wenn jemand “Abnahme” sagt, wo andere “Integrationstest” sagen, dann gibts auch Abnahmeserver. Ich hatte auch mal einen Kunden, bei dem “P” nicht für “Produktion”, sondern für “Praxis” stand. Die Welt ist bunt, Leute. :-)

  • @martin: Es reicht, wenn die direkt Beteiligten wissen was gemeint ist, es muss nicht selbsterklärend für den Rest der Welt sein. Aber wie Du schon sagst: die Welt ist bunt und um wieder zu Heise zu zurückzukommen: Granatenstark, Hoschi :)

Archiv