My First FreeNAS: Part 2 – Install, Test, and Configure
It has been quite a while since my last post on my new FreeNAS build. This project was placed on the back-burner while I had a lot going on. I’m finally starting to get everything stabilized, so now I’m back at working on my new FreeNAS box. You can view part 1 of this series here, but just as a quick re-cap, let’s talk about the system specs. Here is a revised list (things in bold have been changed from Part 1):
- SuperChassis 846TQ-R900B (with Supermicro 1200W model PWS-1K21P-1R)
- (2) E5-2670 @ 2.6 GHz
- Supermicro X9DR7-LN4F-JBOD
- 256GB Registered ECC DDR3 RAM (16 x 16GB)
- Noctua i4 Heatsinks
- (5) Noctua NF-R8 (to bring the noise level down on the chassis)
(2) SanDisk Cruzer 16GB CZ33
- (2) Intel S3500 80GB SSD’s
- (1) Supermicro AOC-2308-l8e
- (3) Full-Height LSI Backplates (for the AOC-2308’s and the P3605)
- (6) Mini-SAS Breakout Cables
- Intel P3605 1.6TB PCIe SSD
- (9) 2TB HGST Ultrastar 7K3000 Hard Drives
- (4) 10Gb Twinax DAC Cables
- (2) Intel X520-DA2
So why did I make these changes? The power supply was a no-brainer. The R900B chassis was really, really loud. I have another Supermicro 846 with a PWS-1K21P which is totally tolerable. So I went ahead and picked one of those up from Ebay for pretty cheap. I decided to get rid of the USB drives and replaced them with S3500’s. I’ve had two USB sticks go bad on me in the last two months and was having some issues during the installation, so I found a pair of new S3500’s a great price.
Finally, I decided to use the eight (8) SATA 3G ports on the motherboard so that I could save a PCIe slot for the controller. I just hooked up classic hard drives to those ports, which can’t even come close to saturating the 3G speeds. This lets me add another PCIe SSD or an external SAS card to add more drives in an expander.
Now that the system is finally built and has gone through the burn-in process, it’s time to install FreeNAS. This is a pretty simple process that is very well documented, so I won’t bore you with my screenshots. Instead, go check out the FreeNAS site here:
I did install directly to a mirrored set of drives, which as you will read in the documentation is as easy as pressing the spacebar!
Once you get through the installation process, it will tell you the IP address you should use to go access the web-based GUI. This is where the fun really starts. Again, there are guides for everything that I did, so I’ll instead run through my high-level steps and provide links to the resources that I made use of.
Before I made it to the actual configuration of FreeNAS, I had to finish my burn-in process. In part 1, we completed the burn-in on the majority of our hardware, but now we have to burn in the hard drives. If you are using all SSD’s, you don’t have to worry about this. If you have hard drives, even brand new hard drives, you should burn them in. Luckily, there’s a great burn-in guide on the FreeNAS forums:
FreeNAS Initial Configuration
Now that everything is tested and burn-in has been completed was set up a storage volume. You really need at least one of these configured before you can move on to the rest of the steps. I highly recommend reading up on ZFS if you haven’t already. There’s a great guide on the FreeNAS forums for those of you completely new to ZFS. Check it out here:
I set up a pair of volumes to start. First I set up my classic hard drive volume. I chose to use a striped set of mirrored disks to give me the best performance and redundancy for my benchmarking use. This is basically what hardware RAID would could RAID 10. I will use this volume to test network storage for my Essbase benchmarks. I’ve also set up a single volume using my 1.6TB PCIe SSD. Just to break up the text…you may remember this from part 1:
Next I moved on to getting my network configuration up and running. For me, this was setting up the global settings like DNS servers and the Gateway. Then I moved on to set up the networking for my server. Basically I added my main network interface and changed the IP to a static address. Both of these topics are covered here:
Now that the basic network configuration is complete, we can move on to a slightly This one isn’t covered as well in the FreeNAS documentation, but a community member has written an excellent guide that I found very helpful. As a bonus, it also helps you set up your first CIFS share for Windows users on your domain to share:
FreeNAS Advanced Configuration
And with that, we can finally move on to having FreeNAS support the on-going benchmarking effort! There are two main network storage technologies that are by far the most common in the Hyperion EPM world: NFS and iSCSI. I started with NFS and created a pair of datasets: one on my hard drive volume and one on my NVMe volume. I used this guide:
The guide is a little out of date, but the main thing to remember is that you need to set the maproot property, or ESXi will not work properly. I also have my root passwords set the same, which is a requirement. I’m sure there is a better, more secure way to do this, but on my home lab, I’m content.
Once I completed the configuration of my NFS shares, I turned my attention to iSCSI. NFS requires basically a single screen to set everything up. iSCSI on the other hand, is a bit more involved. I followed this guide:
I also found another guide that has more detail, albeit older, and is from a much more trusted source:
Conclusion and Next Steps
Now that I’ve made it through my initial setup of FreeNAS, I’ve had an opportunity to run a few quick benchmarks. Here’s a benchmark of one of my NFS shares:
And here’s one of my iSCSI shares:
I’ll have a lot more information on this in my next post. We’ll dive into benchmarking each of the configurations and make a variety of changes to improve performance. It should make for an interesting read for the truly nerdy out there!