FreeNAS upgrade to M.2 Solid State Drive Boot Disk

Submitted by nigel on Monday 1st July 2019
XPG SX6000 PCIe Gen3x2 M.2 2280 Solid State Drive
Device Degraded

This blog shows how to upgrade the boot disk on FreeNAS to an M.2 PCIe SSD with a 2280 form factor. I went for an XPG SX6000 256GB drive although other products from different suppliers are readily available. The motivation for the upgrade was born out of necessity. When I upgraded my motherboard in November 2018 and blogged about it here /building-home-freenas-server-hardware-upgrade I bought a board with 4 SATA connections. I elected to use an old 2.5" SATA SSD I got in 2012 as my boot drive, but that used the one spare precious SATA slot after I'd plugged in my three data drives. 

I noticed I was getting occasional error diagnostics reported by FreeNAS as shown in the screenshot above and repeated here: One or more devices have been removed by the administrator. Sufficient replicas exist in the pool to continue functioning in a degraded state. The message wasn't omnipresent; a reboot tended to clear it for a while but it would return. 

I decided therefore that it was time to replace the pool disks, but that route was largely closed to me because I didn't have a spare SATA slot. By implementing an M.2 SSD I would free up the SATA slot and be able to replace my drives to 3x6 terabyte drives. The pool drive replacement will be covered in a separate blog.

Backup the configuration first
Config Save

Before doing any work on a FreeNAS it makes eminent sense to take a configuration backup. The beauty of FreeNAS is a clean boot disk can be installed at any time and an old configuration can be restored easily. To take the backup, load up the console, and navigate to System -> General -> Save Config. Since FreeNAS uses a very neat React Bootstrap UI, there is no navigation away from the main url so I can't post a direct URL!

Also worth noting - don't save your configuration on pool data drives! I keep mine on my laptop with a copy also on a USB memory stick. 

Remove existing boot drive, and create a new USB boot drive
Spare SATA

Ok next step is to power off the FreeNAS, and remove the existing boot drive which is my ancient 2.5" SSD drive. This includes unplugging the SATA cable thus providing the sacred slot I will need for my disk capacity upgrade. Above shows my newly liberated slot. Next task is to download the boot image from FreeNAS download site, ensuring that you pick the same version of FreeNAS that is currently being used. If you aren't sure of the version, check out the config file you just saved - it's in the path name. Mine was named freenas-FreeNAS-11.1-U6 (caffd76fa)-20190630091041.tar.

Once you've downloaded the correct version (in my case 11.1-U6) to your laptop or desktop, you will need software to write the iso file to your USB stick. Since I am a Macbook user, I use Etcher, but you may have a personal favourite. 

Installing the M.2 SSD card
M.2 SSD Card Slot

Whilst the computer is turned off and with the covers off, install the M.2 SSD drive. Locate the slot on the motherboard; mine was situated between the full form PCIe connector and the CPU heatsink. The card slotted in easily, and the motherboard had the screw in place to hold it in position. I was pleased with this since I'd read on line that the screws are a special specification and difficult to come by. 

Installation of FreeNAS
Install / Upgrade
Discovery of the boot drive
Completed

Now we've got the M.2 SSD in place, the chassis can be closed. My motherboard has smart booting so I needed no special boot order selection in my BIOS. I simply slotted in the USB stick in an external slot on the case, and powered up. The USB stick instantly became the boot drive and I then went through the following sequence as shown in the screenshots above. 

1. Click Install/Upgrade

2. The possible boot locations are discovered and displayed. It came as a relief that not only my SX6000NP drive was found, it was selected by default! 

3. FreeNAS is now installed and if everything has gone correctly you should see the completion message above! 

At this point, reboot the machine and FreeNAS should boot correctly. It won't however contain your configuration since it doesn't know about it. Therefore in my case it'll was assigned an IP address by my DHCP server. I needed that address to point a web browser at it and load the configuration I saved earlier. 

Bill of materials
M.2 Drive ADATA ASX6000NP-128GT-C 128GB XPG SX6000 M.2 SSD M.2 2280 PCIe Gen3x2 3D NAND R/W 730/660 MB/s - (Components > SSD Solid State Drive) £42.98
  TOTAL £42.98

I lucked out here - I only paid £30 since my drive had a slightly damaged box (as you can see in the first screenshot). So a nice £12 saving for zero inconvenience. 

blog terms
Hardware Freenas