Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Server Naming Conventions?

Posted by michael on Tue Mar 12, 2002 05:47 PM
from the never-run-out-of-tolkien-characters dept.
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."

+ -
story

Related Stories

[+] Technology: Suitable Naming Conventions For Workstations? 688 comments
spectre_240sx writes "We've discussed server naming a fair amount in the past, but I haven't seen much about workstations. Where I currently work, we embed a lot of information in our workstation names: site, warranty end date, machine type, etc. I'm of the opinion that this is too much information to overload in the machine name when it can more suitably be stored in the computer description. I'd love to hear how others are naming their workstations and some pros and cons for different naming schemes. Should computers be logically tied to the person that they're currently assigned to, or does that just cause unnecessary work when a machine changes hands? Do the management tools in use make a difference in how workstations are named?"
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Yoda2 (522522) on Tuesday March 12 2002, @05:50PM (#3152794)
    You could name them after the seven dwarfs, but then I'm not sure what you'd do with the other 3997?
  • by actappan (144541) on Tuesday March 12 2002, @05:50PM (#3152798) Homepage
    I've always like the idea of naming your systems after your exec staff. Makes rebuilding them kinda fun - and if they're windos boxen - you know that at some point you'll get to reformat your CEO.
    • by bentini (161979) on Tuesday March 12 2002, @07:03PM (#3153422)
      On the subject of execs:
      I'm a student at Stanford, and one of my profs set up a lab a couple years back where each of the workstations was a logical operation. And, Xor, Nand, Or, Iff, etc.
      The server was called "gates", because each of these is a logic gate.
      Then, Bill Gates donated money and there was going to be a Gates Computer Science building.
      Needless to say, my prof lost his name pretty damn quickly, and old Bill was relented to.
    • by JabberWokky (19442) <slashdot.com@timewarp.org> on Tuesday March 12 2002, @07:07PM (#3153462) Homepage Journal
      Yeah, but that leads to phrases like "Sal just went down!" yelled across the office. Bad times. Of course, back in '93, we named the Novell Digi-something modem servers in the Palm Beach Courthouse "Shafey" and "Twan" because they kept going down on each other. The "Political Officer" (read: Elected Offical's Yes Man) calmly asked us to remove the tags and not explain why they were named that during the audit.

      Personally, I named my home servers "riffraff", "columbia", my laptop "eddie", my palmtop "sadie", and so on. My work servers are "ritz", "tim", "susan", etc. For those of you who get it, it's a pretty simple naming scheme, and for those who don't, the work ones are respectable, non-geeky at a glance, and easy to remember.

      For large numbers of computers, name them by department and number. Or location and number. Room/cube numbers seem like a good idea until you start swaping offices and cubes. Best off keeping the numbers semi-random so you don't expect anything, and just log where they are/their name in your asset management software. A system moving inter-department/location will have to be wiped. Period. Easier to track software licenses anyway (especially if each department has a seperate software budget). If you've set up your users correctly, all their files are on the server, anyway. Don't use "Four character and number" or something like that. No reason to say MKEC4711 when it can just be marketingeastcoast-4711. YMMV depending on legacy systems you have to chat with or through.

      --
      Evan "Back in my day, we walked around the office looking at the back of each computer for the ring that fell out of the token network. And we *liked* it".

  • At my last job, we had ~40 machines in the low order of a class C. We named them after the elements in the periodic table. This gave us an easy naming scheme, and also served as a last-resort DNS system, as the last digit in the machine's IP number was the atomic weight of the element. It was pretty clever.
    • A good friend of mine was told to pick an element for his machine name at one job, but of course all of the good elements were taken by that time. (Who the hell wants to be Boron, after all...)

      What did he choose?

      Immodium.

      That still cracks me up - (thanks, Dave!)

      Cheers,
      Jim in Tokyo
    • You mean atomic number right? Or was 2 Deutronium? :) Yep... Deutronium is unstable, it crashed again last night. Something about Deutronium's configuration, I guess. Sounds like this guy needs to invent a few elements. He'll even make it to the coveted Unobtainium. (I wouldn't use this one in hopes that I could get that Quantum computer on the net.) I guess I'm odd for giving them a name based on their function (Web1, web2, db1, db2). My CSC dept. names their servers after birds( Eagle, Hawk, Ospre(doesn't help when you can't spell them)). A friend and I built a cluster, and named it chicken. We even printed a picture and put it on the front to make it easily identifiable.

      I like elements though, very clever! :)
      • I'm sure that he meant atomic number, since atomic weights are non-integer, except for Carbon.

        Personally, I favor naming them after scientists - this is what 95% of the world's laboratories in every field do. The two computers in my dad's lab are Watson and Crick (he doesn't even work with DNA). Substitute other sorts of famous people; presidents, athletes, whatever.

        The anime characters are good, if that's what people in your group can remember. One lab I was in that had a lot of computers used deities; Linux were Hindu deities, NT were Greek, and Irix were Egyptian. We added a Mac (OS X) which I named Arawn (Welsh deity).

        With 200 machines, you're gonna run out of pet names really fast, so I think you'd need to assign a whole new category of names to each busines, so Joe's Delivery could get Rolling Stones songs, and John's Delicatessen could get war criminals. That would be cool, and that way any administrative subdivisions could use naming conventions that they were good at remembering.

        Oh! I have an idea, you could assign each company a word (Winter and Dog, say) and name every computer associated with that company that word, in a different language. All of the web-servers could be french (Hiver and Chien?), the POP servers spanish (Invierno and Perro) and so forth.
  • by Anonymous Coward on Tuesday March 12 2002, @05:51PM (#3152805)
    Name them after pop-stars. Hey, Britney is down again. N-Sync has crashed.
  • by Ars-Fartsica (166957) on Tuesday March 12 2002, @05:52PM (#3152810)
    Create namespaces for your servers and structure them as such. For example, p.1.foo.com, p.2.foo.com, secure.3.foo.com, login.5.foo.com, etc.

    This lets you distinguish between the server number in a rotation (the second element) and the specific service it is supporting (the first element).

    • by scotpurl (28825) on Tuesday March 12 2002, @09:56PM (#3154271)
      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.
  • I like to make my customers think... That's why I have echelon, bigbrother, etc. It's lot's of fun. I have learned to stay away from religious names though. I once had a baptist minister who wondered why a WHOIS on his domain showed his nameserver as Lucifer.
  • by antiher0 (41258) on Tuesday March 12 2002, @05:52PM (#3152814)
    Why not just do subdomains (e.g. web01.joesdeli.domain.com)? Ease of use... ease of maintenance (due to seperated dns entries). Just plain easy :)
  • Check the RFC (Score:5, Informative)

    by wiredog (43288) on Tuesday March 12 2002, @05:53PM (#3152817) Journal
    RFC 1178 [ietf.org], Choosing a Name for Your Computer
    • Very interesting.

      Of historical interest, from the RFC (written in 1990): "Extremely well-known hostnames such as 'sri-nic' and 'uunet' should be avoided since they are understood in conversation as absolute addresses even without a domain." I consider myself a bit of an old-timer, but though I recognize uunet, I've never even heard of sri-nic. I'm sure someone knows about this; please inform!
      • Check your DNS history:

        The accessibility of distributed resources carried with it the need for an information service (either centralized or distributed) that enables users to learn about those resources. This was recognized at the PI [ed. Primary Instigators] meeting in Michigan in the spring of 1967. At the time, Doug Engelbart and his group at the Stanford Research Institute were already involved in research and development to provide a computer-based facility to augment human interaction. Thus, it was decided that Stanford Research Institute would be a suitable place for a "Network Information Center" (NIC) to be established for the ARPANET. With the beginning of implementation of the network in 1969, construction also began on the NIC at SRI."

        The Stanford Research Institute's Network Information Center (SRI-NIC) became the responsible authority for maintaining unique host names for the Internet. The SRI-NIC maintained a single file, called hosts.txt, and sites would continuously update SRI-NIC with their host name to IP address mappings to add to, delete from, or change in the file.

        This was the first semi-distributed name resolution on the Internet. You all understand that eventually the hosts file became too big and led to the development of BIND (DNS Service).

    • Re:Check the RFC (Score:5, Informative)

      by mmontour (2208) <mail@mmontour.net> on Tuesday March 12 2002, @06:28PM (#3153160)
      Also see RFC2100 [ietf.org], "The Naming of Hosts"
      • Boot Up! (Score:5, Funny)

        by epsalon (518482) <slash@alon.wox.org> on Wednesday March 13 2002, @04:33AM (#3155380) Homepage Journal
        A:Boot up?
        B:Which server?
        A:Up.
        B:Up who?
        A:The server.
        B:Which?
        A:Boot up.
        B:Boot up what server?
        A:No no what server should stay up!
        B:I don't know.
        A:No no that's our web server.
        B:Your web server is "I don't know"?
        A:Yes. But nevermind, we need to boot up.
        B:What server?
        A:What server should stay up.
        B:I'm ASKING YOU THAT! WHAT SERVER SHOULD STAY UP?
        A:Certainly.
        B:Oh at last! So certainly should stay up. Ok, so I should boot what server?
        A:No no no, what server should stay up!
        B:Certainly.
        A:OK, so now boot up!
        B:AAAAARGH! What does that server do?
        A:It's a mail server.
        B:So, what you get mail what server does it say in the headers it's from?
        A:No no, what server's our web server. It says it's from up.
        B:What do you mean up? Mail can't come from up!
        A:It can if it's our mail server.
        B:You're mail server is called "it" and it should boot it up?
        A:No no no! It's our DNS server! We should be booting up!
        B:So we should be booting it up?
        A:No. We should be booting up.
        B:THAT'S WHAT I SAID!

        ...
  • No no no... (Score:5, Funny)

    by burtonator (70115) on Tuesday March 12 2002, @05:53PM (#3152819)
    use 128 bit UUIDs... no collision!

    AD87D0A9S8D90A9D80AD90ASD8A0D80F0A80D8F0AASD3

    if that isn't easy to remember I don't know what is!
  • by Jeffrey Baker (6191) on Tuesday March 12 2002, @05:54PM (#3152836)
    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.

    • by wowbagger (69688) on Tuesday March 12 2002, @06:03PM (#3152937) Homepage Journal
      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.
  • Close to home (Score:3, Interesting)

    by catfood (40112) on Tuesday March 12 2002, @05:55PM (#3152842) Homepage

    For my little network at the home office I use the original (pre- annexation) names of streets in the neighborhood.

    My wife thinks this is cool because she loves local history.

    I think it's cool because I get to use names like maple, kuchle, liberty, newburgh, and columbus. Only the real old-timers from the hood get it. They enjoy knowing a little something about computers that younger people don't, even though it's totally non-technical.

    As a practical matter, it's a nearly inexhaustible "theme" category; as you need more names, just reach out to a larger radius. In a decent-sized city you'll need a full Class C to max out the theme.

  • Naming Conventions (Score:5, Interesting)

    by nurightshu (517038) <rightshu@cox.net> on Tuesday March 12 2002, @05:55PM (#3152850) Homepage Journal

    At the company I work at, we have ~5000 servers worldwide, and they all follow the same naming convention:

    • 2-character nation ID
    • 2-character state/province/region ID
    • 3-character city ID
    • 2-character production/development classifier
    • 3-character unique numeric number

    Thus, a production server in Minneapolis, Minnesota would be usmnminpsnnn , or a development server in Vancouver, BC, would be cabcvandsnnn .

    • by krokodil (110356) on Tuesday March 12 2002, @06:20PM (#3153086) Homepage
      Thus, a production server in Minneapolis, Minnesota would be usmnminpsnnn


      I think snnn.ps.min.mn.us.company.com will look way better.

    • You could also just use GUIDGEN on your local windows box to name your servers:

      9A962BCC-97E0-4268-ABD4-FB5E7236DF64
      AAEBD785-B9CB-405c-A09A-91719C979626
      DDDFB01E-5979-454f-BE1E-175453F52127
      Etc.

      Then its sort of like remembering phone numbers. What, you can't rememberize 4000+ phone numbers? Then you buy ACT! or some other contact management software. Then you set up contact reminders to make you remember to ping the server to make sure its alive or back it up. Your reminder list probably wouldn't be more than a few hundred entries on each day. You could polish that off before lunch. Then ask for a raise because you solved the problem without doing hardly any work! Thats reusability, and they pay people a lot to be good at it you know.

  • by StandardDeviant (122674) on Tuesday March 12 2002, @05:56PM (#3152860) Homepage Journal
    At $job[-2] we had about 200 hosts, give or take. Effectively, we did the name + number bit, becuase in our case, the servers were either standalone functionality (e.g. primedns.foo.com, secdns.foo.com, extwww.foo.com), or part of a large herd of machines doing the same thing: pbs001 .. pbs111 .. pbsXYZ (number cruncher machines running the pbs job batch control system). My advice to you is locate the "unique" machines, and give them names that strongly reflect their function on the network. The "herd members" you should give numeric names to (e.g. aix9999, fbsd3333, lnux2222, etc.) that also reflect the operating system being used (standardize the abbreviated os names, of course, nothing like wondering if 'dux' is a machine that quacks or a data general UX host). Keep an electronic (and paper!) record of what client is on which herd machine. I know the number thing seems a little impersonal, but how many anime series are there that can scale to several thousand host names? Even if you like war and peace, you'd run out after several hundred...
  • by Apuleius (6901) on Tuesday March 12 2002, @05:58PM (#3152879) Journal
    1. None at all. Good for security. A naming
    convention is a nice shortcut when a script
    kiddie is portscanning.

    2. Naming conventions. (I.e. name the
    Web server "Tolkein-Place-Names", the
    mail server "Famous-Composers", et cetera.)
  • First job of mine was with a national hosting firm, so they made a naming scheme that reflected geography, client, and series. For example:

    customer-01.jfk.foo.net

    Worked fairly well. We used the code for the closest airport for the geography portion. Also served to make dns adminning a mite prettier. Course that provides you're not against overly specific domain names. The '01' could also be replaced with significant letters for certain machines. customer-fw, for example, would be customer's firewall.

    A more bureaucratic approach that we did at another job combined the theme idea with the department name. This works in a place where there are lot of computing divisions that have their own little kingdom of machines. Like where I work, we're known as "D0". Thus, we call our machines d0nut, d0mino, d0om, you get the idea.

    We also have an unofficial series system that borrows on the idea, d0lx001 is d0's first linux node. Again, it works well for the scope it's been defined for.

    I wager a nicely scalable system could be built using a combination of my two examples. If your machines have limits on hostname length, check on the limits of dns heirarchy. They may allow finer granularity.

    For small organizations (under 20 machines, not counting workstations), theme oriented works just fine.
  • be sensible (Score:5, Insightful)

    by furiousgeorge (30912) on Tuesday March 12 2002, @06:02PM (#3152923)
    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).

    • Re:be sensible (Score:5, Interesting)

      by DeathBunny (24311) on Tuesday March 12 2002, @06:54PM (#3153345) Homepage
      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.


      That's stupid. Now if I move the server from one rack space to another, or upgrade it to a different platform then all my users have to change the config on any applications that reference the server? Not a long term scalable solution.


      Keep location and platform information in a seperate document or database. Or create HINFO records in DNS.

  • What I used (Score:3, Interesting)

    by rosewood (99925) <rosewoodNO@SPAMchat.ru> on Tuesday March 12 2002, @06:02PM (#3152924) Homepage Journal
    Okay Im a big literature dork (not a spelling dork) and I named all the servers based of characters from Canterbury Tales by Chaucer. Then, I used shakespeare characters (we had one box prown to crashing named Hamlet, god that killed me - Im a loser). After that to please my co-worker, we did a few steven king titles and then some Clancy. Those were the only modern literature relations - the rest were all classic literature but pretty random. Cervantes, Poe, Melvil, Orwell (1984 and AFarm were both there), and so many more. Book titles, famous characters, and authors were all game. We tried hard to associate the server type with the character if we could

    We had fights with management wanting names like MAIL01, MAIL02, etc. but I bit them down when I told them that if one server type ever got above 100 then it would be a bitch or over 1000, etc.

    Upper management liked the scheme cause when they would show clients the server rooms they would see these great literature references on the boxes which made us look inteligent. Win + Win.
  • by maggard (5579) <michael@michaelmaggard.com> on Tuesday March 12 2002, @06:06PM (#3152971) Homepage Journal
    I've seen everything done from rack location to names of famous mass murderers. I've also come across trees, gems and minerals, elements, manufacturers, saints, serial numbers, dates, movie titles, etc.

    Michael's 3 Rules of Device Taxonomy:

    1. What information do you NOT wanting leaking out (write on the chalkboard 100 times "I will never name Payroll's server "Payroll" ever again!") In this case what information could make a Cracker's break-in easier?

    2. What information in a name is going to be most important to the folks working with the servers? Owner, application, model, OS, location?

    3. Finally, what information is likely to remain consistant for the life of the server?
  • by defile (1059) on Tuesday March 12 2002, @06:21PM (#3153091) Homepage Journal

    The LIRR homepage is http://www.mta.nyc.ny.us/lirr/. The LIRR is run by the MTA, which is located in NYC, which is a city in NY, which is located in the US. Perfect scheme, and a suprisingly decent application of DNS. Especially for government.

    So why suffer with jdeli342.domain.com? Why not a.jdeli.domain.com, b.jdeli.domain.com, etc? In addition to allowing for easier delegation of services, you can set search orders in /etc/resolv.conf so you can simply type ``ssh b'' to hop from host a to host b. That's just golden.

    Some other examples..

    Mail Exchangers

    a.mx.domain.com

    b.mx.domain.com

    Nameservers

    c.ns.fudge.domain.com

    d.ns.fudge.domain.com

    Web servers

    e.web.domain.com

    f.web.domain.com

    And so on. If you get to z, make the next one aa, and then ab, etc.

    Also, functional names should not replace cute names. DNS allows you to assign more than one name to a machine. If a machine is repurposed for another ask, it should still be known by its unique cute name no matter where it goes. At the same time, a single host can have more than one functional name.

    No reason barney.domain.com can't also be bc.web.domain.com and e.porn.domain.com. :)

    A source of cute names? Oh, uhm, right now I use Roman empererors. There were tons of them.

  • by Pac (9516) <paulo...candido@@@gmail...com> on Tuesday March 12 2002, @06:22PM (#3153107)
    So you never have a problem remembering their names as with that girl in the restaurant last weekend. Why they have to have different names anyway. So just call them Mary as it should be and add a nice reminder to self about where you last saw the babe, as in MaryFromAccounting, MaryWebServing. You can make the reminders more complex just to help a bit, as in GorgeusMaryWebServing, PlainMaryWebServing.
    • Not to mention none of the users are gonna understand the reference anyway.
      Far more logical to name as follows:

      SRVR1
      .
      .
      .
      SRVR4000

      It is a simple matter then to hand out a quick-reference pamphlet to your users defining what each server is.
      Be sure to order the reference by server name, rather than function or department, as this is how they will be listed in Network Neighborhood. Your users cannot be expected to understand the difference between a print server and a SQL server anyway - no need to confuse them any more than necessary.

      (and if you really do this I want a copy of your next performance review! rofl...)
      • All of our servers are named after mythological/horoscopic characters/creatures, ie Hercules, Athena, Draco, Aries, Phoenix, etc. Works for us. They were originally given names like TTIBDC01, TTIBDC02, etc. Not only more confusing, it doesn't sound as cool in conversation.

        "So, did you install that latest patch on Phoenix?" sounds a lot better than "Updated TTIBDC01 lately?"

        Of course, with that many servers, you're better off naming them with random character strings. Here, I'll get you started...

        for($i=0;$i<4000;$i++)
        $hostname[] = md5(rand(0,(float) microtime() * 10000000));

        :D