 Tom here from Lorne Systems, and this is my spare parts FreeNAS build that we kind of put together to kind of demonstrate setting up free NAS with spare parts and less than ideal But still be able to get some performance out of it and just kind of show the setup process If you want to learn more about me and my company head over to LorneSystems.com If you like to hire a short project There's a hires button up at the top if you want to support this channel in other ways from affiliate links down below to Get you deals and discounts on products and services we talk about on this channel And I've been talking a lot about free NAS and this is just like I said spare parts I will start with what these drives are in front of me by showing you the login to the free NAS here We've got nothing built But let's talk about some of the parts So I have a couple of drives here like this one and that's in this pile here of Three and a half inch hard drives is this Toshiba desktop 7200 rpm drive. That's 500 gigs So nothing real in performance here. Let's see. What do we have at 88 zero? That's a seagate constellation. That's some of the two and a half inch drives. Let's look at Three another seagate constellation and I hodgepodge these together. What's that nine? Oh, we got a seagate barracuda So mostly seagates, but there is at least one Toshiba on the mix here. Let's try this one six and yep another Seagate one terabyte Constellation in here. So kind of got a mix of some of the different parts in here as far as hard drives So we got some three and a half inch hard drives here And all the two and a half inch hard drives are over here The seagate constellations are on the bottom This fan is because these little seagate constellation drives which have plenty of hours on them from a old server That was decommissioned But they won't cool themselves very well. They kind of expect to have the tray cooling them So when we printed a little 3d holder for all the drives, it turns out not to work very well in terms of cooling So we got a fan sitting here But what I'm gonna demonstrate here is we have five one gig drives and five five hundred drives And yes, you can put mismatched drives together for Freenance and I've done a video before showing how yes You can expand your Freenance volume with another vdev of different size drives And we're gonna do this from the beginning But yes, this is something you do and I have another video about that now This is not the same as expanding a single vdev But vdevs are what make up a pool inside of Freenance. I'll link to a bigger explainer I have on all the details and diving into that, but let's start with this here We're gonna go and we have eight gigs of RAM. We do have Let me move it slightly out of the way if you can really see we get the overhead here This is a Melanox 10 gig single DAC connector So this will have 10 gig speed and that is you know adequate for what we're doing here 8 gigs RAM is adequate for we're doing here and let's take a look at the system itself. This is a For the dashboard We've already got Freenance loaded. This is a Intel Core i7 4770k So it's an i7 which is nice is liquid cooled as you can see by the little rigging we have over here But it's nothing. It's an older board. It's probably five or six years old. It is a Republican gamer board But it's not ideal. So so speak for Freenance. This is all the parts we had laying around now Let's run through just what the Freenance installer looks like. That's what I have set up here. So refresh this And I'm not gonna go through the install process completely because it's kind of boring But at least I'll show you for those wondering what it looks like now Freenance does have the ability when you run the installer, which is downloaded put it to a boot drive And then you want to install somewhere We're not installing Freenance on any of the data drives now This is once again not ideal, but based on a spare parts build. We put this on a little SanDisk cruiser USB You can install Freenance to USB if you're in a pinch it will work It doesn't have to be much in terms of the boot drive because not a lot's going on and if you have a pair of USBs You could even choose rating them together and then we hit okay Would you like to proceed with the installation? Installing flash media is preferred installing on hard drive. It does have that option and I say in a pinch you can do the Freenance onto a USB Freenance does, you know completely support that but USB one sometimes we found those not to be a hundred percent reliable. They work overall pretty good We've got some installed for years that have never had a problem And the reason for that is once you get this set up you take your syslog and you don't point it at the USB You point your syslog or any type of logging Over here because once it reads from the USB it doesn't write back to it unless you're making changes Which aren't very often all the data sets handle all the rest of it. I think you set your Freenance password boot via BIOS or boot via UEFI kind of depends on the motherboard you're using but in this case we actually set it up to boot via BIOS It's going to run and do the setup it's going to copy the files and reboot so not much to this to getting Freenance set up At least I just want to show it in this little VM here so we can get you an idea And I'm actually going to go ahead and force shut down this so I don't need this running And we're going to cover a couple quick topics right here. I'll leave a link to this. This is a good read up on here So ZFS Allocates writes according to free space per VDev not latency per VDev Why am I bringing it up? We're going to be creating a VDev with the 500 gig drives And we're going to create creating a VDev with the one terabyte drives And then we're going to merge both of these into one single pool. Well, actually you create the pool You just set the VDevs. We'll get into the actual creation process just in a second so This right up is to break down the fact that some people have Commented this and I think these comments are still on my video from a while ago of how to expand a pool with adding VDevs that are different sizes and there's this myth that it allocates writes based on Latency and that's not true and what happens when you have in balance VDevs because we're going to be creating some of these on the 500 gig drives and some of these on the one terabyte drives Well, you've got double the space that means for every file written It's going to put let's say call them blocks per se a couple blocks over here and one block over here And this is how it's going to balance it so it doesn't wait and right here fill this up and then flow over to here or fill this one up And flow over to here. It distributes them evenly based on their size. So it kind of creates a calculation going. Well, this is only 500 gigs so it has half the Capacity of the one terabyte ones and will balance them by putting for every two writes it does over on the One terabyte series it puts half of that over on here So this article actually breaks it down. This person has a lot of good demos and testing and of course someone always asks What if I already had data and then I expanded it the as a whole how the drive system rebalances? It's a fun read and something definitely worth looking into and I'll leave those links down below and in a forum post We're always to be done. So now that we've kind of got the concept of what we're doing Let's actually do it and show it working. So we're going to go over here to pools And we're going to add now this only had 10 SATA ports So it only gives me the potential for 10 drives and people always ask what about a caching drive? What about a Zill or a log drive on there? Well, those are more for performance systems with specific U-Case is let's say you're having NFS rights, and you really want a zill drive on there to help buffer all that That can help but you have to remember when you have 10 drives in a pool You actually have a lot of this buffering going on where it's going to distribute the rates across here And of course distribute the reads what I mean by that is you're going to get a pretty reasonable on a performance Even though we don't have a cash drive So I'm more likely in this particular scenario with these are all 7200 rpm drives to get a better performance out of these Then if I would have sacrificed one of these drives Sacrifice some of the storage for that Zill log on there, but that's I don't want to get too deep and technical on there Also, if you are using something like a zill you really should be using it as an MVME because If it's not performance and it doesn't have a really fast ability to Read and write the data. It's not going to help these either same thing goes for a cash drive Cash drives will do caching for frequently access files. There are U-Case use cases specific for that But once again, if you have the ability to put more RAM in there That is faster because your first cash hits are going to come from RAM And then it will start looking at the your level 2 cash which could be a hard drive But if you can put more RAM and obviously that would be much better because the more memory you can have the more it can Cash those files also the other myth that you have to have a massive amount of memory to get any real performance out of FreeNAS it will perform better with memory because yes, you'll be able to cash things in memory But it's not imperative that you have memory. You can still create this drive setup We're doing here without that much RAM. So we do have 8 gigs of RAM in here. And that's purposely I actually have a More RAM I could have put in but we're going to show the performance in a set up of our spare parts build with only 8 gigs of RAM Now if you try to do things like run VMs and things like that in here, which were not for this demo Obviously that would definitely affect your amount of RAM you need. So let's go back to creating a pool And uh, let's see. We'll suggest a layout. There we go It grabbed all these and said let's put all these into the first data vdev And we're just going to do them at a raid z1 which means we can lose one drive raid z2 means you can loot up to two drives for parity So kind of depends on what's your risk factor on doing it raid z2 less risk At the sacrifice of losing a little more space, but raid z2 You know, I I feel as though I can just rebuild the drive in here and it shouldn't be too big of a deal So we'll go raid z1, which means if I lose two drives, it's done Also, if I lose two drives out of here and two drives out of here It's completely done. It doesn't matter which side you lose them on it needs both vdevs to be there So if I lose two drives on this vdev, it's not like the date over here safe The data is written across all vdevs. So that that is definitely a factor when you're doing it. So Now if I try to add these to this vdev, that's not going to work That's going to go. Nope. It will say these are mismatched drives So we're going to go ahead and click down here and say add data And what that does is now I can select these drives And that's how we build The second vdev. So this is the first vdev here and the second vdev here. So we have an estimated capacity 3.63 terabytes and 1.36 terabytes down here. So obviously this one, like I said, is going to be a lot bigger So once we've done that, we got to give it a name We'll call it Orion. I do like doing encryption on these That's because if ever you have a drive, you have to send back, you know, because the drive quits reading Obviously, there's some worry that maybe some data might be on there if you have it encrypted that worry just goes away The downside of if you set this up with encryption in a password and you have lost Set encryption and password or you don't back up the encryption key that's going to get written to the drive over here The uh boot drive of the free dance itself, then you also have lost all your data So please it reminds you throughout uh to back that up But it's just something really important. We'll switch this one down here to say raid z So now they match And you because you can set it right here, but they do have each vdev has to match and we'll hit create create pool This is where it's going to warn you download the encryption key. Please back this up This is the key file you need In what this means is if the boot drive the little sand disk usb that I have plugged in the back of this motherboard Were to ever fail then you definitely need to Uh have that key with your restore. So that's just what that's doing right there It's I think that they've put more emphasis on this with older versions of free nasa I just have to say it now anytime you build an encrypted pool. It definitely Prompt you for it. So now we have this all created, but how fast is it? How well does it work? Well, let's go ahead and cover that real quick So we're going to go over here And uh, let's create a share on it Now as far as this setup, even though I didn't walk the install The only thing different from this install from like the absolute out of the box So go over here to system general And I checked the little box right here because actually by default it doesn't have htbs turned on and if we go over the services I do turn on ssh So ssh is turned on right now Those are the only out of the box configs from default that this is configured on So let's go back over here and create a share so sharing actually first Getting ahead of myself here Create a data set. I could just share the raw data set itself. We actually want to create one Demo share There we go comments. We don't really need any Let's call it demo Save Now we've got the demo share created We're going to go over here to sharing Windows share add There's the demo share allow guest access advanced And we're going to say Only allow guest access now what that's doing and I've got another video where I break down ACLs and permissions You are going to When you say only guests you're allowing guests and say don't need a password I can just log into the system open share And we're actually going to change here to open And like I said, I have another video on how to get more fine grained on ACL permissions and groups But for the purposes of this, I just wanted to have a wide open share And then you set the ACL to open. We're going to go down here and hit save And now we have this demo share and now from this point, we're going to jump over To my desktop and start copying files to it to kind of see what kind of performance we get on it But for the most part free nas as long as you have a reasonably modern system it runs pretty well on here It will Boot off of most any system. The only thing before we leave this little setup here and go to my office I wanted to comment on is I have the monitor up here because Because it created all of these the bios tries to outsmart me each time and it sees partition changes on these So the next time I reboot it's going to mix up the order of the drives Uh, I've we've actually noticed this on a couple of the motherboards Once you've written it, it's fine But then you have to go change the boot order again to be the boot order you want The good news is there's no danger after you build these drives It'll tell you hey, this is a free nas data drive. You cannot boot off it That's all you lend up with on the screen and I've seen people kind of panic on that Simple work around like I said you go back in the bios and we've Observe this on several consumer motherboards where it just kind of goes. Hey you wrote partitions We think that means you must have loaded an operating system and want to change the boot order again You could probably get around that with turning uefi on and installing it in a uefi Or maybe if we weren't using usb it would do it But I've seen them do it even when I'm installing it to a hard drive It sees the partition changes. So I'll just leave that as a note But now we're going to my office and let's see how fast this is when we dump some data to it All right, so I'm sitting back at my desk and let's take a look at the shares here So mount to ryan demo shares the path demo shares the name Pretty simple. We're going to go here And you go to and press ctrl l if you're using linux windows, you know backslash backslash the ip address And when linux, it's smb colon slash slash and we're using an ip address Not the full like name of the system, but that is a possibility as well 192 1683 dot 209 slash demo share and we have this folder now before we jump all the way over there I mentioned that this was connected to 10 gigs. So let's ssh into that server We're just going to do a quick test And this will help you oops. I meant stash s This will help you a lot because the first thing you want to know is can your system talk to the free nas system in this case At full 10 gigs because if it can't well, then your files troubleshooting woes Don't begin there. I've had people say well, I'm not getting the file transfer speeds They want let's first look if you can connect to that system at full speed Then you can start whittling down where the problem is So this system fully connected at 9.4. Okay 10 gigs. So that's what we want. We are seeing definitely good connection there I'm going to exit out and I'll do this and while we're waiting We'll type z pool iostat rion Dash v1 that should work All right, and this will show the rights going on to the drive when we copy some files over Go here and I grabbed a couple folders and we'll just Copy them some backup folders in my system and paste them over Let's see what kind of performance we get out of there Now it's going to start out sometimes so it's like a really high number and as you know when file transfers It takes a second to either ramp up or slow down to the speed that it actually transfers at Not bad at about 300 megs a second right now So that's actually pretty reasonable 299 megabytes a second Going back up 290. Oh 297. We'll let this run for a second and look at what's going on in the background over here But you can see it committing all the rights To this and slowly as it's going You're going to watch the um allocation here There we go Move it dash v over there so you can see it actually reading and writing to each of the pools And as I'd said it's going to start distributing this data across these pools and across the rights something to note here If you have slower drives in one of the vdev So one vdev has faster drives than the other It doesn't mean you're going to aggregate get better performance overall You'll actually slow it down It does have to wait for these some of these rights to commit to the other drives So if you do have a couple slow drives in your pool Especially because we use such a mismatch of not even the same brand drives It can't operate really More than the slowest drive in your pool. I mean there's still some factors It may still be a little bit faster, but it may pause when it gets to that particular drive So something to consider when you are adding these when it comes to performance But generally when you're building a bunch of hodgepodge mismatch stuff together It's not to build a performance system is building on what you have or in many cases sometimes Just a backup system and we've built backup pre-nast assistance for clients or you know You take an older server like hey this server has some of these drives and some of these drives We just need a big storage repository for all of your backup stuff and that can go over here And it's usually like the you know the last generations of servers They can be repurposed for that and then your new generation servers run all of your primary But it's nice to have any own extra onsite backup with hardware that will still perform pretty well And despite this being a little bit older of a system Let's see what kind of transfers is getting now that it's run for a while We're up to actually 317 megs a second And I grabbed this because there's a big wide variety of files mixed in here So 15,000 files in here some are small some are big If you did something and we could probably cancel this real quick and started doing it as This is an x in front of it if we just did isos which is going to be how big is this About 25 gigs with the isos and we drop them over here They'll probably transfer faster because it's just large files being transferred not a bunch of small Files where it has to be as much activity on the smb. So let's see what this transfers at That's still only about 300 and looks like some of the other ones were hitting a 320 mark so it gives you a good idea though that well 300 megabytes a second out of a handful of Old hard drives in here Is still pretty reasonable now If we want to do the z2 I figured we'll do one more setup and do it z2 It just run run through the same setup and see how much z2 hurts us in performance We know it's going to lose a little bit of space, but then we do gain that actually redundancy So if we're getting 300 mega second on a z1 with these pairs, let's just tear them down and rebuild them in a z2 format So go ahead and cancel this Control c we'll just do that and let's go ahead and kill these drives off real quick so the pools Export disconnect destroy the data by the way if you do not destroy the data um, you will have probably you'll have to re-import them or um Blank the drives because what happens is if you don't destroy the data on a pool It's expecting you to bring them back in and finance will give some warnings that you didn't erase these drives And it's to protect you from accidentally overriding them That it it's just one of those things that you want to destroy them if you plan on Exporting them and destroying them out to be reused in a pool again like we're going to do But if you wanted just to not destroy them so you could just export the pool you could do that But we actually want to fully destroy these because we're going to re Re-pull them back in also smb demo share It does recognize there's a share in there and it'll say hey you want to get rid of this too And restart service no problem Re-configuring data set to none and then we'll go ahead and restart the process Okay, all the data on the pool is destroyed So I can create a new pool do the same setup again Call this one Orion z2 consistent naming here Add another data So z2 there z2 there all right and uh keep the encryption Understand confirm Create Create pool download encryption key done Pool Add data set demo z2 z2 share cool Save Sharing samba demo share Advance same thing. We're just going to allow guests to access Only allow guests save configure Open etls Save and confirm that I have read write access over here I definitely can read write data to it and let's see what kind of transfers we get now We'll do the same thing. We'll grab both of these and give it a few minutes to ramp up and write some data Let's see if the z2 has much of a performance hit So I'll let this run for a while and even with z2 We're still seeing over 300 megabytes a second in transfer that being said What does the cache look like and what does the performance of the system look like well I predict pretty safely here that we've used all of the memory towards cache So free memory 0.2 gigs not much zfs cache allocated 6.8 gigs Services running on the system only account for one gig Like I said, free NAS does not need a massive amount of remedy memory to get high performance out of a system in terms of Not super high performance obviously, but a reasonably fast system right here being able to transfer it that With the 10 gig card So over that breaks the myth of the memory and even having mismatched drives in here that are of a random Assortments, not even the same brands all of them. There's a handful that are the same but not all of them are the same mismatched sizes of course to go with that and Yeah, we're still able to transfer at a pretty reasonable rate on this particular system So that's the thing we'll do is go over to the reporting We can see how much cpu is being used which there's definitely some it's you know hitting probably some limitations with smb going Okay, I'm going to pin out this bit of getter process. We can go over the reporting and also look at like the zfs We can see the arc size hit ratio So it is you know pulling some data and Definitely lining it up when i'm pulling it back from there Some things are getting loaded and around to make it a little faster And uh, then we can look at the disc as well. So we look at the disc And let's actually select all the devices and metric wise i o Latency It went out. Let's just select all you can see the temperature. Well, they did get warmer I'll scroll down here i o activity Which you're seeing it very evenly spread across all the drives So now we get to disc i o itself Which by the way, this is the da zero is the little usb drive That's the boot pool. These are the all the data drives on there You can see there's very little at all that gets written there all the activity happens on all of those drives here So you can see the disc busy once again kind of lines up much the same Scroll down here now We have the latency to look at and you can see the different latency now This is going to change a little bit from the drives because some of the latency Is going to be very based on the ability of these drives to handle some things whether waiting for another drive or not So there's probably a little bit of variation in this It's kind of interesting to see you know all the data going across So that's it for this freelance build Like I said, you can get an idea now that yes, it'll work and hopefully this broke a couple of the mist Yes, you can have mismatched d devs and yes, you can have only eight gigs ram, but still have a system On it's probably done transferring. Yeah, it's done transferring But you know was able to transfer at a pretty reasonable speed there at between three and 400 megs Kind of bounce around depending on the type of file transfers on there Not the highest performing stream is still not bad for a bunch of spare parts. Thanks And thank you for making it to the end of the video If you like this video, please give it a thumbs up If you'd like to see more content from the channel Hit the subscribe button and hit the bell icon if you like youtube to notify you when new videos come out If you'd like to hire us head over to laurance systems.com fill out our contact page And let us know what we can help you with and what projects you'd like us to work together on If you want to carry on the discussion head over to forums.laurancesystems.com Or we can carry on the discussion about this video other videos or other tech topics in general Even suggestions for new videos. They're accepted right there on our forums, which are free Also, if you like to help the channel out in other ways head over to our affiliate page We have a lot of great tech offers for you. And once again, thanks for watching and see you next time