Problem/Justification
I have a mix of different file servers: a cobbled together MDADM RAID platform and a Windows based utterly headless (only a web GUI) appliance.
I currently map the TrueNAS shares through a third party Linux VM and transfer data between these file servers using that. This is both much slower and bypasses the throughput and capacity (CPU power, RAM etc) of the servers themselves.
I have researched mounting SMB shares at the shell and run into numerous problems (I admit, many my own knowledge limitations, others platform specific obstacles). I am also aware of the appliance nature and don’t want to cause problems for future updates.
I do want to map the remote share directly on TrueNAS. I don’t want to use an intermediate device for my file transfers (such as a docker container using Midnight Commander) - this introduces another layer of complexity (as it is virtualising the data and network access rather than reading it natively).
Impact
Mapping remote shares bypasses the different file systems and permits direct server-server communication.
Advantages:
The purpose of network storage is to share data. The advice I’ve had is to use replication/ZFS send. This assumes the receiving server is a TrueNAS/ZFS system and this is often not the case. Having the shares mapped directly (as they can be with Windows and Synology) to TrueNAS makes a range of possibilities available and easier.
Having this capacity in the UI removes the need to manually edit FSTAB and potentially break future updates.
Disadvantages - my assumption is users will keep to my narrow use case of moving files around. There may be expectation that remote mapped shares be used for docker hosting or VM disk storage and users get in a muddle there.
User Story
As a manager of mixed platform systems
I want a way to access/backup/restore to and from other SMB shares natively within the UI
So that performance is maintained and I do not have to use an intermediary platform
Constraints: I’ve excluded consideration of NFS, port configuration or other advanced SMB parameters.
I suggest a dialog offering the following options:
Remote device name or IP address
Share name
User account to access the share
Password of that user
Domain (optional)
A dialog for the mount point. I propose something like mnt/[dialogbox_field] so the user need only enter the name they want the share called.
A checkbox with ‘persist after reboot’
A ‘mount share’ button. Any errors presented in a pop up dialog.
Optionally a list of shares, once defined could have the ‘play’ buttons presented so a user can mount shares manually and dismount them by the ‘stop’ button. These buttons would also present which shares are mounted.
I would ask the shares be accessible at the shell, but only in the normal Linux file system manner, so a user can cd, rsync and so forth.