Netapp FAS3250 hacking (Unraid installed)

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

MPServers

New Member
Feb 4, 2024
23
16
3
I got a decommissioned Netapp FAS3250 and some DS4246 shelves, and I'm not a Netapp fanboy so I thought, hey, let's try to get Linux installed on it?

The FAS3250 (and I assume all of the FAS3xxx models?) are interesting. There's a little 2GB internal USB drive in there. It's an "embedded USB" device, which just means its a USB flash drive (a high quality one I guess... SLC so it should be able to last years unlike a cheapo), and it plugs directly into a motherboard 10-pin USB header, not USB-A or anything like that. So that's interesting.

To start out, I took out that module and plugged it directly into my workstation in an empty USB 2.0 header. It shows up fine. It's FAT (not FAT32, just plain FAT) so you should have no problem making an image of it, copying the files, whatever. I used ImageUSB to make a backup of it in case I want to restore.

With my backup done, I then wiped it, formatted as FAT32, and copied Unraid over to it and used the "make bootable" script. But then there's a couple things you'll need to do since this is a headless system (no video, no keyboard). In the /config directory for Unraid you just copied over, edit the ident.cfg and add whatever options for NAME="netapp01" or whatever, set your timeZone if you want (or you can do that part later). Also it's very important you edit the "network.cfg" file and put in the info you'll use to connect when it boots into Unraid. Here's what I used:
# Generated network settings
USE_DHCP="no"
IPADDR="10.1.1.62"
NETMASK="255.255.255.0"
GATEWAY="10.1.1.1"
DNS_SERVER1="10.1.1.1"
BONDING="yes"
BRIDGING="yes"


Helpful hint, if you don't want to use your embedded USB module and want to keep that safe, there is a totally functional USB port on the back (above the RJ45 serial port) that you can boot from. Use any USB drive you want... I used a 2GB drive so I could make sure it would fit onto the embedded 2GB module if I want to go that route and it would all fit. Just remember that Unraid licensing is tied to your USB drive's serial # so you might try it out with an external drive and then if you're happy, copy your configs to the embedded drive and license from that for a nice "hidden" solution where you're not dealing with a dongle dangling off the back. :)

Now for some fun stuff... you'll need to hook a computer up to the serial port of the Netapp because you need to change the BIOS settings to tell it to boot off the USB, and configure a few other things.

The serial cable is your basic RJ45 to DB9 cable that comes with Cisco equipment, and hopefully you have some, or they're super easy to get if needed. Anyone who's been doing computer stuff for a while probably has a few of them (or a drawer full) :)

Get it attached to your computer and connect to it (I was using Putty on Windows) with 9600-N-1. Yeah... 9600 is going to be slow, but you're just doing a few things.

