Remember that one game that refused to run on Gamecache? I decided to disable the onboard nic(Realtek) and order a PCI-E 1X nic for the girls computer. I ordered 2 on eBay for a total of 12 bucks for two of them and they shipped via the boat so they just arrived a couple of days ago. I got the Intel Nic installed and the eldest began with the install of Elder Scrolls Online. The install is absolutely massive. We never got past the first 7% beforehand…now we are completely installed two hours later. The initial install is 85 gigabytes with another 60 gigs in patches. Now the eldest can play all of her games on the Gamecache without stuffing the local ssd…:) It took a bit of research and some troubleshooting but the Gamecache drive is now 100% operational for all of her games…and I am stoked about this too..:) I will make one more post about the full list of games she has on the gamecache once she gets done installing everything. When it’s all said and done she will be chewing up just over 550 gigs of storage…which is less than 25% of the 4TB I had available. Needed to do something with that space..:)
So i ordered a couple of pci-e network cards one for my machine and one for the girls tower. Let’s see if that helps the eldest’s one game not crash the entire networking stack…:) Realteks are decent if you aren’t doing heavy networking stuff like I am doing..it will take a couple of weeks for them to come in(ordered from mainland china on the boat).
Now for the Gamecache update. I really didn’t need to do this..but i figured why not? I moved my battle.net games(which are the only ones i play…being SC2 and D3)…to my own iscsi target on the FreeNAS. It’s a total of 40 gigs…but it’s 40 gigs i do not have to download again when i scrub my computer(which I am going to be doing soon as I am having weird video issues…had similar issues on the girls tower and a scrub fixed them).
My workstation actually runs nearly everything off the FreeNAs in one way or another. My Douments, Music, videos, Downloads actually run from an SMB share. I use most of the files myself and there’s many that are used to rebuild internal machines when they get scrubbed. What does the gamecache give me that the smb share doesn’t? First, is speed. SMB is not multi-threaded so it does not take advantage of the multiple cores i have going. Secondly I do not want anyone else possibly messing up the game files.
Everything has ZFS snapshots going as well so if something goes boom..i can just rollback that dataset or even individual files…:) Kinds neat..:)
So far my eldest has all of her games on the gamecache drive. Unfortunately ElderScrolls Online refused to run on the Gamecache drive. It would hang up the network card causing all network connectivity to go away. Only a restart of the machine would fix it. However the fact that all of the other games are on the gamecache drive means the monster game now fits on her local storage without running out of local space. I’ll troubleshoot the problems later(it think I need to put in an Intel NIC). I will try a few things once I can order the new nic.
It is working out better than I anticipated. Right now the eldest has been installing all of her games on the G drive. I found out one of her games is nearly 200 Gigs in size. Holy crap batman. She can easily chew through more than 400 gigs of storage just with the games she plays. here are the ones that take up the most space.:
- Diablo III
- Starcraft II
- Lord of the Rings Online
- Elder Scrolls Online(this one is the nearly 225 gigabyte monster)
She informed me she has a ton of smaller games that she will be installing now that she has the space. She also asked..what happens if i run out my 1 Terabyte allocation? I told her it is a couple of mouse clicks to add more space. Let’s see if she chews through the whole terabyte..if she does I have 3.2 terabytes waiting..:)
I made an earlier post about an experiment I am running. So far so good. The eldest is having to put her games onto the new G drive her computer sees. The magic of ISCSI makes it appear as a local hard drive even though it’s on a network server. I am a HUGE fan of ISCSI and I use it as much as I can…especially when the storage is Linux or UNIX. I did notice that the transfer was maxing out at 650 megabit/second…i know that the machine can do better..it used to do 2 gigabits/second when it was a backup target. I wondered what has changed throughout the years? I did a little bit of digging. ZFS is all about data safety. You have to be extremely determined to make it loose data for it to have a chance to do so. sometimes that ultimate safety comes at the price of performance. I started looking at the numbers and i noticed ram(32 gigs) was not a problem. CPU usage was less than 20% max. The disks however were maxed out. Well it turns out that ZFS has a ZIL(ZFS Intent Log) that is always present. If there is no ZIL SSD then it’s on the main drives. I thought that double(or in this case triple) writing to the drives was it…but nope..no there. I had to dig deeper and dug into the actual disk I?O calls. It turns out that the default setting for synchronous writes defaults to the application level. If the application says you must write synchronously…that means zfs will not report back that the write transaction was completed until it does both of it’s copies and verifies them on the array. Loosely translated if you were to put this in RAID terms it would be a write-through. Since ZFS is a COW filesystem I am not concerned about data getting corrupted when written..it won’t(again unless you have built it wrong, configured it wrong…something like that)…so I found a setting and i disabled the forcing of synchronous writes. I effectively turned my FreeNAS into a giant write-back caching drive. Now the data gets dumped onto the FreeNAS server’s ram and the server says “i have it” and the client moves on to the next task..either another write request or something else. Once I did that the disks went from maxing out at 25% usage to nearly 50% usage and the data transfers maxed out the gigabit connection. That’s how it is supposed to be.
There are times for forcing synchronous writes…like databases, financials….anything where the data MUST verified as written before things are released. that’s when you can force synchronous writes and use a ZIL drive. This is an SSD(typically) that holds the writes as a cache(non-volatile) until the hard disks catch up. The ZIL then grabs the data, verifies it’s integrity, and then tells the application the write has been accomplished(because it has) and then passes those writes to the array as a sequential set of files(something hard drives are much better at than random writes). What’s eve nicer is that you can set the writing behavior per dataset or per zvol. The entire file system doesn’t have to be one or the other and it doesn’t hurt the ZFS filesystem performance. More as I figure it out with the ultimate question being…how do games perform when operated like this…stay tuned.
I came across an interesting use case for FreeNAS. My eldest daughter likes games that are huge. Like 100-250 gigabyte huge. I simply cannot afford to keep adding SSD storage to her machine. I will not do hard disks as main storage..under Windows 10 it’s too painfully slow. What Lawerence had done was taken a FreeNAS machine, sliced off a portion of the raw storage, and presented it to the workstation as a hard drive over his network. His son now run his large games from the FreeNAS zvol as if it was local. What’s neat is the games initial load time is a bit slower(the NAS is hard drive based) but once it’s loaded..there’s no perceptible difference in gaming performance despite a constant stream of data from the server…usually less than 150 megabit/sec. Since I have multi Terabytes of free space i am doing the same thing for my eldest. I am also doing what is called thin provisioning so it initially starts at zero usage and goes up until she reaches her cap of 1 Terabyte. Let’s see how this works as my quad core Xeon cpu is light years faster(with 4 times more ram at 32 gigabytes) than his FreeNAS mini dual core atom and 8 gigs of ram. If this works…i have a new idea for future computer builds here at the house..<G>