TrueNAS native vs TrueNAS under Proxmox

matt_garman

Active Member
Feb 7, 2011
207
38
28
In general, if a filer OS (such as TrueNAS/FreeNAS) natively supports virtualization, why would one run that as a virtualized guest under a hypervisor OS (such as Proxmox), rather than natively? For example, The Proxmox VE KVM-based All-in-One with FreeNAS: why couldn't that be simplified to just TrueNAS? I tried to do a web search on this topic, but all the results seem to be about doing something similar to what is described in the linked article, that is, running something like FreeNAS under a hypervisor such as Proxmox.

I'm also curious about this question specifically for my particular use-case. Here's a too-long post from a few years ago, but the short version is: I have a home server, currently running CentOS, that I use for Plex Media Server, file server/NFS/SMB, Zoneminder, Minecraft servers, and general-purpose Linux login box. I've been wanting to rebuild this for a while now, to make it more "appliance like" and retain the functionality but simplify the care and feeding.

I just installed TrueNAS on my backup server. This is my first experience with a purpose-built filer OS (having previously done everything manually from the CLI). I'm still in the honeymoon stage, but so far this looks like it could be the solution for my main server as well. File-serving is part of the core functionality, Plex and Zoneminder are supported via plugins, I should be able to do Minecraft servers in a jail, and I could have a Linux login box via the hypervisor functionality... am I missing something? Why might I consider instead having a virtualization platform (such as Proxmox) installed natively, and virtualizing the filer (e.g. TrueNAS)?
 
  • Like
Reactions: Samir

Rand__

Well-Known Member
Mar 6, 2014
5,573
1,216
113
Without having read the post you linked I would say there are thee reasons:

1. Historical limitations
Originally the dedicated fileserver appliances where not able to host additional services.
Then some got extended with plugins offering at least some level of extra functionality.
As compute power evolved (FreeNas in specific, sure its the same for similar products) found new ways of running extra functionality (jails, originally limited iirc), but ever expanding in capabilites; today as every major OS (FreeBSD included) has a virtualization component ready you can run most of the services on a TN box, just as you indicated.
There is no absolute need to run a dedicated VM Box which then hosts services any more.

2. Functionality considerations (primarily looking at VMWare here, not Proxmox)
While virtualization functionality has been added to major operating systems, the major virtualization players have not been idle and expanded into new areas like integrated storage, High Availability, vMotion, virtualized networking, VDI, and so on.
An important point also is the manageability and segregated access. TN is going there with TN Command but I dont think they can segregate access to the box and access to data yet. But never looked into it, might be mistaken.

3. Approach
Both solutions have a different approach to the topic; TN is data driven first and foremost; if the majority of your services works with the stored data or is data agnostic then this works fine.
Virtualization is (used to be) first and foremost about consolidation, of the ability to run more workload with less hw due to better utilization. Also nowadays its about availability since virtualized devices don't fail as easy as hardware. Adding storage to it is just one more workload type of many.

Conclusion
If you are looking at AIO solutions (opposed to cluster/HA solutions) and adding new functionality (ie mixing purposes of hosts) is a good thing; if you dont need access segregation (since you're admin and user) then there is no need to virtualize TN any more with nowadays extended virtualization capabilities in FreeBSD (or other NAS OS's)
 
  • Like
Reactions: jpmomo and Samir

gea

Well-Known Member
Dec 31, 2010
2,697
924
113
DE
For me main aspect is dependency,
A VM functionality and a filer functionality is something that should work in any case and not affected by any other service.

If you use a regular Linux like Debian, add virtualisation plus other services like SAMBA filer or mediaserver ontop any minor problem affects stability of the whole system . The additional web management tool, be it TrueNAS or any other like OMV, webadmin or cockpit is not so relevant in relation to stability unless it allows to add additional services that may add troubles what is often the case.

If you use a ZFS filer OS like Free-BSD+Free-NAS or OmniOS+napp-it and install services directly ex an Apache webserver or even add VMs ex via Bhyve that is available on both, the situation is quite the same.

In the end this is why I still use ESXi as this is an ultra tiny type-1 virtualiser only and add a minimal storage VM and other services as independent VMs on top. Any problem can be seperated to ESXi, the affected service OS/VM or the filer OS and any of them can be updated or bug-fixed independently.
 
Last edited:
  • Like
Reactions: Samir

matt_garman

Active Member
Feb 7, 2011
207
38
28
Thanks for the feedback - that's basically in line with what I had assumed. Sounds like for my particular use-case, TrueNAS could indeed be a viable all-in-one solution.
 
  • Like
Reactions: Samir

tubs-ffm

Member
Sep 1, 2013
88
26
18
In the end this is why I still use ESXi as this is an ultra tiny type-1 virtualiser only and add a minimal storage VM and other services as independent VMs on top. Any problem can be seperated to ESXi, the affected service OS/VM or the filer OS and any of them can be updated or bug-fixed independently.
That's the way I also would recommend for the same reason: If you go with virtualization do it right and not add multiple services and functions via plugins to "complete package software". Much easier to maintain or re-new. If ESXi, or Hyper-V or Proxmox is a question of taste, a question of hardware support for available hardware and a little bit a question of the guest OS. But for a virtualized storage server I would recommend to go with a PCI pass-trough storage controller to give direct access for the filer OS to the storage HDD/SSD.
 
  • Like
Reactions: Samir

JBond

New Member
Jan 1, 2021
5
2
3
As other have said I have FreeNAS virtualized in order to keep it "clean", and to have the ability of going back to an older snapshot of the VM if I screw up something, as well as being able to "port" the machine to another server should I ever need it.

I recently got a T730 to use as a pfSense router and was even considering installing it on ESXi due to the mentioned advantages.
 
  • Like
Reactions: Samir

snakyjake

Member
Jan 22, 2014
74
1
8
I want to fully utilize my hardware resources, therefore I create containers/virtual machines that can share the same hardware resources. I have one big machine that can do multiple things. Also, managing a container is much simpler.
 
  • Like
Reactions: Samir

Samir

Well-Known Member
Jul 21, 2017
1,743
622
113
46
The way I've always looked at this question is by asking, what does x do? Hypervisors job is to allow and manage VMs on hardware. A NAS build is primarily a nas. So If I'm looking to virtualize a NAS along with other VMs, I'd choose to run that under a hypervisor since that's what hypervisors do (disregarding performance implications for this example). But if all I want is a NAS, then I'd start with the nas and go the other way since VMs are secondary.