Introduction, Specifications, and Pricing
Last month I completed a storage network for a gaming center just outside of Indianapolis. After talking with Asustor about the deployment, they asked if I could publish an article showing how to build a smaller scale version for home users and talk about the benefits of holding your system's games on a NAS instead of on the host PC.
The gaming center was not the first time I've built a storage network for holding game for several PCs. Several years ago, I went this route in my own home even though I have more access to storage media than most people do. All three of my kids are avid gamers, and you could call them spoiled. Growing up, the two oldest were born into a world where dad tested video cards, CPUs, and motherboards for a living. Early on, they literally thought dad played video games for a living. Not long after the two oldest could walk; they had a gaming mouse in their hands. The youngest didn't even wait that long!
Benefits of Network Storage over Local Storage
Before we dive in let's identify a few key terms. Network storage is a fancy way of saying network-attached storage, a NAS for short. This standalone box holds storage media, hard disk drives, solid state drives, or a combination of both.
A NAS connects to your network and holds data that PCs connect to via the CIFS (//name_of_NAS/folder_name) or iSCSI, a point-to-point communications protocol that allows the remote storage to appear as local storage.
SATA is a half-duplex protocol. Many of the drives in your PC lack the ability to read and write data at the same time. NVMe SSDs operating over the PCIe bus don't have this limit, but large capacity NVMe SSDs are expensive. iSCSI, like PCIe, is a full duplex protocol that allows data to flow in both directions at the same time.
Your NAS combines several drives that read and write data at the same time to increase performance. Most users will want to use RAID 5 or 6 to build a redundant array that protects your data from a drive failure.
Using several disks in your PC increases the ambient system temperature. Moving the disks to a dedicated box allows you to reduce the internal temperature and thus reducing the cooling requirements and even the physical size of the system. Try putting five HDDs in a modern small form-factor case.
A NAS puts your data in one location that several PCs can access. Instead of putting an HDD (or more than one) in each PC, you can put the disks in one central location and allow the host PCs to access the date safely over the network.
It's possible to load all of your games on solid state SSDs in each PC, but that gets expensive. Most modern NAS allow you to accelerate your workload via SSDs by using them as a cache to the HDD array. Using this method, you can get near SSD performance for every gaming PC with only one or two actual SSDs that sit in front of the HDD array.
You will likely already have several of the required components to build your game storage over a network. Your hardware choices can influence the performance though, and you may want to look at more advanced products when you upgrade next.
For instance, you already have a PC, but you may not already have a 10-gigabit network interface on your motherboard. If you have a free PCIe slot, it's possible to add a 10GbE network card for less than $100. There are several modern components using the AQUANTIA AQtion controller shipping today, but you can also find very low-cost enterprise-grade server pulls on eBay for as low as $30. The server pulls will likely use older components that use more power and produce more heat. Your best option is to choose a motherboard with 10GbE on your next system update. The technology has trickled down to mainstream products from motherboard manufacturers, and you don't lose the use of a valuable PCIe slot with an integrated solution.
10-gigabit Ethernet isn't a requirement for iSCSI, but it does allow you to transfer more data in less time. In many games, the additional bandwidth will decrease your load times, but you will not see a 10x improvement because the CPU is still the bottleneck in most cases. If you do upgrade your network, having at least two 10GbE ports is necessary in 2019. With wireless routers shooting up in cost, spending $300 or more should net you at the very least multi-gigabit (2.5/5GbE) or full 10GbE even if you choose a retired datacenter switch.
Finally, you need a NAS. This can be a prebuilt purpose build system or an older computer repurposed for the task. The former is a more graceful solution using specialized components that maximize performance, power efficiency, and a streamlined installation process that leads to a better user experience. The latter will test your patience by putting the storage configuration and support in your own hands.
Hardware and Software Configuration
NAS Setup and Configuration
We chose to use an Asustor NAS because they deliver excellent iSCSI performance for gaming. Asustor systems use a small amount of system memory for cache, and that increases random small block size performance. We also like the SSD cache features that allow users to use one SSD for read cache and a second SSD for write cache.
The Asustor AS7010T is easy to work with, as you will soon see.
The first thing you want to do is configure the NAS for a static IP address. Your iSCSI configuration is based on the IP address of the system so you don't want it to change. While setting up the static IP address, go ahead and configure the system for jumbo frames with either 9000 or 9014 MTU. We will do this on every network component in the change from the PC, to the switch, to the NAS. This reduces the header overhead for the network traffic.
We use iSCSI instead of a Windows shared folder for a couple of reasons. The first reason is simple; it works on every games we've tried. Some games will not play when installed to a network-shared folder. With iSCSI, the local system sees the drive exactly as it would local storage. There is a disk ID number (we will look at that later on this page.
iSCSI sounds like a complicated term. Thankfully setting the transfer protocol up is very easy. In the four images above, we setup iSCSI on our Asustor AS7010T system. The configuration uses a 3TB space for your games but is a thin provision so the space will automatically grow when you need to install more than 3TB of data.
For best performance, we want to enable the AS7010T's SSD cache feature. This system allows us to mix and match HDDs and SSDs. We chose to use eight Seagate IronWolf Pro 12TB HDDs and two SanDisk Extreme PRO 240GB SSDs in a read + write cache configuration to accelerate both incoming and outgoing data. This system allows us to cache the large block size sequential data. Most NAS will not accelerate sequential data but Asustor allows users to uncheck a box to speed up those files.
Switch Setup and Configuration
Your router or managed network switch should have a setting to enable jumbo frames. If one network hop does not have the MTU set, the entire chain will drop to the lowest setting. This is a screenshot from a managed Netgear switch similar to the one we tested here. Here, the setting says Maximum Frame Size and we use the largest available, 9216.
While in the switch, it's good practice to assign it a static IP address.
PC and Windows Setup and Configuration
iSCSI is already embedded in all modern Windows PCs but you don't see it unless you look for it. Press the Windows button to bring up the search and type 'ISCI'. This will instantly pull up the iSCSI Initiator.
Again, the screen you've never seen before will intimidate you but I promise this is very easy. The next step is to put in the IP address of your NAS that you previously configured. In this case, we're using 10.0.0.107. A confirmation box will open saying you are connected. Just click the Done button.
Next move over to the Volumes and Devices tab. Press the Auto Configure button and the LUN (the storage volume) will mount. This should stay mounted even after you restart or shut down your PC.
To your PC, mounting an iSCSI LUN is the same as installing a new local HDD. You must go into Disk Management (shown above) and configure the drive. Finally, you assign it a drive letter.
When the drive letter is set, the storage volume appears in your My Computer/This PC area exactly like local storage.
At this point, you just need to install the software. This isn't limited to just games but all software. You do need to change the drive letter to direct the software to the D:// drive and not the normal default C://.
When you install Steam on the D:// drive, it will automatically install the game files there. With EA's Origin, you must manually change the drive letter from C to D for every game.
Network Gaming Storage Testing and Final Thoughts
Network Gaming Storage Testing
Square Enix recently released a new game-focused benchmark that builds on the Final Fantasy XIV: Stormblood test. The new test is quite similar in both function and name, Final Fantasy XIV: Shadowbringers.
Like the former benchmark, Shadowbringers includes a level loading test that is excellent for testing the storage subsystem performance.
Game Load Time
For the test today, we have five results. The first is the gold standard, a Samsung 850 Pro SSD with the operating system and the game on the disk. The second result is a Seagate IronWolf Pro 12TB drive inside the local PC. The last three results are with remote storage with the game on the NAS. The middle test uses eight Seagate IronWolf Pro 12TB SSDs in RAID 6 over a 1-gigabit network. Then we have the same configuration except we moved the network to 10-gigabit. Finally, we have two SanDisk Extreme Pro SATA SSDs in a read + write cache configuration, also over a 10-gigabit network.
The performance scales exactly how we expect it to as we move from the internal drives to the network storage. The test is with a single PC, but all PCs connected to the NAS see similar performance with SSD cache and a 10GbE network.
You don't need to attach 20+ PCs to network storage for games to make iSCSI gaming worthwhile. Clearly for a single system, as long as you have the space to add enough drives to hold your games, local storage is cheaper and easier to maintain. When you have more than one PC that needs a lot of capacity network storage starts to make more sense.
The ideal setup is a smaller SSD in the local PC for your operating system and some frequently used files. The NAS then takes up the role of mass storage for your applications, movies, music and other multimedia files. This helps to keep the OS SSD clutter free thus keeping it faster (SSDs slow as you put more data on the drive).
The NAS makes financial sense as well when you have a handful of gaming PCs. You still have the cost of HDDs but you save on SSDs. Two smaller SSDs (we used two 240GB models) do a very good job of caching data. You could run a similar HDD + SSD cache configuration in every PC but then you lose the NAS benefits.
The NAS you use plays an important role in the performance. We like Asustor systems for iSCSI and running applications across the network. The Asustor NAS use some system memory for cache and that helps with latency.
Asustor also has a good assortment of applications that run right on the NAS. This is the most talked about feature after people buy a NAS; "I can do so much stuff I never thought about before." You will likely start by using a NAS to hold your games and other applications but quickly move to using the system for so much more.