For bonus points ( you can do this later, but it'll be helpful during the initial setup in case your networking is weird), you can add settings so Unraid will work with the serial console after it boots. I didn't do this when setting up but since I wasn't sure what network interface it was going to find, I basically just plugged in everything I could see on the back of the Netapp into my switch. Turns out the primary connection it'll use for eth0 (for me anyway) was the NIC with the open wrench (I think that's the em0 port in Netapp lingo), but at least one of the other NICs was also coming up... I don't recall off hand but I think it may have been either the e0a or e0b ports. I'm not sure of the relationship between how Netapp labels the ports and what actually gets detected in Unraid, so clearly I have more figuring to do.

That being said, plug at least your em0 "wrench" port into your switch, but you can add a few more config lines to your Unraid USB to help in case that doesn't work for you.
In the /config/go file, append these lines to the end:
#setup serial console
sed -i -e "s/^#ttyS0/ttyS0/" /etc/securetty
sed -i -e "/^#s1/ i s1:12345:respawn:/sbin/agetty -L ttyS0 115200 vt102" /etc/inittab
init q

And in your /syslinux/syslinux.cfg file, you'll add a few things
- In the main section, below the line that says "timeout 50", add a new line:
SERIAL 0 115200

- In the section "label UNRAID OS" there's a line that has "append initrd=/bzroot"
Change that line by adding some stuff to the end... the end result will look like:
append initrd=/bzroot console=ttyS0,115200 console=tty0

At least on my FAS3250, the serial port is ttyS0 and that's probably a safe bet for anything similar. There does seem to be a UART for a ttyS1 detected but as far as I know there's no connectors for it anywhere, so ttyS0 is your guy.

Note that it's 115200 baud so when Unraid actually starts up, you'd have to change your console settings to 115200 instead of the 9600 that the BIOS is using. It'd be nice if the BIOS worked at 115200 as well... I don't know if there's a way to set that but I'll probably try some things later to see what I can do.

Once all attached and your USB drive is plugged into the Netapp, go ahead and fire it up. It'll take a little bit before the serial port starts sending anything, and in the meantime I was just hitting a few keys, and at this point I'm not sure which particular key will get you into the BIOS setup screen. I was hitting Escape, Delete, F2, F10, F12, over and over, and one of those worked because it brought up (slowly...remember, 9600 baud) a Phoenix BIOS setup screen. So that means it's probably DEL to get into it, but I haven't tested that specifically to see. I'll test that again as soon as my Unraid finished the initial parity on my drives. :)

Use your arrow keys to navigate around just like any other Phoenix BIOS. There are 2 things you really need to change:
1) Set the USB to removable mode instead of emulating a hard drive
2) Tell it NOT to boot from the internal flash - if you don't do that, there's an internal flash somewhere on the controller that boots into that netapp LOADER stuff, and when it doesn't see the FAT partition on the USB with the Netapp files, it'll just sit there at the LOADER prompt waiting for you to do something. Changing the BIOS to skip booting from that internal flash will let it boot directly from USB which is what we want.

I don't remember if I changed anything else in there... It's already set NOT to halt on error and basically run headless since that's what Netapp needs, so I think changing those two items is all you need. Save your changes and reboot.

When it boots off the USB, you'll see the BIOS boot stuff in your serial console but then Unraid will show some odd things as it boots. It tells you what files it's loading but it adds a line feed after each character so it's kind of messy, but at least you'll see what its doing. If you added the SERIAL stuff to the Unraid configs, you can switch to 115200 baud and once Unraid is done booting, you should get a login prompt.

In my case, I had a continuous ping going to the IP address I set, and eventually, just a little past where I thought "uh oh, it didn't work", it started responding.

From there, hey, you just go to the Unraid web interface, login, setup your trial key or whatever, and that's it, you're good to go.

There are a few things that I did afterwards that may be useful for someone to know.
- If you're using a Netapp drive shelf and it has Netapp SAS drives, they're going to be 520-byte formatted. Not a problem... we're running Linux now. Setup your Unraid so you can SSH into it and install sg3_utils:
wget https://sg.danny.cz/sg/p/sg3_utils-1.48.tgz
installpkg sg3_utils-1.48.tgz


Use lsblk to show drive list/sizes. 520-byte drives show space as 0B. In my case my shelf had a mix of 4TB SAS and 3TB SATA. The sata drives were all 512-byte so they showed up fine, but the SAS drives with 520, well, those all showed up as 0B but I already knew they'd be like that and was ready.

I used sg_map to correlate /dev/sd* with /dev/sg* to create the list of which 520-byte drives to reformat and then ran this command to kick off the reformat of all 12 of my SAS drives to 512 bytes. Usual warnings about being careful and knowing what you're doing... this will wipe the drives, and it will take a while so sit back and relax. But at least it's doing all of them at the same time. Modify the list of drive #'s for your own needs. That list from 5...25 are mine, do NOT copy and paste that part and expect good things, I'm just showing you an example of adding a custom list. If you needed to do all of your drives from 2-25 you can probably do it easier, I just had a mix of them scattered around (fyi, I think sg1 is the enclosure, sg0 might have been the USB drive):
for sg in 5 6 7 11 12 13 16 17 18 23 24 25; do (sg_format --quick --early --format --size=512 /dev/sg$sg ); done

If you want to check the progress of the reformatting along the way (and yeah, you'll want to know when it's done), you can use this to spit out the % done for each drive. If you started them all at once, they should finish all at once, but this way you'll know for sure:
for sg in 5 6 7 11 12 13 16 17 18 23 24 25; do (echo -n "/dev/sg$sg : ";sg_requests -p /dev/sg$sg ); done

