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.