 Tommy here from Lawrence Systems, and we're going to talk about link aggregation on the Trunass Mini 3.0x Plus that was provided to me by IX Systems for review. And this demo is all about why you'd want to do link aggregation, the benefits, and a couple caveats and some of the requirements for doing it. Before we dive into this topic, if you could click the like button and first, if you like to learn more about me or my company, head over to larnesystems.com. If you'd like to hire a short project, there's a hires button right at the top. If you'd like to help keep this channel sponsor-free and thank you to everyone who already has, there is a join button here for YouTube and a Patreon page. Your support is greatly appreciated. If you're looking for deals or discounts on products and services we offer on this channel, check out the affiliate links down below. They're in the description of all of our videos, including a link to our shirt store. We have a wide variety of shirts that we sell and new designs come out, well, randomly. So check back frequently. And finally, our forums, forums.larnesystems.com is where you can have a more in-depth discussion about this video and other tech topics you've seen on this channel. Now back to our content. And we'll start with the lab setup that we have here. Now we have the TrueNAS at 192.1683.139 and the lag that we're going to build that doesn't exist yet is going to be at 192.1683.2 and 3. And then we have a Unify 16XG, a Unify 16XG. We have an XCPNG for part of this demo, running some VMs, and it's connected at 10 gig to this switch. Each one of these red links represents a 10 gig link. Now the TrueNAS has three of them right now. One is the one currently in use, and the next two are the ones we're going to bond together using LACP. Now let's consult the manual right here and talk about a couple of scenarios here. Aggregation works best on switches supporting LACP. Now I happen to have Unify set up, and I have some 10 gig Unify switches, so that's what I'm doing this on for all 10 gig. This will work with LACP and 1 gig as well, but it is important that whatever switch you're using and many managed switches do support this, LACP is an important factor in that. So if you have an unmanaged random switch, this is probably not the demo for you. Managed switches that have LACP support, you can look at the instructions or details on that particular switch, make sure that they have it. That is essentially a prerequisite for the way we're going to set this up here. A couple other notes. With the way this is set up, it is not going to solve your MPIO problem, multi-path IO, and ISCSI or NFS. This is for link aggregation to get the aggregate bandwidth of bonding two 10 gig ports together, but not going to increase your ISCSI connection from 10 gigs and bonding them together doesn't give you 20 gigs on ISCSI or NFS if you're using it for a virtual machine share. This is just a note that it's just not going to work that way. They have some different talks about this, and they have some more in-depth that goes on a scope of here of how to set up a multi-path IO, and they have some links on there, for example, on ESXi. I may do other talks on that later, but for now that is not going to be in scope. We're just talking about link aggregation, and of course, why we're doing it. The big why is because if my computer wants to talk at 10 gigs to do a file share, and another computer would like to talk at 10 gigs to the file share under normal circumstances of having a single 10 gig link, they're going to get saturated. I drew it up this way because my computer has a 10 gig link to this, and that has a 10 gig link to this, but they're all singular. That means this has a single 10 gig link. As long as I am on this switch and another device on this switch, and they both come at the TrueNAS, well, it's going to go less than 10 gigs. I'm going to give you a quick demo before we go further. Right here is 5201 and 5202. This is an actual KVM, essentially how we log into the TrueNAS mini. I've talked about this. It has an IP over HTML5 IKVM. What I'm doing is showing you what's on the screen right here. Then we're going to bring over. I have SSH into two different machines. One is my computer and one is the Debian 10 lab. Where does this lab live? It's right over on here. It's one of the VMs running on this XCPNG system. So we're going to go here, and this one's going to connect to port 5202. Oh, I got to change it to 139 because the other one doesn't exist yet. 139, enter, and we can see I'm getting 10 gigs, great. So we'll go ahead and stop that real quick because we're going to start these at the same time. Because if I do this at the same time, I can get 10 gigs by myself, but as soon as I start this one here again, I've got to do them on different ports. Now they're fighting for bandwidth. So let's start this up one more time. So we're doing exactly the same time here. This one's connecting over port 5202. This one's 5201. My computers on this side of the network here going through this switch at 10 gigs and then going here, and this one's here, and they both go through the switch and are both hitting it at the same time. So we go here, here, and now they're just going to struggle for bandwidth between each other. So they're duking it out, and this is where the problem is. The TrueNAS menu has all solid state drives, so it actually can provide a lot of data really fast, but if you can't pipe it through the network. Now this is where LACP is really handy. When you do these link aggregations, we're going to show you how both of these computers at the same time can talk to 10 gigs. Now what doesn't happen is you don't get 20 gigs. You don't get to have one computer if it also has a link aggregation as well. It won't allow 20 gigs because of the way the streams work. So it's kind of protocol dependent, and it's one of those misconceptions. Some people go, well, I did the iPerf test and I have one machine connected with it over here and another one over here, and they're not getting 20 gigs now. No. But the two streams, because the way the protocol works, each stream can be at 10 gig. All right, let's move this all the way and actually show you how to get it set up now so we can get that extra speed. Like I said, leave links, all the instructions, and everything they have here. Now, depending on how you want to do this, the command line is how we'll do it second. But first, we'll show you how to do it without going to the command line. And the reason I say go to the command line is what if you like the IP address you have and you want to drop it? Well, if I delete this IP address and reconfigure the interfaces, the web interface breaks. That's one of the advantages of doing it from the, you know, command line of the system itself. But pretty easy to do here. We're going to add link aggregation. What's the name? Now this is important. The name has to be in this format. You can't just type anything you want there. So it has to be lag and in a number. So we're going to type lag zero, laggy 10 gigs. And we can give a description whenever we want, but just got to make sure this is called lag zero lag setting was a protocol LACP. That way the switches in communication with it. Lag interfaces. All right, we're going to say I X zero I X one. We're choosing these. Now there is a note. Someone may ask, well, what about these? Can you do all of them at once and bond them together? This is not recommended per the documentation that if the cards are using different drivers, there may be unusual or strange incompatibilities, triature on risk. It probably will have problems. I think when I tried it, it just broke. So not ideal. So you have a network interface. You have pairs of network interfaces. These are the ones you want to use. Share them together with the same type of drivers using this example are going to be I X zero and I X one. Then we're going to sign an IP address and the IP address we had said was 12168.3.213. And then hit apply. Before we hit apply, we're going to go over here though and make sure our network switch is configured pretty straightforward and unified. We're going to go click this look down at this port and I've already got aggregation turn on. So we look at the profiles and it's pretty simple in the way Unify handles it. You go from switching to aggregation and you span the ports you want. So we did 13 and 14, which are these ports. Interesting side note inside of Unify white is to designate that it is a 10 gig connection and green is a one gig connection. When these interfaces are not configured instead to be disabled, they just show one gig. I thought that was kind of interesting. And as soon as we enable them, they're actually going to go and show that they're actually connected at 10 gig. So I've already done the aggregation and this needs to be turned on and switched before you apply or it's going to have some errors because it well can't negotiate the protocol unless it's turned on. So link aggregation lag zero and apply then test changes confirm it's going to now do that actual negotiation and talk to it. Save changes don't forget that or it will revert. I have left that sitting there for a minute and well that'll cause a problem. It'll revert back. Now once this is done description laggy 10 gigs and we're going to go back over here to edit. You can change the description but everything is pretty much you can change IPs but now that they're tied together, they're tied together. We can't actually change the protocol again. You'll have to delete the interfaces just heads up on that. So now we have this IP address which is the one we're operating on and now we have this IP address that is the one that is the link aggregation and we can go over here and do our little 10 gig test again but first we'll ping it make sure make sure it works great it works. Now because I have this over here still running it binds to whatever new interfaces show up. So IPerf is still running over here and it's just bound to the new extra IP address we added. So we can actually do the same test again but just change the IP address to two and three and we'll do them simultaneously here two and three. So this one's going to 5201 5202 enter enter 10 gigs 10 gigs. So now they're both talking at 10 gigs simultaneously. And as we show right here go back over to draw a IO the system over here 10 gigs is looking at these two we're just going to assume it's the bottom two are bonded together. So this is able to figure it out and say I'm going over here and this one comes over and the LACP on the switch goes yep we have plenty of bandwidth for you we're just going to put you on that other cable. So now we can just do it one more time and show you that simultaneously both of these are getting the 10 gigs pretty straightforward set up pretty easy to do. Now back to that other scenario let's go ahead and delete this interface and walk you through doing it from the command line. So go back over here and delete the interface test confirm save save changes are made permanent our back to where we started. All right we're now we're going to configure it from the command line interface so we choose link aggregation option two we want to create a link aggregation we want to choose option two LACP and now we get to pick the interfaces in there. So we're going to pick interface two interface two and I'm pressing twos it's just letting you choose which one's on there and then Q to quick because we're done choosing interfaces and like I said we don't want to mix and match different ones and please note it excluded the one that's already configured which we're actually logged into but we could have redone this and chose that interface like delete the interface and away we go we do that so configuring the numbers all right now we want to configure the network interface and we can even go here and press one and now I could go in press one again and delete that CXL zero if I want to delete it but we actually just want to configure the lag interface so we'll choose lag zero now it just names it automatically lag zero you don't have to do anything you want to delete the interface no remove current settings for this interface no because we want to add it configure IPv4 yes interface name default it to lag zero one I text one skate one three dot two one three I'm sorry so one nine two one six eight three dot two one three that mask we can type 24 or you can type out two fifty five two fifty five two five zero I don't care about IPv6 someone will be mad about that configure failover settings no give it a second restarting network and you notice behind the screen there it flickered for a second and then came back so move this out of the way and there's the same setup that we had all configured from the command line and like I said I could have chose this one and bonded these two together it would have allowed me to reset it because you would actually first go in and delete that interface which when you go to configure network interface I can say one and delete interface and just say yes and then go through the build process this will be a way you could do it so you could build it and have it function in terms of not having to change IP address could reuse the same IP address which you can't do through web interface because the moment you delete the interface you lose the ability to keep configuring it through the web interface I know it seems obvious but this question does seem to come up a bit so let's go ahead no and no no no don't set anything I think I may have clicked the wrong thing whoops there we go it was just close it and go back out now once again we can if I'm we need to run the test again I can run Iperf again and see it'll work but you can see that these are working both at 3.213 now it's really that simple to get this working it's pretty straightforward if you have especially like one of those Intel 4 port cards that are popular because you have the 1 gig ones or you have a series of SFP these happen to be RJ45 type but it'll work whichever way and back over to our unify system now that the link aggregation is set up if we look over here they've turned white and show the aggregation working on there now like I said the prerequisites are very important though that you have these turned on with the aggregation because if you don't this is what will end up happening we'll go and turn it off real quick on these let's put it back on switching gonna take a second and you'll see actually the unify after provisions and updates this is going to realize there's a problem with it and we're gonna try to hang it over here it's getting confused because it's getting duplicate replies because the system is trying to do it and the switches aren't in LACP mode free NASA striking LACP the switch isn't so now you get a confusing problem this is also something we've helped people troubleshoot when they're trying to figure this out they usually just have a setting wrong and a switch I just wanted to show this is the result you'll get because you get these it's pinging right now but it is kind of random I'm gonna guess after this refreshes again but see what it's doing without it proper aggregating it's not going to work properly this is so we did get some duplicate package you get weird results sometimes when you have something not in the mode so do make sure your switch properly supports LACP it's the protocol has been around for a while and it's configured to do that if you want it to work properly as a matter of fact we can probably go back over here we'll open a shell yeah interface stop distributing pop possibly flapping you can kind of see where this is kicking out errors because we don't have them configured properly I just want to bring this up because it's a quick troubleshooting run over to D message take a look see what you're getting from the system you're gonna get weird results if you don't have the protocols matched so I do recommend checking that and look for these type of errors because maybe you have a misconfigured switch because not every switch implements it the same I do admit unified does it pretty easy because you just check a box and hit apply you know some of the other ones it does require some command line config so you may have missed a step on that but I'll leave links to the documentation from Freeness and hopefully get this working 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 Lawrence systems dot 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 dot Lawrence systems dot com where 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