Are you interested in a list of some vital drive stats once the reformat is complete? Here's a handy little one-liner I whipped up so I could check various details on the drives:
for sg in 2 3 4 8 9 10 14 15 19 20 21 22; do (echo " ---- /dev/sg$sg ----";smartctl --all /dev/sg$sg | grep 'Vendor:\|Product\|Revision\|Capacity\|Logical block size\|Serial\|SMART Health\|Accumulated power'); done

That example is from the other SATA drives, so those #'s are different, but you get the idea. I should mention that your /dev/sd* and /dev/sg* are likely to change between reboots so don't expect to make a list of which drives are which and it'll always be the same. That's why we have wwids or go by serial #'s if we want to make sure. :) Like, just now when I checked, everything had changed, the enclosure is now sg25, etc.

If you want any help on setting Unraid up for serial console access, I used this site as a reference for my setup. "dmesg" didn't say anything about my ttyS0 but I just gave it a shot anyway and that's the right one:
Setting up Unraid for serial console

What else... a few odds and ends like the FAS3250 has dual L5410 CPUs in there. Not exactly screaming, but it gets the job done. It has 16GB of DDR2 in 4 sockets, and then there's another 4GB setup as a pair of 2GB modules that I think belong to the honkin' big battery/supercap in the controller node. Unraid sees 20 GB but then says 16 GB is usable. I've got a ton of DDR2 modules lying around... they're ECC though and I didn't look closely enough to see if the Netapp is using ECC or regular modules, but I'm curious if I can bump this up to the 64GB max capacity it seems to think it can handle.

Get your networking all setup... bonds, which ports to include. I'm still figuring some of that out. Some of the ports only show as being 100Mb which isn't great, but at least one of them connected at 1Gb, but the other one like that isn't linking at all but maybe that's because I configured that bond as active/backup. I'm new to Unraid. :)

The initial parity is going slow, but then again, the parity drives are writing at 40-42 MB/s which probably is about what a SAS spinning hard drive can do. If I swapped these out for SSDs I would expect it to be much faster. We'll see how it performs in read/write tests after the init is complete.

Also, my particular FAS3250 has some additional PCI cards in there, in the lower module (a pair of added 4-port SAS controllers) and there's also another dual 10Gb SFP+ card installed in the main module, but I'm not sure if Unraid is seeing those or not. When I look at the devices that Unraid detected I see 5 different "PMC 8001" devices so that might be correct (I think a "single" PMC 8001 is 2 SAS ports, and I have a total of 10 including the 2 onboard the main controller itself). I just haven't attached anything to the other ports to check. I do have more drive shelves I might hook up just to see if they appear. For the extra 10Gb network ports, I'm still confused about the network interfaces that are on the controller itself.

As mentioned, I'm not a Netapp guy, so I'm still fuzzy on what ports are used for what. I know there's a pair of HA ports (c0a and c0b) if you're using dual controllers, and those, I think, are showing up, but when I tried connecting them to my switch, I wasn't getting link indicators. And it's weird that the em0 port seems to only link at 100Mb, but maybe that's normal for the Netapp? Then there's a couple of Qlogic FC ports, so ignore those. Anyway, point is, I don't know which of the ports on back correspond to what Unraid is seeing, and I kind of need to sit down at my computer out there while I unplug a cable at a time and see what Unraid says is going on. Having that serial console to the box is going to be very helpful in that case since I'll probably lose my network connection to it here and there while testing.

So... that's about it for now. Long post, but I was unable to find anyone else who'd done something like this on a Netapp. A few have mentioned something similar but no instructions or guides on what they did so I was flying blind and I thought this would be helpful to anyone else who felt like doing something a little crazy with an old Netapp. I've got another filer, and FAS2240-4 that, to me, looks like a DS4243 or DS4246 but the top IOM module is replaced with a controller. It may be the same, or totally different... I just pulled that module out to look at it closer on my desk so we'll see. That one could be fun since the drives and controller are all in one chassis so it would take up less space overall. I don't know what else differentiates it with the FAS3250... different CPU/memory, I expect, at a minimum.
 

MPServers

