exFAT as NAS filesystem on SSD

Continuing on my NAS journey, got a nice deal on an external SSD in Black Friday. Does OpenWRT support exFAT as an SSD filesystem, or only F2FS? Ideally I would like to have my NAS set up so I could unplug the drive and plug it into my Mac if I need to, in case of emergency (power outage for example.) Or unplug the drive and take it with me somewhere, and have access to the files.

Yes, although a native filesystem is still recommended (realistically speaking, you'd want to use the newer exfat implementation from master/ snapshots instead of the quite dated external variant available before).

3 Likes

Thankyou for your answer, however I am sorry I do not understand what “using the newer filesystem from master/snapshots instead of the dated external version” means? Is it better not to use exFAT?

Oh sorry I think I’ve grasped it, I should install a snapshot version of OpenWRT with a better implementation of exFAT?

Microsoft has recently given their blessing (given a limited patent license for opensource usage) to include the exFAT filesystem into the linux kernel. As a consequence Samsung has contributed their newest development for this linux filesystem driver into the mainline linux kernel, which is considerably overhauled compared to the previous state (which was effectively a random out-of-tree modules gathered from a GPL request for one of Samsung's android devices).

This previous exfat-nofuse package exists up- and until openwrt-19.07, but the master (snapshot-) branch contains the much newer and significantly reworked exFAT filesystem driver (currently based on the current kernel v5.10 state). While both should work, I'd rather rely on the the current implementation than the older one.

3 Likes

Ah, but this means I have to start from scratch, and install a snapshot version over my current installation, set up NAS again? Also I just read some documentation, as snapshots are compiled daily, I may not be able to install any more packages? I will have to think about this. I’m happy I’ve got everything working as it stands, I am unsure about starting from scratch and flashing a potentially unstable version.

Looking at the distributions, I’d guess we are 6 months away from a stable build with the new exFAT implementation, do you think so too?

Let's also just say that exFAT doesn't seem to be a particularly good filesystem, and my experience is that it tends to corrupt rather easily.

If it comes down to every so often you might just want to turn off your NAS and then plug the drive into your MAC, you might do well to just run Linux in a VM on your mac and use ext4 or btrfs or xfs.

1 Like

I used my OpenWrt Router (WRT3200ACM) to build a NAS using WD Elements connected via uts USB 3.0 port and than shared in network using available samba.

In past used native file systems (ext4) but as I don't use local user restrictions, sharing quota etc, I haven't found it too much useful as want just to share whole drive to all in household (in business this may have valid reason to do this this way). Sometimes, when I downloaded file via my router and saved into hard drive, the permissions were different, and than users struggle to open, copy or delete file. With exFAT file system the permissions that typically applied in Linux environment not longet applied (good for me, some can tell this different).

The best thing in using exFAT is, that when router go down or some package / configuration start not working well and you need to have quick access to your file, you just unhook your USB cable from router and connect to computer. macOS and Windows will showing stright away. With ext4, when no other computers are using Linux is a bit trickier, as require additional work.

Its all up to you, what solution is needed, but for simple NAS I think that all waht you need. BTW in Samba (Network Shares) you can also specify separate shares with access restrictions.

Thanks for your advice guys. I’ll have a think about how to proceed. I’m still not sure about flashing a snapshot though.

the main downside of FAT and exFAT is that they are not journaling filesystems so if you are writing to them and power goes out or someone removes the drive you are likely to have screwed up the whole drive and need a filesystem check (from windows) to try to fix it and recover part of the data.

That is the reason why everybody recommends to "eject the usb drive" before removing it from the port.

ext4, f2fs and pretty much everything else on OpenWrt (even NTFS) don't have that problem. At most you have corrupted the file you were writing, but the filesystem will not be screwed up.

Of course if you just lose power and nobody was writing in the drive (or you were just reading from the drive) nothing bad happens.

btw, a SSD can use any filesystem, you are not limited to f2fs or exfat.

btw 2.0 the max size of FAT filesystem is 2TB and it's well-supported in OpenWrt, also with flesystem checking tools. And the 2TB max size is the only real difference between exFAT and FAT.
If your SSD isn't bigger than 2TB it's probably a good idea to use FAT instead of exFAT.

I was under the impression FAT32 could not accept files larger than 4GB? Am I wrong here? This seems to be a serious limitation, but corruption risk is also serious. I would not wish to risk a power outage and then have lost everything on my disk. That’s absurd. What are Microsoft thinking?

How about HFS+?

Yes the max file size of FAT is 4GB.

https://www.keil.com/pack/doc/mw/FileSystem/html/fat_fs.html

I think it's going to have to be exFAT and take the risk, it's not a shared drive, only I am using it. I am not sure how to get files out of a disk through a Linux VM as not a Linux expert, although this is something I could experiment with. But for time being, it's going to be exFAT on 19.07.

Although it is a huge risk, when one appliance could trip the fuse and cut power to the router. Less of a risk wired to my Mac.

When the guide on filesystems says this:

In Apple land you have HFS, HFS+ and APFS. Same as with Windows filesystems, there is a driver available for HFS and HFS+ but it has low performance and does not support all features.
APFS is too new (as of 2017) and there is no support at all for it in OpenWrt (nor in Linux)

does it mean slow R/W speeds by performance?

MacOS seems to think I only have 100MB I have definitely pointed to 1TB exFAT partition. What do you think is up? Should I try HFS+?

Is it able to write more than 100MB ?

Nope. It is not able to write exception: File size too large no available space.

Tested disk wired by thunderbolt and got high write speeds. 16GB in 18.09seconds.

Try letting the OpenWRT format the disk, if that's an option available to you.