VM for torrenting need access to pool (at least 10GbE)

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
Hi

I am planning on setting up a VM for torrenting (among other things). I want this VM to have access to my main pool, with at least write permissions to specific folders.

What is the best way to do this? I am planning on using Ubuntu. My current setup is just using my main computer (Windows 10), connected to the NAS via 10GbE, using SMB. This works, but I want to move this workload over to a VM. I noticed when I created VMs, that the NIC interface reports as being "only" 1Gb.

What is the best way to give a VM access to the files on my NAS? Do I just add the network drive, as I would on a physical computer connected to the same network, and if I do this, am I going to be limited to 1Gb/s speeds? Or is there another way, maybe through mount points, or similar?

Edit: Also, I am currently running one other VM (Ubuntu), which is being used for game server hosting + TeamSpeak (CS 1.6, CSGO, Terraria, Minecraft, Garrys Mod, Team Speak 3, but not necessarily all at once). Is it better to make another VM for torrenting only, than to use this VM for torrenting as well?
 

nojohnny101

Wizard
Joined
Dec 3, 2015
Messages
1,478
Is there a reason you are choosing a VM over a simple jail? Do you plan to do other things with this VM or just for torrenting? It would seem a VM would be overkill and overly complex for what you are describing.
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
Yes. Issues with they way freeNAS handles VMs. Unable to efficiently run windows VMs, and from experience, plex as a plugin/jail is buggy and slow to receive updates.

Also, I use my server for both NAS/Plex, but also torrenting, and game server hosting. The latter two are in a Ubuntu VM. This experience is decent, but I believe it to be a better solution to just run both as VMs, instead of freeNAS on top of Ubuntu VM. Gives me more flexibility, and for example, this gives me the opportunity to upgrade/experiment with freeNAS without having to go offline on my game servers.
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,556
So.. what is the issue running all this in FreeBSD jails and getting direct pool access?
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
Can I run game servers, like CS:GO, Terraria, Minecraft, or Garrys Mod in jails in a simple, straightforward way?
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,556
plex as a plugin/jail is buggy and slow to receive updates.
Plugins and jails are different things..
plex 1.18.2.2041 came out less then three days after is official release as a FreeBSD port

this fetish you plex users have of being bleeding edge is quite concerning..


Can I run game servers, like CS:GO, Terraria, Minecraft, or Garrys Mod in jails in a simple, straightforward way?
No ide, never tried. But what does that have to do with torrents and running your own streaming server?

The point of jails is that you segregate services from each other, they have very low overhead and can be set up to have even less. I typically run a jail per application, although I did install mariaDB in my Nextcloud jail during my last upgrade due to the fact that my other databases where moved out. I run several web apps for friends and family and no way they get to be in the same jail or datasets. I also have a couple of Ubuntu sever VMs for things that run smoother in docker, such as Bitwarden and Collabora. I would never put untrusted software such as a torrent client on the same instance as my password manager..
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,556
freeNAS on top of Ubuntu VM. Gives me more flexibility, and for example, this gives me the opportunity to upgrade/experiment with freeNAS without having to go offline on my game servers.
What’s your actual topology? You run FreeNAS as a VM in Ubuntu and want Ubuntu to have 10GbE network to FreeNAS??
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
What’s your actual topology? You run FreeNAS as a VM in Ubuntu and want Ubuntu to have 10GbE network to FreeNAS??
Sorry, I actually mixed this thread up with another I have going.

Let me clear up a few things first.

1. You are right, 3 days is not a long wait at all. I dont have to be that bleeding edge. If that was the only reason to change my topology, thats a poor reason to do so.

2. My topology is as follows: I run freeNAS on the actual hardware. My only jail is plex. Then, in freeNAS, I run one VM (Ubuntu) for game servers and TeamSpeak. Strictly speaking, for this thread, all I wanted to do was to have a direct pool access to my ubuntu VM, inside freeNAS. As far as Im able to figure out, this isn't possible (but I might be totally wrong). I tried to do a file transfer from my Ubuntu VM to/from the SMB connected freeNAS, and I got limited to about 150MB/s. Not bad, but far from what I get on my 10GbE NIC to my main desktop.

3. You are mentioning this. If I forget about the game servers for a bit, I could probarbly do torrenting in a separate jail. But for my skills with freeNAS, it would be challenging to set up a proper setup (automatic downloads from RSS feed, then automatic unpacking when applicable, then renaming and sorting).

4. If I go with a solution described in point 3, that still doesnt give me a solution for game servers.

5. Also, my current topology doesnt allow for changing things in freeNAS, without also affecting my game servers, but this is a separate matter, from a different thread. If you are interested, I am considering virtualizing freeNAS. I have the hardware required for a good setup, which can be backed up with a mirrored USB key in case I screw something up in ESXI. I also have friends who work with ESXI, who will be able to offer support in the setup, in addition to the outstanding guides here on the forum from the user Stux.