New Member
Feb 4, 2024
23
16
3
Initial look at the FAS2240-4... there's a 4GB DDR3 module, and then a 2GB DDR3 used for the NVDIMM. I was looking at the CR2032 battery, and then my eye fell upon a crusty, leaky, "PowerStor" battery. The CR2032 looked fine, but this other PowerStor thing, whatever it's used for... gross! It's in the beginning stages of battery leakage and it looks like some corrosion has gotten down onto the board itself, so I need to clip that thing off pronto.

The big lithium battery used for the NVDIMM looks okay, but no idea if it'll hold a charge. This system has been turned off for probably 2+ years? I don't remember exactly when we shut it down for good, but it was a while ago, maybe even 4-5 years ago.

It has the same Micron RealSSD e230 2GB usb module as the FAS3250. Single CPU under the heatsink so I guess I'll have to hook it up to the serial console, boot it up into the BIOS (hopefully) and figure out what's hiding under there.

But man... that Powerstor battery. Why do they do that? Hard wire a battery like that to the motherboard, knowing full well it's just going to leak like those pesky Varta batteries back in the day that have ruined so many systems. And it's in a really hard to reach spot too. I'll probably have to remove the board from the tray assembly entirely to get that snipped out and neutralize the goo properly. So, as nifty as this thing seems, I don't know if I'd put too much effort into it beyond starting it up and seeing if my same steps for Unraid will work on it as well. I don't know what that Powerstor battery manages... it's not for CMOS since there's a CR2032 for that, and the NVDIMM has the large battery pack, so what exactly is that for? Will it run fine without it? Good questions, and I guess I'll see, but beyond that, not sure if I'd use this system beyond mere tinkering.
 

MPServers

