I used elements from the periodic table for server names when I was green. I learnt about that pretty quickly. My current major client, I have 90K desktops, 5000ish servers, 650 sites, 500K users.
If the client is only in one or two datacenters, I do something to the tune of LocationCode-Purpose## e.g. CO-XMB01 - Central Office Exchange Mailbox 01. More distributed clients I use the nearest major airport ICAO code ORDXMB01 - Chicago eXchange MailBox 01.
As far as server purpose codes, I can think of offhand:
XMB - Exchange Mailbox
XOW - Exchange Outlook Web Access
XGW - Exchange Gateway
XPF - Exchange Public Folder
XCN - Exchange Cluster Node
XCS - Exchange Cluster Server
SCN - SQL Cluster Node
SCS - SQL Cluster Server
SQL - SQL Server
ORCL - ORACLE Server
??DB - Some application database, with the first couple letters being some application identifier code
DNS - DNS
DHCP - DHCP
WEB - Web Server
FTP - FTP Server
SMTP - SMTP Server
DC - Active Directory DC
?DC - AD DC in a multidomain environment - some one letter code for the domain at the beginning
SRV - General purpose server
PRN - Print Server
FIL - File Server
GSX - GSX Host
ESX - ESX Host
VIS - MS Virtual Server Host
Workstations - I've seen so many naming conventions, each one depends on how the client's business organization works usually.
Network Hardware - I usually go for something to the tune of Airport Model Purpose Number. ORD6509BBR02 - Chicago 6509 Backbone Router 02. DEN6509ASW01 - Denver 6509 Access Switch 01.