This article originally appeared in TidBITS on 2014-05-12 at 2:31 p.m.
The permanent URL for this article is: http://tidbits.com/article/14749
Include images: Off

Take Control of OS X Server, Chapter 2: Choosing Server Hardware

by Charles Edge

This article is a pre-release chapter in the upcoming “Take Control of OS X Server,” by Charles Edge, scheduled for public release later in 2014. Apart from Chapter 1: Introducing OS X Server [1], and Chapter 2: Choosing Server Hardware [2], these chapters are available only to TidBITS members [3]; see “Take Control of OS X Server” Streaming in TidBITS [4] for details.


Choosing Server Hardware

Perhaps the hardest part of OS X Server is getting started. What computer should you use for your server? How much RAM and storage space should it have?

As the carpenter’s saying goes, “Measure twice, cut once.” Rarely is this more true than when planning to deploy a server. The more people who will access the shared resources of the server, the more the saying applies.

There are three main areas to consider: Storage [5], Server Resources [6] (such as CPU and RAM), and Bandwidth [7]. Plus, how you configure your server depends on what types of services you’ll be hosting, how many of them you plan to run, and how many users will be connecting.

For instance, file servers typically need more storage and bandwidth. Web and database servers typically need more CPU and RAM. Servers managing network services such as Open Directory, DHCP, and DNS are often not taxed at all, so it would be better to have redundant servers than to pour additional resources into a single server.

Other Hardware You’ll Need

Your server should also have a keyboard, pointing device (trackpad or mouse), and display. You can run the server headless, or without these items, but make sure you have them handy (e.g. shared with another computer you use) in case your server won’t boot and you need to troubleshoot why.

More important is an uninterruptible power supply (UPS), which provides battery backup in case of power failure. Any machine that you’re setting up as a server will be running 24/7, and in the event of a power failure, you at least want the option to shut it down gracefully if the outage is likely to last longer than the UPS’s battery. UPSes also condition the power, removing spikes and dropouts that can degrade a computer’s power supply and chips over time. Well-known UPS manufacturers include APC and Tripp Lite.

How large a UPS you should get depends on the Mac you’re using and what else you plan to attach to the server, plus any networking hardware necessary for the server to remain accessible. Both APC [8] and Tripp-Lite [9] offer buying guides to help you choose the right model and size of UPS.

Storage

File sizes are growing astronomically. For file servers and backup servers, you really can’t purchase enough storage, and that is especially true if you’re storing video. There are two elements to consider when it comes to storage:

  • How much? The total amount of storage should correlate to your needs, with a bit of future proofing built in.
  • Throughput: Throughput to the storage is mostly pertinent in solutions for video, database servers, and other data-intensive systems. For most smaller environments, unless you want to stream video, a Thunderbolt or USB 3 storage array is sufficient, with enough space to back up your data.

Choosing a Storage Vendor

There are numerous storage vendors, making it hard to find quality products that you can trust. Unfortunately, it’s also a fast-moving market, so any list here would likely be out of date by the time you read it.

I’m going to go out on a limb and say that you can trust the equipment Apple sells. There are certainly other great vendors, and if you know one you trust or that is recommended by someone you trust, by all means purchase from that vendor. Otherwise, check the Apple online store, since Apple thoroughly vets the vendors and equipment they sell.

When planning storage, consider having a smaller drive or partition (maybe 100 GB) as the boot volume and a larger one as your data volume. Separate disks are always fine, but it’s often easier (and a better use of resources) to make multiple partitions on a disk by partitioning it in Disk Utility. Also, separating your data and your operating system keeps the server stable even if you fill up the data drive and, in the event of corruption or failure, lets you restore one without having to restore both.

The only time you want to avoid partitioning is if you are using SQL databases or anything else that’s disk-intensive, since performance will suffer. In such a situation, each volume should ideally have its own dedicated drive or dedicated drives in a RAID configuration.

Don’t Forget Backup Storage!

You can never have enough backup storage for a file, database, or Web server. I’ll cover this in Chapter 12, Backup, but the more storage you have, the more versions of old files you can keep and the less likely you are to have to tweak backups manually once you’ve completed setting up the server.

Server Resources (CPU & RAM)