New Member
Feb 4, 2024
23
16
3
Oh, I forgot to mention, on the FAS3250, fan noise is an issue. When it initially boots, it's super loud but then quiets down. However, once Unraid starts, the fans kick up a notch again. I need to figure out a good way to manage the fans in that chassis. The drive shelf is self-managing as far as fan speeds go and it's not terrible (although you wouldn't want it on your desk). But the FAS3250 itself, I know it's capable of being quieter, I just need to do something along the lines of the scripts to manage enclosure fan speeds that are out there, but figuring out the right commands to send, and how to do that... that'll take some digging. There's an amber warning light on the bottom module of the FAS3250 (the one that has extra PCIe slots) and I don't know why... it may require special signaling that Netapp sends it to think everything is okay, and that could be why the fans are running faster because of that warning condition. Just a guess.
 

MPServers

New Member
Feb 4, 2024
23
16
3
On that FAS2240-4, I managed to remove that Powerstor. I thought it was a battery but it's a supercap. Either way, the thing had corroded pretty bad and was leaking. Fortunately the motherboard seems to be unscathed. I did some washing with 99% IPA and a toothbrush. Most of the goo came off and the little bit that remained was fortunately NOT on any traces so I did some gentle scraping and it came off.

Not sure what the supercap would be used for. It's right next to what seem to be status LEDs? Maybe so those would show some status a bit longer after power is lost? It's definitely not big enough to provide much power long term (and that big lithium battery is doing the heavy lifting for the memory anyway.

Oh well, soon I'll probably try the same Unraid steps on it, but I'll probably fire it up as-is just to make sure it's all still operational and I'll pull some system info from it just for my spreadsheet of old server equipment I have. :)

Also, on the FAS3250, I installed ipmitools on it to try and figure out the loud fan situation. It's telling me what I kind of figured. It's the PSU fans running super fast (13K+ rpm). The system fans are quieter, I think they're around 3-4K RPM and I could tell from putting my ear near it that it was way louder from the PSUs. So that means it's the chassis just doing that because it thinks there's a fault. I've looked at other server PSUs and they do have their own firmware and controls.

Unfortunately I couldn't get ipmitool to control the PSU fans at all. It allows you to set the lcr and lnc thresholds (lower critical and lower non-critical). Those two were set by stock values to 4500 and 4600. I changed them to 1500 & 2000 respectively, but that's just setting the lower values anyway, and the system right now thinks it needs to run 100%. It won't let me set the upper thresholds, it's not supported.

I have no idea what the "raw" values would be to try and set those fans to something else. It's an odd system and I should research who Netapp sourced the hardware from because I might have more luck getting info from the OEM. Unsurprisingly I can't find any info on this from Netapp. They don't expect people to be hacking their gear this way. :(

Oh, and I realized when looking at ipmitool info that it still had the BMC IP address I configured when it was still running Netapp. That's interesting... if I understand right, that shares the port with the "wrench" NIC? Anyway... I was able to SSH to it but I don't know the password. I tried "naroot" with the password it used to have when it was operational, and I might have changed it when I reset the whole unit, but it didn't like the password I would have used either. And it seemed like it would stop responding to pings if I tried the wrong pass too many times. Fortunately I can do an "ipmitool bmc reset cold" from the Unraid shell and it would restart.

Trying to use ipmitool itself to set the user and pass... well, it wasn't working. "ipmitool channel info" says the channel is 0xf but if I tried "ipmitool user list 0xf" it would error with this: IPMI command failed: Invalid data field in request

It might be just different enough that the user/password options won't work. Well, I think I can configure the BIOS to boot from that internal flash again and use the LOADER commands to set the BMC, then flip back. That'd be kind of nice to have a network based out-of-band rather than the serial console, but it's not critical.
 
Last edited:

MPServers

New Member
Feb 4, 2024
23
16
3
I got TrueNAS Scale installed on the FAS3250 today. That was weird. First I tried just installing from a USB key onto the internal 2GB USB, and I'd ready that TrueNAS used to be able to install and boot from a USB stick, but it didn't even see it. Maybe it was too small, I know that 2 GB would really be too dinky, but I had high hopes.

I also had plans to try installing a video card in there but it only has x8 slots and it simply will not take an x16 at all, physically, and that's the only type of video cards I have handy to try. I also thought about popping in a USB 3 expansion PCIe card I have, but it's low profile and I didn't feel like removing the bracket just to try, and there's probably no way it would boot off the USB in an expansion card anyway. It's not a very sophisticated BIOS.

In the end what I did was to use Rufus to burn the TrueNAS Scale ISO onto that 2GB internal drive and boot from it. Then on the external USB, I plugged in an old 2.5" HDD I had, with an old external drive adapter I had. That external drive had been driving me nuts from the day I got it. It had one of those funky Y-cables so you could plug it into a USB port *and* also, hey, another USB port, because it needed more power. On the other end it's just a micro USB into the drive enclosure itself.

What I did was dig through my stash of mostly-useless drives until I found one (a 500GB Seagate) with a very low power requirement, under 500mw. I tested on my workstation and that spun up fine on a single USB port, so I attached that to the Netapp.

FYI, the correct key to smash in the serial console when it's booting up is F10 to bring up the boot menu. You can pick which drive to boot from or enter the setup menu. So... F10 is your friend.

Booted off the internal 2GB eUSB, and here come the tricky bits. You need to switch your console connection to 115200 baud (instead of the 9600 that the Netapp uses during boot), because 115200 is what the TrueNAS boot will use. Do it quick, because when it shows that boot menu, you only get 10 seconds to select the 115200 console option before it defaults to the "gui" mode where you can't see squat.

If you timed it right and selected the console option from the installer boot menu, you should be able to follow along and install to the external USB drive (an HDD mind you, not a USB "key") and then reboot when done.

In the BIOS setup menu you can choose the boot order, so do yourself a favor and set the external USB to boot first, and then if you ever want to reinstall TrueNAS, it's there on that internal 2GB and you can boot to it manually if needed.

When it reboots into TrueNAS after installing, you will absolutely not be able to see what it's doing... it does echo text to the screen (back at 9600 baud now) but it adds a line feed after every character. You can see how it's showing the boot menu but you really can't control too much. You can hit space to pause the countdown and up/down arrow, but don't worry about it. There's no option there to show the serial console anyway.

Let it boot up, and at some point you can kind of make out that it's loading the initial ramdisk, etc. Now you need to go to your DHCP server and wait to see when a lease is issued to your Netapp. Depending on which network connections you plugged in, you may get several, but no worries. I just plugged in anything I could and I'll sort it out later.

Once you see the lease, you should be able to bring up that IP in a web session, and away you go.

First thing you might want to do in TrueNAS is head to the settings->advanced and enable the serial console. I don't know why but even when I set it here to 115200, it still only seems to work at 9600 baud. Curious, since the installer was definitely 115200 so I know it's capable. Maybe I need to reboot for that speed to take effect? Anyway, when that's done you should now have serial console to the menu that lets you change network info, change password, open a shell, etc. Very handy. I'll leave mine at 9600 because it would be a pain to toggle back and forth from the Netapp startup baud rate.

What else... during the install phase, it shows all the drives in the shelves, although I doubt it would be able to boot from any of them. I don't think those PMC 8001 controllers have a BIOS ROM at all. Also, I think it's an Intel X520-2 card installed in the PCIe slot of the controller itself, but TrueNAS doesn't seem to see it. Neither did Unraid. I could be wrong about what's in there, but it doesn't seem to show up with "lspci" at any rate. All I can see are the built in network interfaces.

I created two pools on there... one with the 12 x 3TB drives, and the other with 12 x 4TB drives. To nobody's surprise, at least one of the 3TB drives (SATA) shows SMART errors after I did a LONG test. The thing sat idle for a long time... I wonder if it was throwing errors back then and we just didn't get alerted to it before it got shut down? Or if it got some bit rot while it was turned off? I found a few similar errors on some 4TB drives of another shelf, I think it was from the same stack so had also been off for quite a while. 5 out of 24 on it have some errors, one of them with multiple LBA_first_error readings.

So, if anyone wants to try, then yes, it's possible to get Unraid and/or TrueNAS running on this. You'll need an external hard drive in a USB enclosure, but it can be done. And now I'll shut this all down and let it collect dust until I get some other idea to experiment with it.
 
  • Like
Reactions: Marc_ and itronin

MPServers

New Member
Feb 4, 2024
23
16
3
For what it's worth, I tried this with the FAS2240-4. No success. The first obstacle was that the external USB on it just seems dead. No life at all, so my trick to use an external drive to get TrueNAS going was a failure.

The next obstacle was when I just tried Unraid using the 2GB internal module. It boots, and since I set it up for serial console ahead of time, I could see the progress, but it gets to a certain point in the boot and just kind of dies.

I started with a fresh Unraid, tried again, and it dies in the same spot. I wonder if there's just some driver incompatibilities with it. No real loss. It's a super weak C3528 CPU (1.73 GHz, 2 cores). That and the 4GB of RAM (and another unusable 2GB NVRAM on the mostly discharged lithium cell) mean it's not going to be a real performer anyway.

What I opted for instead was to just remove the controller and replace with an IOM6 attached along with my other shelves. That works at least.

Plus, the thing has 4 power supplies and if you try to unplug two of them, which seems like it would work for a DS4246 anyway, the thing complained about not having enough fans and then shut down. How rude!

With the IOM6 in there, it's fine just running with 2 power supplies. There's no way the server module needs that much more power or cooling than an IOM6, but it seemed to think so. Anyway, if I ever got the urge, maybe I'd get one of those 10-pin internal header adapters to a standard USB-A and then try some other larger drive for TrueNAS, or break it out to a hub so I could actually boot from one drive and install to another like I did on the FAS3250, but I don't know if TrueNAS would have any more luck than Unraid did. I guess TrueNAS scale is Debian instead of whatever Unraid is (FreeBSD?) so maybe... But the complexity of just getting the whole thing going, and the low horsepower in it, doesn't mean I'll spend much time on it.
 
  • Like
Reactions: Marc_

MPServers

New Member
Feb 4, 2024
23
16
3
So, it was really nagging at me that I couldn't get the FAS2240-4 any further along, so I did a little more hacky-hacky on it.

To "solve" my issue of the rear/external USB not working, I took an old computer case I wasn't using and pulled out the USB 2.0 9-pin header-to-USB sockets cable that was in there. That let me plug the 9-pin (standard 10-pin thing with one of the pins blocked/keyed so you don't plug it in wrong) into the socket where the embedded USB drive goes.

