Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We're a small development company and we're currently looking for a server for our internal needs. The basic idea I came up with is that this machine will itself run nothing but VMWare or Virtual Server (we'll be using Windows) and host virtual machines for various capacities.

We need to run:

  • Domain Controller
  • Microsoft SQL Server (for testing purposes, nothing really heavy)
  • Web server (again, for testing purposes)
  • TeamCity, JIRA, Confluence whatever

I'm absolutely unaware of current hardware trends (but I do know how to assemble a PC, I just can't really tell the difference between all theses Conroe, Merom, Wolfdales, etc.), so I'm asking for a configuration for a machine capable of performing the said tasks. My personal wishes include lots of RAM, multicore CPU (this is common nowadays, isn't it?) and probably RAID. Other than that I'm open for any ideas.

share|improve this question
2  
There's no "probably" about RAID. A server computer w/o RAID isn't a server computer-- it's a ticking time bomb. You haven't mentioned backup, but you definitely need to consider it, too. –  Evan Anderson Aug 21 '09 at 13:46
2  
You ought to edit your question and qualify what your downtime tolerance / expense will be. Some of the posters here are getting really crazy w/ recommendations re: avoiding "single points of failure" that are wholly unrealistic, from a budget perspective, unless you have serious needs for uptime or immense per-hour downtime expense. (An iSCSI SAN for a box supporting 10 users? Really?) This looks like a pretty straightforward name-brand server computer w/ RAID, a fair amount of RAM, redundant power supplies, and a next-business day service contract to me. –  Evan Anderson Aug 21 '09 at 13:52

9 Answers 9

You'll definitely want RAID if your DC is running on it. You'll also want something from the VMWare Hardware Compatibility List, as it only supports certain systems.

http://www.vmware.com/resources/compatibility/search.php?ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

For a CPU, I'd say get at least a Quad Core Xeon, the newer the better. And RAM is cheap (relatively speaking) and even 24GB isn't too big of a budget cruncher. If you can afford it, I'd get a chassis with 6 drive bays and a SAS controller and set up a RAID 10 across 450GB 15k drives, giving you about 1.2TB of space, and some serious performance.

share|improve this answer

Those ten people may be really mighty ticked if one hardware failure dies and everything...everything...is gone for awhile.

If I wanted to virtualize everything on the cheap, I'd look at investing in two computers like those from whitebox's site...hardware compatibility for building an ESXi system from scratch. You can build a suitable ESXi (free bare metal hypervisor for VMWare) for ~$500, if you play your cards right.

Or you can look for compatible used Dell servers like 2950's from their refurb store.

I'd set up at least two systems so I could copy backups and run two separate physical VM's for domain controllers. AD likes having more than one to sync to, and the ESXi VM will improve performance a little.

Small company is one thing and I understand the budgeting issues, but complete failure of all servers can also impact a small company far more than a larger company with plans and staff in place to deal with it. Having those two machines to create some form of redundancy when something fails will make you a hero...

share|improve this answer

For 10 users I would ...

  1. Buy a Windows 2003R2/8 server (quad core, 4gb ram+)

    • domain controller
    • SQL Server
  2. Run Hyper-V with:

    • web server
    • other services

Invest in a quality server (avoid whitebox or custom) with a nice raid card and a hot spare drive and your off to the races.

I would have a plan in place to move these roles around if you grow, in which case I wuold recommend the DC and SQL servers be split, and the machine run everything inside virtual containers, but for 10 users, having 5 virtual windows servers is OVERKILL.

Likely you have NUMEROUS single points of failure --

  • Single power source, no generator
  • Single switch network
  • Single internet connection

Millions of small businesses run off a single server with good backups. Its a risk to do so, but for the 50-60 servers I actively maintained for 3 years as a consultant, the only issue we ever had was memory related, or a dead raidcard. Measure the cost of downtime. Does a 1% risk of a server going down for two days in 3 years justify a more redundant system.

share|improve this answer

I would always want a physical DC somewhere in my network. I can imagine a scenario where the VM's won't start properly because there isn't a running DC, and you have to play with the start-up processes to ensure that the DC VM is always running before the others, make sure the host has a local account you can get into. Having a small DC that is physical, even if it is not a real server machine, can get you by this.

share|improve this answer

Be careful, there are some restrictions over what you can do on a Domain Controller, especially on microsoft products. Example : TFS won't install on a DC.

share|improve this answer
    
I'm planning to use different VMs for DC and other dev stuff, but still thanks for warning! –  Anton Gogolev Aug 21 '09 at 11:23

Sorry but the voices in my head are screaming single point of failure at me. Not a helpful response. I suppose the hardware spec would depend on what you mean by a small company, how many users are you looking at?

share|improve this answer
    
Really tiny for the time being: 10 users max. –  Anton Gogolev Aug 21 '09 at 11:58

As the loads are quite light, it's the ease of use and versatility you'd really like to have. I'd do this by getting some entry-level configuration of something listed in VMWare ESXi hardware compatibility list. One quadcore CPU, 6 or 12 gigabytes of RAM and a RAID controller with a battery backup should do the job quite nicely. Choosing the right chassis will also give you a relatively easy upgrade path. For example, HP DL380 G6 could be equipped with two CPUs, up to 144GB of RAM and 8 HDD's, but starter bundles are still relatively cheap.

Anyway, it's better not to buy it over-spec'd at first. It's easier (and more cost-efficient) to beef up only the areas that are actually bottlenecks. The downside is that you have to understand your loads and every once in a while take a look how your servers are handling the loads.

share|improve this answer

I am a fan of the larger HP prolient systems, they are a bit pricey, but are cheaper than dell servers (and a bit more reliable imho). The only issue you run into with them is upgrade hardware, but third party vendors are reliable for that.

I'd suggest in investing in one with hardware raid (the ml350 has one, but not the ML120), and get two of them to setup as failover/load balance. or keep one on cold spare pre configured to take over if the first nose dives. Using windows virtual system or VMware server on a windows install would probably be better than a ESX for you application.

I know you can get the ML350's from provantage for decently cheap, and they come with the ability to have dual quad, and a bunch of ram (i don't remember the max off hand)

share|improve this answer

If you are truly a small business, then you may want to take a look at Windows Small Business Server 2008 Premium, which includes two Win 2008 OSes (which you'll run as VMs), Exchange 2007, SharePoint 3.0, Forefront Security, and SQL Server 2008.

Comparison table for SBS Standard and Pro

I'd further recommend installing Microsoft Hyper-V as the host OS (which is free) and using your dual-OS Win SBS Pro licenses as two guest VMs.

For hardware:

  • x64 Quad-core CPU
  • 8 GB of RAM using a few DIMMs as you can so you can expand
  • RAID 0+1 (aka RAID 10)
  • 4 or 6 drives that spin at 10,000 to 15,000 rpm

I've found that when I began virtualizing machines, RAM and hard drive I/O were my main performance limitations. If you are running two VMs, one with SQL server, you should invest in the faster drives. As for RAM, it won't be long before you'll want to add another VM and then another to your host, so leave some empty DIMMs to expand.

I have to agree with others, that you are creating a single point of failure. The better approach would be to have two servers running Hyper-V and an iSCSI SAN for shared storage. The SAN would hold your VMs. If either Hyper-V host crashed, your VMs would move to the unaffected host.

This might sound like overkill. But if these 10 users can't afford any downtime, then redundancy will pay for itself.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.