A stock Mac mini or older Mac Pro usually has ample resources for offering basic services such as file serving. When figuring out what Mac to buy or press into service, and how to equip it, you’ll need to keep two basic variables in mind: CPU power and amount of RAM.

There is no magic formula for planning a server deployment; however, the more services that you will be running, the more memory you will need, and the more users that will access each service, the more CPU you will usually need so that each service can process requests faster.

What about a MacBook or iMac as a Server?

Although it’s possible to run OS X Server on a MacBook Pro—or even an 11-inch MacBook Air!—I don’t recommend using a laptop as a server. They’re not designed to run non-stop, and they are likely to have cooling problems.

Conversely, although the iMac works fine as a server, you may not want to dedicate a Mac with a built-in display to server tasks, since you likely won’t be looking at its screen much after setup. Opting for less expensive hardware is fine.

CPU

How heavily each service will be used determines how powerful a CPU your server will need. For some environments, such as a home file server, Apple’s cylindrical Mac Pro would be overkill, unless you’re also using it for home decor. Stick with a Mac mini for a home file server.

On the other hand, if you expect to have more than 50 users accessing your file server, or if your server will be engaged in a CPU-intensive process like video transcoding, then the top-of-the-line performance of the Mac Pro may be welcome. And if your budget doesn’t have room for a new Mac Pro, a previous-generation Mac Pro tower would be a good compromise.

RAM

As I said, when it comes to RAM, the key thing to realize is that the more services you run on a single server, the more memory that server should have. For example, if a server is going to run directory services, file sharing, and shared calendars, plus manage DNS for the network and manage incoming backups, even for a smaller environment, you’ll need much more memory than a server that is just hosting directory services or file sharing for even 100 or more people.

Each service requires memory, and I generally recommend at least 4 GB per service, although many services can’t utilize more than 8 GB. You should always start a Mac server with at least 8 GB of memory and go up from there, depending on how many services you want to run.

When to Add RAM or Buy a New Server

Let’s say you’ve set up a server using an old Mac mini with 8 GB of RAM, and performance is lagging. There are two possibilities: the CPU could be insufficient, or you could need more RAM. If you can add more RAM, that’s the easiest thing to try. All Mac minis since the mid-2010 model can take up to 16 GB of RAM, so max out the RAM and see if your performance problems disappear.

If adding RAM doesn’t help, you’ll need to consider a faster CPU, which in the Mac world means buying a new machine, since no modern Macs accept processor upgrades.

There is one other possibility, though. If you can’t add enough RAM to support all the services you want to run, or if you’re concerned that even a faster CPU won’t solve the problem, it may make sense to offload some services to another server and run two, rather than replacing it with a beefier Mac that has a faster CPU and can accept the necessary amount of RAM.

Bandwidth

When it comes to thinking about server performance, you must always keep bandwidth in mind, but it can be a bit more complex than some of the other topics in this chapter. At a base level, you must consider the network interface on the client, the network interface on the server, and the network link between the two.

Since all recent Macs have gigabit Ethernet ports, you’ll get the best performance if everyone sticks with wired Ethernet (assuming your Ethernet cabling is in good shape and you have gigabit Ethernet switches).

Where you start to run into trouble is with Wi-Fi, where the caveats start to pile up. In theory, 802.11g maxes out at 54 megabits per second (Mbps), 802.11n can hit 150 Mbps, and 802.11ac can go as high as 1.3 gigabits per second. In the real world, throughput is dependent on many variables, and never reaches the advertised maximums. In short, wireless is likely to be a lot slower than wired.

The practical upshot is that your server should be connected to your network solely via wired Ethernet, and any client computers for whom performance is important should also be on wired Ethernet.

But even then, meeting bandwidth requirements is a growing challenge, thanks to the amount of data being pushed through servers continuing to increase. If you are deploying a file server, consider how many people will be opening and saving files from your server simultaneously, such as first thing in the morning when everyone comes in, or at the end of the day.

For a small ad production company, for instance, this might involve ten people who have to work on a 5 GB video file. Even if the company’s server is a Mac Pro with gigabit Ethernet, it could take well over a minute for users to open files. A minute may not sound like much, but when you’re waiting for a file to open or save, it can be an eternity.

