Episode: 974
Title: HPR0974: NELF: FreeNAS 
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0974/hpr0974.mp3
Transcribed: 2025-10-08 05:55:41

---

song.
Please welcome Drew Levine.
And just for the record, for those of you that got that great Norton anti-virus screen
shot, typically the only time I boot into Windows is when I need to take a screenshot
for documentation, and typically every time I boot into Windows it gets me swearing.
So I'll turn up swearing during the talk, we'll see how it goes.
So I'm here to talk today about FreeNAS, now I'll be introducing the new design version,
which is 8, if I get someone to forward slides.
Just have a bit of an outline when I'll be talking about today.
So I'm going to introduce FreeNAS 8, what it is, what you can do with it, what the features
are.
A large component and the feature set of FreeNAS 8 is the ZFS file system, and a lot of
people are new to ZFS, so I'll just serve you a brief overview of what you get with ZFS.
Talk about what's new in 8 too, anybody who's used FreeNAS before, because it has been
around for a couple of years is probably more familiar with 7, so we'll talk about some
of the changes between 7 and 8.
Then we'll get into a configuration workflow, so if I have this nice graphical interface,
how do I actually set up my storage system, what can I do with it?
Well then talk about get involved with the community, because it is an open source project
and additional resources, we have lots of resources.
So for those of you that have never heard of FreeNAS before, you don't know what it is,
it is an open source NAS, so network attached storage, it is based on an embedded
version of FreeBSD, called NanoBSD, it's released under a two clause BSD license.
In addition to FreeNAS, you can also purchase hardware that FreeNAS runs on, as well as
support packages, and that whole bundle is called TrueNAS, so TrueNAS is still the open
source FreeNAS, but you get hardware and support with it, for those running it in an enterprise
environment.
So when we look at FreeNAS, FreeNAS started about seven or eight years ago, there was
a guy in France, he took an embedded version of FreeBSD, it was actually monowall, and
he turned it into a network storage appliance and released it, and a large community actually
grew around it, because there was all kinds of cool stuff that you could do, and you could
basically take any piece of hardware and turn it into a storage appliance.
About two years ago, the main developer decided he didn't have time to work on a project
anymore, and there was sort of a big discussion, what do we do going forward?
One of the other developers says, well, what I'll do is I'll forget, we'll release it
under GPL, and it'll be based on devian instead of FreeBSD, and there are people that didn't
like that, they liked that it was a BSD license, and wanted to see it remain on FreeBSD.
So there was sort of discussion, where do we go from here?
And one of the reasons that discussion took place is when the original FreeNAS was developed,
it was basically developer scratching an itch, and he just took a whole bunch of software
and bundled it together.
So it wasn't really designed from the ground up to be a Sam, and over time, it became
very hard to be able to manage all these pieces of software.
So the guy who decided to fork it as a GPL started the Open Media Vault project, so OpenMV.org,
and he designed it one way.
Another group of people said, well, let's keep under BSD license, let's take an embedded
version of FreeBSD, and then we'll make a design as well, and we'll design it
from the ground up to be a storage appliance.
Obviously it takes a lot of time to design something from scratch, so it took about two
years to get an initial release, and that happened last May.
And what they did to differentiate is FreeNAS was at 0.7 when they did the split, so they
created a new branch called 8, and that will be the new design branch.
The initial release was last May, and the most current release is 804, so still the
80 branch, and that happened on leap day of this year.
804 was actually just a bug fixed release, and it's going to be the last one in the 80 line.
When we look at what they did with the design, 80, so that zero was designed to just be
the coronas itself, and the next release will be 82, and this one will allow you to install
whatever software you want on your storage appliance, so it's going to be the differentiation
between those two branches.
82 is currently in beta, and we are looking for beta testers, and we're hoping to have
a release in about three to four weeks.
Nobody who's used 7 before probably hates FreeNAS 8, because it's basically totally redesigned
from the ground up, and some of the things you're going to notice right away, number one,
is the hardware requirements.
So almost the slogan for FreeNAS 7 was, take any piece of hardware, dig it out of your
basement, get it out of your friend's garage, and you can turn that into a storage appliance,
so very lightweight on the hardware.
With FreeNAS 8, a lot of the features are tied into ZFS, and if you're familiar with
ZFS, probably an alias for is RAM.
ZFS is a very RAM hungry, and you need a lot of RAM to get the functionality that you
want and to get good performance.
So with 8, the hardware requirements have gone up, you can still install on low end hardware,
but you're going to want to stick with UFS, because it won't crawl on it, and some of
the features won't be available, because some are built into ZFS.
The other thing that a lot of people notice is because it's designed to be a sand, you
want to keep your operating system separate from your storage.
So in FreeNAS 7, you could take a partition of a disk and install the OS on it.
FreeNAS 8 will not allow you to do that.
If you do, you just basically sacrifice that whole disk.
So it's designed to go on USB thumb drive, so the OS is separate.
Or if you have flash, you can also install on flash.
It will let you put it on a hard drive, but if you do, you can't put anything else
on that hard drive.
So basically if it's figuring two gigs, you just wasted that hard drive.
So it's designed to go on USB.
Anybody who's used to using the administrative interface in 7 will really have to spend
time learning how to do 8, because it's totally different.
So everything that you're used to doing is now done someplace else.
So like any change in a user interface, it always takes time to get used to.
Some people say they like 8 better once they get used to it, and some people still like
7 better.
That also means this was a bigger problem a year ago when FreeNAS 8 was new.
All the information out there on the web was for FreeNAS 7.
So if you're following a how-to, it didn't work on 8.
Fortunately, we now have a year's worth of documentation for 8, so documentation is
no longer an issue on how to do things.
And one of the things that the FreeNAS 7 community found out is what exactly is Quarantinez
and what isn't add-on, because up to this point until 8.2 is out, anything that was an
add-on was just not available.
So a lot of features that people were used to were in FreeNAS 8 as of yet.
So let's take a look at some of these features.
So we're based on FreeBSD, so that means you're going to get the Unix file system, UFS.
ZFS has also been built into FreeBSD, and it's been production-ready, probably for
last four years, because the BSD license is not incompatible with the Suncutta license.
So ZFS is built in.
When you are feeding disk to FreeNAS, you have a couple of choices.
So if you already have hardware-rate with disks, it will recognize the rate, as long as
FreeBSD recognizes your controller.
If you have existing UFS RAID 0, 1 or 5, it will import that in.
And if you have an existing ZFS pool or RAID C, 1 or RAID C2, it will also recognize those.
If you have no rate at all, you just have a single disk.
It will recognize anything formatted with UFS, DOS, NTFS, or EXT 2 or 3.
And if you have brand new disks, you can put them in any form of RAID, either hardware,
UFS or ZFS.
Once you have your disks, FreeNAS is recognizing them, you get to choose how do I want to
actually share this data over the network.
And to be an open source, we support the open source protocols, so there is not a talk,
NFS and CFS or Windows.
You can also decide to do FTP, secure FTP access, SSH and I SCSI.
It's not documented yet, because I haven't gotten there yet.
But 8.2 also supports WebDap, because of the built-in web server.
When you're looking at how do you get users on the FreeNAS, how to control your permissions,
you can either manually create them.
But if you have an existing open LDAP or active directory already set up, it will import
those users in for you.
One of the things that we get with ZFS is we can get snapshots and you can replicate
those in the system to another system with ZFS using our SYNC and SSH.
And you can actually automate that, so it just happens on the background.
We'll be talking a little bit about snapshots and scrubs.
These you can schedule for ZFS.
Into the administration, there's front-ends to make crime jobs, so you don't have to remember
where to put all your asterisks to get your time set up.
FreeBSD uses something known as CETLs, where you can tune the system, so you tune a live
kernel.
So there is a GUI interface for that.
And in FreeBSD, if you want a loaded driver that's not automatically loaded, you use loader.cop.
And there's front-end GUI for that as well.
You can load additional drivers and modules.
The GUI gives you graphs, so you can look at your CPU usage, your bandwidth, network
bandwidth.
If your disks recognize SMART, you can schedule the SMART test and get the results mail
to you.
There is an automated alert system that will let you know, for example, if CFS finds a problem
in your pool, let you know that if one of your drives is starting to go with a lot, you
know that.
And also, UPS support as well.
So many other features we have, you can configure link aggregation and failover.
There is VLAN support that only understands tagging, but if you have that on your switch,
there's also DDNS, SNMP and TFTP support.
So if you're saving, say, your Cisco images, you can automatically have them sent and
received from the FreeNAS server.
There's a bunch of services that are available in FreeNAS, none of which are started by default.
So there is a control panel where you can go and start services and see which services
are started on that system.
And one of the things that we've worked really hard for as we are designing this is to
make sure it's very well documented.
So there is a user guide.
There's been a lot of releases since May and every release has its own user guide.
Because it's a new design, things are changing from version to version, so you want to make
sure that your screenshots and instructions match the version that you're using.
So we publish docs when the version is released and we have them available in various formats.
So if it has time machine backups, it's very easy to set up in FreeNAS, shadow copies
just work if they automatically configure themselves.
One of the reasons why the OS itself lives on a USB stick is it makes it very easy to
backup and restore.
So you can backup both the OS and the config itself.
And usually I tell people, backup, you're config, you definitely want that.
But the OS itself is throw away, just grab another stick, burn it, and it will recognize
your disk.
You import your config.
So the OS itself doesn't really matter.
FreeNAS 8, you always access through web browser.
One of the coolest things is I'm a command line person myself is there's now a web shell
that works through the web browser where you can go in under the hood and run whatever
commands you want.
That's my favorite thing to do.
Okay so I'll talk a little bit about CFS.
So CFS was originally designed by Sun, which unfortunately is now owned by Oracle.
It is a 128-bit file system, so very large storage capacity.
And it was actually designed to be self-healing.
And probably the best way to describe CFS is it's not really a file system, it's not really
a logical volume manager, it's sort of a combination of both.
So with CFS, it doesn't care what your underlying hardware is.
It will just look at any storage you give it and it will manage it for you.
And it has built into it routines that will let you know if there's problems anywhere
on those disks.
It was also designed to address hardware rate issues.
So hardware rate isn't perfect.
And one of the things with hardware rates, you had something called a right hole.
And with CFS, you don't get that.
So if you read even the Wikipedia article on rate, it will describe the right hole and
how that's a problem.
One of the things you can do with CFS is something called infinite snapshots.
So if you wanted to, you could take a snapshot every minute and you have a point in time
back up of the system at that point in time.
The nice thing about snapshots, it's one of the difference between UFS and CFS snapshots
is the only space the snapshot takes up is what has changed since the last snapshot.
So you can actually have millions of snapshots not taking up very much space.
And with Frenez because you can automate replication, once you have your snapshot schedule,
you can send them to another system.
So if you ever have to restore data, it's very easy to get to.
Snapshots themselves are read only, but you can create something that's called a clone
where you basically have a read right version of the file system at that point in time.
So that's one way you can do a restore.
And you can roll back to any snapshot.
CFS, they recommend that you don't use hardware raid with it because CFS likes to control
the disks itself.
And it has something known as RAID Zs, which are various types of raid similar to different
types of hardware raid.
So for example, a RAID Z1 is basically the equivalent to a RAID 5, a hardware RAID 5.
And with RAID Z1, you can lose one disk and you don't lose any data.
RAID Z2, you can lose 2 disks and it doesn't matter where those disks are.
So there's not limitations on what controller those 2 disks are.
RAID Z3, you can lose up to 3 disks.
One of the things you have to remember when you're setting up RAID Z and in our documentation,
we have links to the ZFS best recommended practices to tell you how to best feed at your
disk.
You have to be careful how many disks you put in what's known as a BDEF because if you
end up losing a disk, you have to do something called resilvering.
And resilvering is fairly CPU intensive and it does take time.
So if you had something like 40 disks, you wouldn't make a VDA of a 40 disks because
if you had to resilver that, it would take forever.
Instead, you would do like 5 disks and you'd make a bunch of VDeps and strike them together.
So it's much easier on resilvering.
When it comes to ZFS, it has versions and the versions change as features are added.
So version 15 was what's right now in FreeNAS 8, so in the 8-0 series as well as the
8-2.
Sorry, almost as soon as 8-2 is out, 8-3 will be close behind it because we're waiting
for FreeBSD to release 8-3 and they're currently in their release candidate stage.
One of the big advantages that will come with 8-3 is we get a bump up in the ZFS version.
We go up to 28.
And the two big things that come in version 28 that are missing in 15 is RAID-C-3, so
you can lose up to 3 disks.
So also something called DDUplication, which is very useful in some environments and a
waste of CPU and others.
So if you, for example, are storing a lot of virtual images, you have a lot of duplicate
data.
DDUplication in the file system will consolidate that and get rid of the duplications.
If you don't have a lot of duplicate data, you're wasting CPU, I do indeed duplication.
Version 30 is the interesting one, that's one that has encryption, and that's the one
that Oracle has not open sourced, and it's the one that nobody's holding their breath
for Oracle open sourced.
So in FreeBSD, because encryption is a big deal, they're probably going to end up writing
their own way of doing encryption, rather than waiting for Oracle.
Right now they're writing something called CFSD, which is a CFSD, and CFS outside of the
Slarris commercial version was really lousy at monitoring.
So it was really lousy at telling you when a disk was going bad, it wouldn't alert you
of that.
You'd sort of figure it out over time.
So what they're doing is they're building a Damon that will let you know as soon as the
file system knows, and they'll probably put encryption into that.
But that's still in the design phase.
Okay.
So what's new in 8-2?
8-2 is the one that's currently in beta's due out in a couple of weeks.
The big thing that everybody's been waiting for is to plug in architecture.
So right now with FreeNAS, you can set up your sharing, your disks, your good to go.
If you want to do something like multimedia, so transmission, plug-in XMBC, any of those
things, a lot of people are doing really funky things.
They want to have a print server on it.
If you want to have an open VPN server on it, right now you can't do that unless you're
really good at free BSD, want to drop down the command line and do it from scratch.
The plug-in architecture is pretty cool.
It's 8-2 will be the first time it's out, so we're certainly going to find out every
bug that's in the design that will get sorted over time.
So what happens is we use something called the PBI format.
So if you're familiar with FreeBSD, they have something called ports and packages that
allows you to compile them yourself or to have a pre-compiled binary all from the command
line.
The desktop version of FreeBSD is called PCBSD and what it did was it created a wrapper
program that took those command line installation routines and put it into a GUI, allowing you
to use a GUI to install and uninstall things.
FreeNAS is taking that PBI format and they've taken it one step further to integrate it
into the web browser configuration utility.
So basically there's an XML form that when you create the PBI creates all the fields
for the configuration for that.
And we're starting to get documentation on how to make those.
So basically you download a PBI, you go into FreeNAS under plugins, you tell it where
the download of PBI is, it installs it, and right into GUI it adds a configuration screen
for that.
And I'll have a picture of that screen.
The documentation we're working on actively, so it will improve in time for release.
So it's showing you how to install, make your own plugins.
And right now built into 8.2, there is DLMA, D-A-P, and Torrent support.
And those you're able to do from the GUI.
The other thing that 8.2 added, which is more for high-end environments, if you have
hardware that's capable of multi-path, it automatically sees it and it will show you
that hardware.
OK, so there's a picture.
Those screens are going to change, because we're trying to figure out where's the best place
to put this in the GUI.
So right now this one has installed Firefly, so you'll see down at the bottom it says Firefly.
In this screen I've clicked on Edit, and it's basically giving me a GUI front end to
MT-DAPD.com.
So anything that's available in that config file is now available, either drop down or
type in in the Freenas GUI.
Once you go and configure it the way you want, you click on Start, it starts, you type
in the IP address of your Freenas system, and you get your Firefly web admin interface
just as if you've installed Firefly.
So that's how the plugin system is going to work.
OK.
So those are the features, we'll do a quick bit on the Configuration workflow.
So this is mostly for the benefit, especially people coming from 7, like where do I go
to get things set up, basically these are the six steps you want to do.
So the first time you access the web browser is just going to let you in, so you obviously
want to set an administrative username and password.
You're then going to go in and let Freenas know about your disk, so you're going to set
it up how you want your volume set up.
You then need to deal with permissions, so how are you going to get your users and groups
in there?
Are you going to be importing them from Active Directory or LDAP, are you going to make
them manually?
You'll then decide upon what type of share to make and configure it.
You'll start the service associated with that share, and then you test the configuration
and make sure everything's working the way you want them.
So set in the administrative credentials, so there is in the left there is an account,
the admin account, you just go in and change the administrative user, I'm going to give
it, don't keep the default of admin, give it a name, and then you can also change the
password at the same time.
So that's step one.
Step two, you're going to have to figure out how to create your volumes.
Do you have a couple of choices?
If you already have UFS rate or ZFS pool just imported in, it'll see it and recognize
it.
If you have one disk already formatted with one of those file systems, you just import
that in.
Otherwise you go and create a UFS or ZFS volume, and the next screen will show you that,
yeah, that one.
So in this particular system it has four disks, going to create a volume called data.
The stuff that you see at the bottom will change depending upon how many disks you have
available.
So obviously if you only have two disks, you can only set up a mirror or a stripe.
As you add more disks, you can have different types of rate.
If you're dealing with ZFS, you can also dedicate disks to be for your log or for your
cache.
And the documentation explains when that is a good thing to do.
One of the things we can do is ZFS is once you've created what's known as the pool, you
fed it all your disks, you can create things called data sets.
And the advantage of a data set is it's basically like its own volume.
So you can assign that data set to a user or to a group.
So they'll have their own storage area.
You can set quotas on data sets, you can set compression on them.
So there's a couple of things you can do with those.
Once your disks are set up, you're going to have to decide how you're going to be dealing
with your users and groups.
So as I mentioned before, those are your three choices.
And then you get into how am I going to actually share data.
So I now have disks.
I want to get data back and forth.
And what we recommend is you pick one style of sharing and only configure one.
Because the last thing you want to do is to have Windows users looking at Apple's shares,
saying, what are these weird looking filenames?
I should delete those.
You don't want that happening.
And also, say if you're dealing with NFS that has no clue what users are, it only looks
at network addresses, you're going to have a lot of confused users if you make some
Mac shares.
So you pick one that works for clients in your network.
So if you're supporting a Mac network, go with an Apple Talk share.
SIFS is actually good for any OS.
The problem is, is SAMBA is only, it's limited.
It's not multi-threaded.
So you may find your CPU bogging down or slow things down.
NFS also works with any other type of client.
The problem is, is in Windows, if it's not a enterprise edition, you don't have a built
in NFS client, though there are things that you can download.
Typically, you pick one of those three.
Depending upon the users in your network, see if you have people that are comfortable
with SSH, just create an SSH one, everything's encrypted.
If you have people who like to go through browser and look at an FTP site and get stuff,
you can also set up FTP, SFTP.
And if you need access to raw disk, you can use ice guzzet.
When you're configuring the share, only go for one type.
The part that confuses people is, when you're creating the share, you deal with permissions,
but the permissions go on the volume or the data set.
So that's one of the reasons why CFS data sets are so nice if you need to partition data.
So if you're not just having anonymous access to your data, you want home directories
that sort of stuff.
Data sets are wonderful.
And permissions can be set on a per volume or a per data set basis.
Once you've set those up, this is the control panel for starting services.
So everything is off by default.
If you've configured, for example, FTP, don't forget to turn it on for else nothing's
going to be happening.
If you're working with CFS, you also have to turn on active directory if you're working
in an active directory environment or LDAP.
You'll want to test your configurations.
You want to make sure people who are supposed to have access to the data actually do and
people who don't know.
And we have a couple of things to make it easy when you're troubleshooting.
So there is something called enable console logging.
It's one of the check boxes you can check.
And as you're starting a service, it will tail our log messages.
So if a service isn't starting for some reason, you can watch it go by and see what the problem
is.
One of the nice things now that we have webshell is just open up webshell and you can go
in, you can read all of our log messages or you can read your Apache log file or whatever.
It is an open source project.
We are always interested in participation.
And FreeNAS has always had a very active user community.
One of the best things you can do is report bugs.
So we do have a track bug reporting system.
It's support.freeNAS.org.
It's always nice to work out bugs before something is released.
So we always have a beta and a release candidate cycle where we do want to hear feedback from
people if something is broken or doesn't look right.
The documentation as it is now covers all of the possible configuration options.
So what screen you go to is going to look like when you get there, what you can type
in.
But it's not so much on the how to's, how do I go in and set up my media server, for example.
So we're always looking for real world recipes on what a person can do with their FreeNAS
system.
There are forums in IRC and there's always people looking for help there.
And we always want to know how people are using their FreeNAS systems and what they like
about it and what they'd like to see improved.
So definitely let us know if you blog about it or write a review.
A bunch of resources.
The last URL will be the URL to the slides.
You don't have to madly write things down.
So obviously we have a website, there's forums, the bug tracker, links to the user guide.
So you can download every version.
You can also see what's coming in the next version.
There is an IRC channel and there's also a bunch of links we have instructional videos.
There's mailing lists and professional support is available if you need it.
And I think the last link is how to contact me and the URL to the slides.
And we've got about 10 minutes for questions.
Yes.
So the question is how do you address backups?
So built into it if you're using ZFS, you can set up for application between systems.
One of the requested PBI's that we have is for Bacula.
So you can set up your own backup system.
So we expect a lot of the first PBI's will be backup solutions.
Now, and it also depends upon the data.
So for example, shadow copies work, if you're in a Windows environment,
and the time machine works if you're in a Mac OS environment.
There's a question over here.
Yep.
The command show is a full 3SD environment.
Two answers to that.
So in the shell itself, it is NanoBSD, which is a stripped down environment.
Now the shell is pretty good.
It defaults in the bash.
You can also do TCSH.
So you're going to have things like history, command line completion.
Because it's an embedded version, there's no man pages, but all of the man pages are online.
And when you're reading through the documentation, they're all hyperlinked to bring you right
to the man page.
When we are dealing with the plugins, part of the plugin architecture is because free
nas itself fits on a 2GIG USB stick, you're not installing a lot of software there.
So instead, when you create a plugin, you're creating something called a plugin jail,
which is a free BSD jail, which is basically another free BSD, complete operating system
accessible through free nas.
That's actually where you're installing software.
And once you, from web shell, you can access that jail and you have a full free BSD system.
So man pages, you can do the ports thing if you want.
If you're used to using free BSD, you can do anything you usually do.
Yep.
So when you set up your plugins, jail, it will ask you which volume you want to put it
on.
Correct.
But at this time, it only supports CFS, and we recommend that you create a data set specifically
for the jail.
That way it's separate from the rest of your storage.
Yes.
So what are the CPM and ZFS?
Do you want to run ZFS?
So ZFS does something called pre-caching, and that speaks things up, and ZFS needs four
gigs of usable RAM to pre-cache.
So if you have four gigs installed, you don't have four gigs of usable RAM because you
still have your OS, you got applications, that sort of stuff.
And which means you're basically installing at least eight gigs.
And depending upon your needs, that may still be slow.
And it really depends what you're using the free nas system for.
So we have lots of users that are just using it at home.
They just want to serve their movies or whatever to the family.
And they can tune ZFS to do it in a gig or so of RAM.
And they're not worried about squeezing performance out of it.
Now if you're using that little RAM, don't do a scrub, and don't do deduplication, because
you will actually, you'll panic the box.
It's just not enough RAM to do it.
Now if you're looking at setting up a small network, say for a small office, it really
depends upon how heavily that storage box is being used, and how you're sharing.
So for example, and we have a lot of people running it say an ESXi, and that in itself
has some RAM requirements.
And what we'll use you to tell people if you really need to squeeze a lot of performance
out of your RAM, you probably should either be using iSCSI or using NFS.
So a lot of people will just change their share type and they'll see a performance boost.
Now ZFS, because of the CIS CTL system, there's literally probably 60 ZFS CTLs that you
can use to perform your system, but typically it's cheaper and easier to add more RAM.
Okay, one more.
You mean the GUI?
It seems like what you have is something that's been used to save a lot of time.
Correct.
Yep.
Now it runs fine in a virtual environment, so you can certainly install it that way.
Yeah.
Okay, thanks everyone.
You have been listening to Hacker Public Radio at Hacker Public Radio.
We are a community podcast network that releases shows every weekday Monday through Friday.
Today's show, like all our shows, was contributed by a HPR listener like yourself.
If you ever considered recording a podcast, then visit our website to find out how easy
it really is.
Hacker Public Radio was founded by the Digital Dog Pound and the Infonomicon Computer
Club.
HPR is funded by the binary revolution at binrev.com.
All binrev projects are proud to sponsor by lunar pages.
From shared hosting to custom private clouds, go to lunarpages.com for all your hosting
needs.
Unless otherwise stated, today's show is released under a creative comments, attribution,
share a like, free.or license.
