Where did NFS "number of servers" go in Scale?

Code_Is_Law

Cadet
Joined
Jun 1, 2022
Messages
7
Hello everyone,

I've recently upgraded my TrueNas Core to Scale and now I am trying to increase my "number of servers" in NFS to 256 but the option seems gone in Scale.
Anyone knows where it went?

Thank you!
 

Attachments

  • Core.png
    Core.png
    70.8 KB · Views: 199
  • Screenshot 2022-06-28 at 12.57.00.png
    Screenshot 2022-06-28 at 12.57.00.png
    204.9 KB · Views: 183

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,553
I filed a ticket to expose it in the angelfish webui.
Try midclt call nfs.update '{"servers": 256}' Though do note that you should probably experiment with different values since you are changing NFS servers in the change from Core to SCALE (FreeBSD kernel server vs Linux kernel server).
 

morganL

Captain Morgan
Administrator
Moderator
iXsystems
Joined
Mar 10, 2018
Messages
2,694
This is already exposed in nightlies. What you see is an artifact of temporarily having NFS-ganesha rather than the kernel server on Linux


I assume its configurable via the TrueNAS CLI and API.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,553
If you are really feeling adventurous I added some private APIs for playing with NUMA settings of the NFS kernel server:
Code:
    @private
    def get_threadpool_mode(self):

    @private
    @accepts(Str("pool_mode", enum=["AUTO", "GLOBAL", "PERCPU", "PERNODE"]))
    def set_threadpool_mode(self, pool_mode):
        """
        Control how the NFS server code allocates CPUs to
        service thread pools.  Depending on how many NICs
        you have and where their interrupts are bound, this
        option will affect which CPUs will do NFS serving.
        Note: this parameter cannot be changed while the
        NFS server is running.

        auto        the server chooses an appropriate mode
                    automatically using heuristics
        global      a single global pool contains all CPUs
        percpu      one pool for each CPU
        pernode     one pool for each NUMA node (equivalent
                    to global on non-NUMA machines)
        """

example:
Code:
root@truenas[/mnt/dozer/middleware/src/middlewared]# midclt call nfs.get_threadpool_mode
GLOBAL

root@truenas[/mnt/dozer/middleware/src/middlewared]# midclt call nfs.set_threadpool_mode PERNODE
null

root@truenas[/mnt/dozer/middleware/src/middlewared]# midclt call nfs.get_threadpool_mode     
PERNODE


Assuming of course that you have hardware that may benefit from it.
 
Top