When thinking about bandwidth requirements, note that the potential throughput required is the number of users accessing files multiplied by the size of the typical files accessed. So consider how a typical user would access files and multiply that person’s maximum throughput by the number of users, keeping in mind what your network type can do. For instance, if you have ten users going over gigabit Ethernet interfaces, you could have a maximum throughput of 10 gigabits, which a single gigabit Ethernet interface cannot provide for. What to do?

Luckily, there are three main ways of increasing bandwidth, and while the specifics are beyond the scope of this book, the following advice should set you on the right path. All of these options can be pricey and are listed in order of potential expense, but time is money, so if you need the speed…

  • Provide an interface for each user. Mac Pros have a lot of Thunderbolt ports, each of which can each have its own IP address, making it possible for each user to have a dedicated network interface.
  • Consider bonding multiple Ethernet ports together using link aggregation. To use link aggregation, you need a switch that supports the feature. A beneficial side effect of link aggregation is redundancy. If one Ethernet port goes down, the overall connection remains active, with the remaining ports maintaining connections.
  • If you’re using a Mac Pro as your server, invest in a 10 gigabit Ethernet network card. This will require 10 gigabit switches and network adapters, plus at least Cat6 Ethernet cabling.

Realistically, most people reading this book won’t need to go to such lengths. If the amount of time users will have to wait for files to open and save is satisfactory to all parties then there’s no need to have more than the standard single gigabit Ethernet interface. And if you’re running a Web server on a network with a 10 Mbps connection, you aren’t likely to ever saturate a gigabit Ethernet interface.

When and Where to Buy

Now that you have a sense of what to shop for, where should you buy it? The Apple Store and Apple resellers can sell you all the hardware you need to build a server. Contact them with a list of your requirements to place an order.

When a new model of a Mac first comes out, there is often a delay in getting it. Plus, most servers are built to order, with faster CPUs and more RAM, so expect to wait 1–3 weeks for components to ship, according to the supply. For example, fibre channel RAIDs usually take a few weeks to ship; however, a stock Mac mini Server will usually ship on the same day.

Ordering hardware is usually the easiest (and costliest) aspect of setting up a server. When you place an order, you can ask your sales professional to give you a sanity check on whether you are purchasing the right hardware. Unless you are purchasing a Mac mini Server, the Server app will be an additional software download, covered in Chapter 3, in Download and Install the Server App.

Plan for Ongoing Costs

Don’t forget about annual costs! When budgeting, consider that you are likely to replace the server every 3–4 years and that Apple servers will get free upgrades to OS X every year or two.

While OS X upgrades are free, plan on spending $19.99 each time to upgrade the Server app, given that OS X Server typically has a new version that corresponds with the annual release cycle of the operating system.

Also budget time for care and feeding. I usually like to plan on someone spending about an hour per month for each service running on the server. This time is spent troubleshooting, updating, and managing the server and is an approximate average of what I see across the hundreds of servers that my team manages at my office.

Read More: About [10] | Chapter 1 [11] | Chapter 2 [12] | Chapter 3 [13] | Chapter 4 [14] | Chapter 5 [15] | Chapter 6 [16] | Chapter 7 [17] | Chapter 8 [18] | Chapter 9 [19] | Chapter 10 [20] | Chapter 11 [21] | Chapter 12 | Chapter 13 [22] | Chapter 14 [23]

[1]: http://tidbits.com/article/14748
[2]: http://tidbits.com/article/14749
[3]: http://tidbits.com/member_benefits.html
[4]: http://tidbits.com/article/14744
[5]: #Storage
[6]: #ServerResourcesCPURAM
[7]: #Bandwidth
[8]: http://www.apc.com/tools/ups_selector/
[9]: http://www.tripplite.com/products/ups-buying-guide
[10]: http://tidbits.com/article/14744
[11]: http://tidbits.com/article/14748
[12]: http://tidbits.com/article/14749
[13]: http://tidbits.com/article/14799
[14]: http://tidbits.com/article/14821
[15]: http://tidbits.com/article/14840
[16]: http://tidbits.com/article/14861
[17]: http://tidbits.com/article/14883
[18]: http://tidbits.com/article/14950
[19]: http://tidbits.com/article/14967
[20]: http://tidbits.com/article/14987
[21]: http://tidbits.com/article/15005
[22]: http://tidbits.com/article/15037
[23]: http://tidbits.com/article/15055