Setting up a Remote FreeNAS Server

New Server

With the Covid pandemic keeping me at home the majority of the day, I have been sinking a lot of time into creating “the perfect homelab.” The bulk of my time is spent doing research and planning out which piece of hardware to purchase next. One of my favorite activities when doing research is to browse for servers/components on classified adds and get upset and the ridiculous prices people are asking for old and outdated block heaters. Recently I decided to search for the keyword “supermicro” on one of these sites. Supermicro is my goto brand for custom home server simply because of its availability and industry features. It also happens to be the brand of the first motherboard I used when building my first NAS back in 2012. Getting back onto subject, I stumbled across a listing for a diskless NAS server with all the features my current NAS has (AES hardware accelerated encryption, Error Correcting RAM/CPU and IPMI). So I purchase the machine and thus a new server was added to my collection.

The Specs

Part Description
Case CM 690 II
Processor Intel i3-4130 @ 3.40GHz
RAM 16 GB ECC Unbuffered DDR3 1600
Motherboard SUPERMICRO X10SLM-F
LAN Dual Intel Gigabit
Controller DELL H310
PSU SeaSonic 360W, Gold Certified

Accessing the IPMI

The Intelligent Platform Management Interface (IPMI) is typically the first thing I want to get access to when setting up a new server. This allows me to perform changes to the BIOS, boot from an ISO file and do hard start/stop/restarts remotely. With the lack of a KVM, switch using a mouse & keyboard is not convenient or comfortable with my current setup. The previous owner of this server mentioned the IPMI credentials have been changed and he did not remember what he had set them to. So I went in with the mindset of using my DOS USB key with the IPMICFG.exe binary I had setup/downloaded back in 2012.

Troubleshooting

When plugging in the USB key and hitting the power button, the computer failed to power on. With the heartbeat LED on the motherboard blinking, I figured it was safe to assume it wasen’t an issue with the internal hardware. My first guess was that the front pannels power button was broken. When try to short the power jumpers manually I was shocked that the server still would not power on. I had already hooked up the network ports and noticed the IPMI LEDs were blinking on my switch and motherboard. So I figured the issue was with the jumpers and perhaps I could power on the system via the IPMI module. Lucky for me the MAC address for the IPMI port was written on the motherboard, so I plugged my desktop into the same network switch in an attempt to get the IP address using arp -a. Once again no luck. Before I could continue a buddie of mine called me and I mentioned the issue I ran into, he said perhaps the “power-on” pins on the PSU cable could be faulty. Being the quickes thing to test, I disconnected all the PSU cables from the motherboard and jumped the power-on pins. The PSU fan started, leaving me to still believe it was a fault with the jumper pins for the cases front pannel. After plugging the PSU cables back into the motherboard and fliping the power switch the server started. It turns out the cables probably came lose while driving it home. Leasson learned, next time a computer does not power-on try reseating the power cables first.

Reseting the IPMI module

Now that the server was running I could finally boot into DOS and reset the IPMI interface to factory defaults. First things first I used the help flag, as it has been 8 years since I have used this tool, and got the current IP address of the IPMI module using the following commands:

IPMICFG -h
IPMICFG -m

The IP address was static and out of my networks subnet. I also noticed that arp was set to off which explains why I could not find the device using arp -a. So I ran the following commands to reset the chip to factory defaults, preventing me from messing around with changing the admin password via the CLI. I also enabled DHCP removing the need for me to memorize any IP address and to ensure there are no IP conflicts with other devices on the network.

IPMICFG -fd
IPMICFG -dhcp
IPMICFG -dhcp on

Eventually, when I can afford to add L2/L3 managed switches to my lab, all IPMI devices will be running on their own vlan.

Testing the Hardware

Green Drives

Now that I can remote into the servers console from the comfort of my office, I decided to begin my routine with any new server. First off I ran Memtest86 to validate the RAM modules were working as expected. Since I will be using ZFS as the filesystem faulty memory can lead to some pretty nasty issues. I also opted to run CPUstress to see how well the the CPUs thermals were under load. To no suprise, the Intel-I3 in the system stayed at a cool 68C under heavy load for 30 minutes. Since I will using some older green drives from my main NAS, I can skip performing a hard driver burn in test.

I was finally ready to load up FreeNAS and import my ZFS array. This went by smoothly and took only a handful of click in the web UI to complete. The server is ready to be setup as a backup for my main system.

Removing iSCUSI Nodes

One of the main use cases for my NAS is to provide storage to my hyporvisors VMs. This is achived using iSCUSI. Because I was consoledating data from two ZFS pools into a single ZFS pool changes had to be made to my iSCUSI tagets. This lead some of my VMs to getting hungup trying to connect to old targets. a simple ls /etc/iscsi/nodes gave me a list of all the ign’s my VM was trying to connect to at boot. Removing them was as simple as running iscsiadm -m node -o delete -T <iqn> (source).

Consolidating Waisted Space

In my previous blog post I expanded my NAS with a DIY disk shelf. Now that 4 of my drives were being moved to the backup server, I decided to merge my main NAS/disk shelf into one box.

X9 New Case

I also opted to use both my IBM M1015 and Dell H310 raid controllers to connect all the drives. This was simply because I did not want to remove any of the SAS cables from the drives bays as they were a real pain to work with.

Finishing Up

Setting up my main NAS to backup to the new system was once again more streigh forward than I had expected. From the Web UI I setup a replication task and the wizzard took care of just about everything. Setting up an SSH key and finalizing the task took under a minute. The only issues I ran into was with having a zvol/dataset with the same name in the target device. This did not allow the replication task to begin. Fixing this was as easy as removing conflicting names and letting the replication task create the zvol/dataset on the target device.

In the future I hope to experiment with some HA options for read-only network storage using CARP once I bring pfSense into my ecosystem.