Sharing protocol for access from multiple workstations

Hello,

I am building a server for my company. I plan on using a Proxmox central server and then multiple VMs with Windows 11. We all connect and use the VMs with Remote Desktop. Right now we use Windows Server 2008 but it is time for an upgrade.
All the VMs (14VMs) will have to work with a central database that is created by the software we use. As the software is not well optimized I have a theory it will greatly benefit from an Optane SSD.

I want to make a ZFS pool under TrueNAS and then Create a Share to all the VMs. But I am worried if I use SMB the latency will actually neglect the benefits of the Optane SSDs.

Do you have any ideas, for a better solution?
First I had thought to use iSCSI but as probably all of you know it is not for use by multiple workstations.
Then there is NFS but I am not sure Windows will be stable with it and I am not sure it will be good too.

I can accept any suggestions even for a different server configuration. I want to use Proxmox and VMs because of the easy commissioning of new users, also I will run TrueNAS as a VM and have ZFS snapshots and Replication for good backups to other locations. VMs also provide good security from user errors.

Thanks for any ideas and help you can provide!

@felixthecat - thoughts?

Not sure why you’d use Proxmox as TrueNAS Scale already has VM support directly. Unless you really mean to use the older TrueNAS?

We’ve found the NFS support in Windows to be really quite good! Although our testing with TrueNAS Scale shows lack luster performance with NFS surprisingly. So much so we standardized on SAMBA.

We move lots of data quickly across a 25Gbps fibre network for context.

Since you are talking about a fileshare, I assume there is a central datastore the clients are accessing files from and it’s not just a database server the client software directly interacts with.

Are all clients accessing it simultaneously or syncing from time to time?
What size are the files? Mostly sequential or radom IO?
etc.

I mostly think about using Proxmox because I am familiar with it. I know TrueNAS Scale has VM support but have not tested it yet

It is a live central database we use for our sales, warehouse, and shops. It is like accounting software and warehouse managing software AIO. All the clients use and edit at the same time “live”.

From what I have monitored it is only random IO. Also, I want to use Optane for reliability though we will have a backup ZFS1.

I suppose if I use Windows Server whatever is the latest 2016 maybe, it will be easier in some regards. But it is extremely expensive and the only feature I need in it is multiple users for RDP. I checked out the RDP wrapper hack, but after each Windows update it has to be fixed, which means some mornings I will have to do emergency fixing and I don’t like that.

I have never tried NFS on Windows, maybe I can try it on my own system and see if it is stable. About performance, I do not need top speed because the entire database is about 40gb and the live part should be no more than 10gb, but 14 users access it at the same time and so the latency should be low if at all possible over the network.

Proxmox, ZFS, Samba and VMs accessing Samba over a virtual network is probably your best bet.

Setting up a smb.conf isn’t that hard and Proxmox isn’t that opinionated to prevent you from installing smbd, and then local virtual network is “infinite” bandwidth.

Some folks do OMV in LXC, but I wouldn’t really bother for samba only.

Interesting… I will investigate.

Do you know any good tutorial for this “smbd” over a virtual network?

Thanks!