It's a SUPER tight fit with the blue-lid of that socket closed, but it just barely squeezes in. I ran the other end of that cable out the "back" of the server module. I just removed the metal cover bracket where normally you could plug in an optional dual 10Gb adapter, but that plate just lifts out of the way so the cable runs through.

Even though it's a normal USB header which would typically support 2 USB ports, only one is active. While the system is powered up you can plug in a USB drive to either port of your now accessible USB ports on the end of that cable and figure out which one is live because it's the one that lights up your drive.

Since I wanted to actually try installing something, I plugged in a USB docking station. It has other things like HDMI, ethernet, but this is just USB 2 folks, so we're not getting any of that, but it does have more USB ports. A regular USB hub would probably be fine, but this is what I had.

With a customized USB installer for Ubuntu 22.04 server (customized by adding serial console into the GRUB config so I could actually see the output on the serial console), I was *finally* able to boot the Ubuntu installer. And on one of the other USB ports of my dock, I had a USB hard drive to install onto.

Let me tell you, it's SLOOOW. It's USB 2 so we're not winning any records for speed there, but it's unusually slow. Still, it did finally finish installing, and I was able to boot into my installed Ubuntu server.

Since I wasn't sure what network adapters it would find, I just plugged in everything. The e0M (wrench) port is used by the BMC, but it's also present for the OS. Just like on the FAS3250 though, it's locked to 100Mb/s. Strange since it's an Intel 82574L which is a gigabit NIC. I didn't try the ACP/locked wrench port but it shows up as another 82574L so it might also work at 100Mb. On the FAS3250 when I tried that one, the OS saw the port but it never went "active" so there could be something else Netapp does to control the up/down state. Oh well.

