September 11, 2013

Windows Server on desktop hardware

The conventional wisdom about the server and desktop SKUs of Windows is that they're meant to be used on different kinds of hardware. That said, there's nothing stopping you from installing a server edition of Windows on desktop hardware.

As long as the computer in question meets the minimum hardware requirements for Windows Server, it will install and run. The question is: Why would you want to do this, and will it run well?

Benefits of Windows Server on a desktop

So why install Windows Server on desktop hardware? Even in this age of virtual machines (VMs), there are a number of reasons that come to mind. The most common is the simple availability of the hardware. Desktop machines are cheap and plentiful, and repurposing yesterday's desktop as today's server (albeit a low-traffic one) is one way to keep such a machine out of a landfill. Plus, it's sometimes more convenient to have a server, especially an experimental one, running on its own hardware rather than in a VM.

Given all this, what kind of desktop system would be suitable for running Windows Server? Microsoft lists the system requirements for Windows Server 2012 as follows:

    A 1.4 GHz 64-bit processor
    512 MB of RAM
    32 GB of disk space
    Optical drive
    Keyboard, mouse, and 800x600 or better display hardware
    Internet connectivity

None of this is out of the gamut even for desktops that are a few years old. Windows Server doesn't require multiple cores, for instance, so even a single-core processor can be used.

Don't expect the same performance

Even if the baseline requirements for Windows Server are still quite low, a number of other issues come up that are specific to server environments:

Desktop systems generally don't support multi-socket configurations. If you're doing anything that requires multiple sockets (as opposed to multiple cores), don't expect desktop hardware to do the job. Multiple sockets did show up in the earlier days of high-end workstations, but they have since been eclipsed by single-socket/multi-core configurations.

Don't expect single-core systems to perform well as servers. If you're repurposing a low-end desktop (low-end by today's standards, that is) that has a single-core processor, don't expect anything like true server performance. Almost every server application needs multiple cores to run well.

NUMA isn't supported in desktops either. Non-uniform memory access (NUMA) or hot-pluggable memory isn't something you see in a desktop setting, either. If you're doing anything that requires NUMA or is designed to test it, odds are you won't be able to run Windows Server on a computer properly.

Desktop storage is definitely not server storage. Desktop 7200 RPM drives are no competition for 10K RPM drives, let alone multidrive arrays. The exception to this rule is if you're using desktop-grade flash storage: While it doesn't provide a lot of space, it does provide suitably snappy I/O.

Networking on desktops is not designed for server loads. It's tempting to think a NIC is a NIC is a NIC, but there are real differences between the NICs designed for servers and those for desktops. If you use an add-in NIC that was designed for server use, that will help a bit, but keep in mind that there may be plenty of other bottlenecks in the system that slow things down.

Microsoft virtualization technology may not work. Microsoft's Hyper-V hypervisor, integrated into Windows Server, has specific hardware requirements. Some desktop-level CPUs may not have the processor extensions that Hyper-V needs. What's more, a desktop-class machine may not be able to support the sheer amount of memory needed to run Hyper-V well. If you're running more than one VM in Hyper-V, it helps to have more than 4 GB of RAM to throw at the problem. The older the desktop-class system, the lower the physical limit for memory that can be added to the machine.

The key thing to keep in mind if you want to repurpose desktop hardware for server use is what the application will be. A desktop system can work fine as a file-and-print server, a low-volume database server or perhaps as a Web server for in-house programs such as SharePoint. Don't expect to use such a machine for anything that will satisfy the kind of demand you would put on a "real" server.

No comments:

Post a Comment