Sorry for the confusion, and I hope this clears things up a bit.
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,556
But for my skills with freeNAS, it would be challenging to set up a proper setup
All I see is added complexity with a VM compared to setting up services in FreeBSD? Or is this a desktop vs cli thing?
As far as Im able to figure out, this isn't possible
yes and no, you can assign storage to a VM as you already did when installing it. You just won’t have access to it from FreeNAS. However that might be a lesser problem if everything is inside the VM already? Just thinprovision a volume to the VM and run everything from that?
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
All I see is added complexity with a VM compared to setting up services in FreeBSD? Or is this a desktop vs cli thing?
Even I know that there is more to see with virtualization than added complexitry. Might wanna try to expand your horizon!

But yes, its partially a cli thing, allthough the freeNAS gui isnt exactly as user friendly as it could be. It is a weird mix between user friendly, and more directed towards enterprise users who work with relevant IT on a daily basis. At least with ESXi, I have direct access to people who work with it, and can offer support.

yes and no, you can assign storage to a VM as you already did when installing it. You just won’t have access to it from FreeNAS. However that might be a lesser problem if everything is inside the VM already? Just thinprovision a volume to the VM and run everything from that?
Not having access to my entire pool form freeNAS completely defeats the point. In addition, I have enough space to create a virtual drive of significant size accessible to my VM, but I am still limited to about 150MB/s without understanding why. ESXi and virtual switches will give me 20 gbps access.
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,556
But yes, its partially a cli thing, allthough the freeNAS gui isnt exactly as user friendly as it could be.
A jail shell has nothing to do with FreeNAS GUI?
Might wanna try to expand your horizon!
What?
Not having access to my entire pool form freeNAS completely defeats the point
and that has nothing to do with what I said..
but I am still limited to about 150MB/s without understanding why
what’s the performance of your pool?
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
A jail shell has nothing to do with FreeNAS GUI?
I said partially a cli thing, there are several reasons why I am planning on virtualizing freeNAS in ESXi.

This has little to do with this thread, but a major issue I am experiencing, is my plex plugin losing internet access. Everything else on my network works flawlessly, but plex loses internet access. I don't know why, but I do know that I'm not in a double NAT situation.


and that has nothing to do with what I said..
Then what did you say?


what’s the performance of your pool?
CrystalDiskMark reports about 950 MB/s reads, and 650-700MB/s writes. I suspect this goes straight to ARC, so it isnt real world performance.

But I have migrated data over my 10GbE connection and seen sustained write speeds of close to 500MB/s on average on 600+ GB (likely limited due to SATA SSD read speed). I have 10x10TB drives in ZFS2. Read speeds are above this, but even read speeds are limited to about 150MB/s in my Ubuntu VM.

Edit: But okay, I'll explain some of my headaches with freeNAS. Yes, many can be attributed to lack of knowledge or user error while setting up things, but that is the problem. The documentation is lacking.

Example: Setting up static IP for a jail, and using VNET, nowhere in the documentation does it say that you HAVE to set IPv4 interface to vnet0. That might be obvious, but it defaults to one of the NICs, or something else. Why doesn't it default to vnet0, or why isn't it explained in the documentation that you have to set this to vnet0, and explain why? Again, this is just one example of how the guide is lacking. You shouldn't have to troubleshoot for a few hours, then google, and find a random post on a forum that explains this, to understand it.
 
Last edited:

garm

Wizard
Joined
Aug 19, 2017
Messages
1,556
there are several reasons why I am planning on virtualizing freeNAS in ESXi.
This is not even part of the discussion..(?)
Then what did you say?
Read it..
so it isnt real world performance.
No that is useless
sustained write speeds of close to 500MB/s on average on 600+ GB (likely limited due to SATA SSD read speed). I have 10x10TB drives in ZFS2. Read speeds are above this, but even read speeds are limited to about 150MB/s in my Ubuntu VM.
You’re deploying 10 TB SSDs?!
A single raidz2 vdev of spinners should not be able to give much more then what you are seeing from the VM? You get the iops of a single drive with that configuration. And 150+ MBps is still more then 1 GbE, thus indicating that the virtual network interface might not be the bottleneck. How about you give us some raw write numbers from the pool? Sans encryption, compression and a sample set much larger then your memory?
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
You are obviously not here to help, are you?

But no, I havent deployed 10TB SSDs, and you know this. Why do you insist on being condescending? They are WD Reds, with well over 200MB/s sequential write per drive. This gives a theoretical limit of 366 MB/s for 100% write. Close enough to what I saw (600GB in less than 30 minutes). Regardless, you should know that read speeds are not affected the same way as write speeds, and read speeds were also limited in Ubuntu. I agree with you that the bottleneck might be something different than the virtual NIC, since the transfer speeds were over 1Gb/s.

Let me ask you this, why are you so negative towards virtualization of freeNAS (assuming you do it properly, which I have the opportunity to)?
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
No, a different pool. I have my main pool (10x10TB, ZFS2), and a different pool for VMs (a single Samsung 850 250GB SSD). The VM is reading from the main storage pool (ZFS2), and writing onto a virtual drive on the Samsung SSD (connected directly to the MB using SATA3).
 

ChrisReeve

Explorer
Joined
Feb 21, 2019
Messages
91
But again, I am sorry that this thread got confused with another one I have going. When I created this thread, my one and only question was:

1. Why does my read/write speeds appear to be limited between the main pool and the VM?

2. What is the best option to make my main pool accessible to my VM?
 
Top