The other 4 ethernet ports on the FAS2240-4 are all 1Gb ports and all work. They're all Intel 82580 according to lspci.

I did an "apt upgrade" of my install and rebooted, and here's where it got a little weird again. It would boot onto the drive but then stall out at the initramfs because it couldn't find my partition/lvm. Well that's rude!

I let it sit overnight and then today I tried again. First I just powered it off/on but same result. Then I finally got it working by moving the USB hard drive into the USB port where my usb key had been when I did the install. And now it's booting up just fine. So I think it's paying close attention to which USB port on that docking station it's plugged in to, or there's a weird timing thing. I don't know for sure if Ubuntu is particular about those things if you're installing to a USB hard drive as opposed to SATA/SAS, so that could just be an Ubuntu thing?

So now I have a REALLY slow Ubuntu "server" with a tiny bit of CPU and RAM and a bunch of hard drives attached. Good. I've proven to myself that it's possible with a lot of kludges, some literal duct-tape (I taped the back of the circuit board of my old USB case ports since there are exposed traces, and what I'm guessing is a little bit of luck as well.

I'm going to try Unraid again just for fun since the text installer for it is pretty easy to get going on the serial console. I still had no luck trying to get TrueNAS working reliably with a text-only installer suitable for the serial console, so I don't know what's up with that, but just getting Ubuntu on there in the first place kind of opens up the doors for all kinds of things anyway.

So to answer the question nobody asked, yeah, you can totally install Linux on the FAS2240-4 but it's just not that useful because it's a pretty low-power (cpu/ram) system, and it's going to be better off acting as a drive shelf with an IOM3/6 on there. In fact, before I tried this installation again, that's what I did, I just swapped out this server node with an IOM6 and created a big array on a TrueNAS host with this and 3 other drive shelves chained together, and it works as expected.
 

MPServers

New Member
Feb 4, 2024
23
16
3
Yeah, the FAS3250 definitely won't break any speed records compared to something like a Dell R730 or something for the controller. But on the other hand, if you have access to that controller and the price is right, it would make a pretty good home kit. Just the fact that it will have the controllers you need, and work with the existing cables that come with Netapp gear, make it a nice option.

Plus, once you get Unraid going on there, you should be able to upgrade the memory if you wanted to add larger DIMMs for example. I didn't try that out but it seems like a possibility... I never did dig out my old stash of DDR2 to see if that worked. Maybe once my other projects settle down that would be an interesting experiment.

It'd also be pretty cool if there was a way to get Unraid (or Truenas) to recognize the NVDIMM for use as L2ARC or... ? Something like that. I didn't explore too much but it may already recognize it as an NVDIMM and present as storage. I just didn't get into that level of detail during my testing.