This section is simply here to determine what protocols you are going to use to access your NAS and do some high-level planning about how to handle e.g. shares and security.
We are going to cover three types of protocol:
The protocols we are going to cover for each of these are as follows:
If you are not interested in the detail and reasoning, a summary at the end gives a simplified set of recommendations.
File sharing allows you to access remote data in real-time as if it is located on your own PC. SMB and NFS are alternative ways of accessing folders and files - generally SMB for Windows and Mac, and NFS for Linux - whilst iSCSI is a way of emulating an entire disk drive on your PC (rarely used).
SMB is the standard file sharing protocol defined by Microsoft and used by Windows and is the file sharing protocol you almost certainly want to use if you have Windows or Mac PCs (though both of these can also use NFS and Linux can use SMB).
To store and access your data using SMB, you need to define one or more SMB shares. The root of an SMB share corresponds to a mounted directory in one of your TrueNAS pools and has its own settings for various things. The important ones you need to take into account when deciding how many different shares you need are:
For example, Protopia Addams has 4 SMB shares on his home TrueNAS server as follows:
- Multimedia - Many large infrequently changed media files - fewer snapshots, common root directory
- Shared data - Many small shared user-data primary files - many snapshots, common root directory
- System backups - A few, large system-image backup files - few snapshots, individual user root subdirectories
- User backups - Many small individual user-data backup files - many snapshots, individual user root subdirectories
NFS is the standard file sharing protocol used by Linux and is the file sharing protocol you almost certainly want to use if you have Linux PCs (though Linux can also use SMB and Windows and Macs can use NFS).
NFS guidelines to be written.
iSCSI uses a zfs volume dataset as a way of emulating an entire raw disk rather than as a way of sharing individual files. The operating system access this virtual disk needs to be responsible for the file system. It is difficult to see what the use-case is for iSCSI in a typical TrueNAS small- or medium-sized environment - but it is available if you need it. (Some Youtube experts use iSCSI to store their PC games on as it gives them large, centrally managed storage but with good performance (assuming a high-performance LAN.)
Batch file transfer differs from normal file transfer in that it is not accessed in real-time as if it were a local folder or file.
Batch file transfer can be used to run regular file-based backups from your PCs and other devices to your NAS and to allow people to access your NAS (securely) from the Internet (because making SMB or NFS shares available over the internet (without a VPN) is not considered safe & secure).
This section is primarily concerned with listing the protocols that can be used to access files in ways where they don't look as if they are local, however you can also use tools which perform bulk writes to SMB or NFS shares and these are covered in detail in the wiki pages related to implementation and are only briefly covered here to set the scene.
The FTP protocol has been around since the very early days of the internet as the protocol in the early internet days for transferring data between systems. It therefore has very widespread usage and if you want to share data from your TrueNAS server directly to other internet users, opening ports on your firewall to let traffic through - then you will almost certainly want to use FTP. That said, you might want to consider an alternative of using TrueNAS' Cloud Sync services to send a copy of certain data to e.g. Google Drive and then share links to these files with others.
Rsync is a well known Linux tool for synchronising files between Linux machines, so if you want a file-by-file backup from Linux to TrueNAS this might be the protocol to use.
Rsync is no longer a native TrueNAS service - you will need to install Rsync as an application to use it.
“Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time…”
Syncthing is open source, and symetric i.e. all nodes are by default equal, and by default synchronisation is real-time and bi-directional, however you can (for example) install it on your mobile phone and configure it to synchronise only from your phone to the NAS, only at night, only when your phone is charging and only when it is connected to your home wifi.
On TrueNAS, Syncthing is installable as an app and there are two versions available:
Syncthing clients are available for Windows, Mac, Linux (and many other Unix-like O/S') and Android. There is also a 3rd party app Möbius Sync for iPhone and iPad.
Incremental file backup tools allow you to copy only new or changed files from one location to another - and it can be used to backup files from your PC to your NAS.
NOTE: Because of the way TrueNAS / ZFS works, you do NOT want to copy files that have not changed - leaving aside the extra time and network traffic of doing this, because of the way ZFS works, a new completely new copy will be stored on disk and the identical old copy will also be available in snapshots (so you are likely rapidly to run out of disk space if you do this).
Note: If you know of other tools please add them here.
Most operating systems have a way to backup the system image so that it can be restored if it gets corrupted. However to be useful you need to store it (at a minimum) on a different partition, preferably on a different disk or on your NAS (using e.g. an SMB share).
Note: If you know of other tools please add them here.
Media Streaming applications such as Plex or Jellyfin can be used to stream music or video files from your NAS to a matching application running on your Smart TV (or stick), mobile phone/tablet or browser.
Typically you need to set aside separate storage areas for the media files and for the metadata that the app uses to index the media.
There are various ways to get media files onto your NAS, but typically the media storage area will be made available as a file share (SMB or NFS) so that you can transfer your media files from your PC, whilst the metadata storage is a private area somewhere on your data pools.
Note: If you know of other applications please add them here or create a sub-heading for them.
Most TrueNAS home / family business users will typically have Windows-based PCs (some Macs, a very few may use Linux) and perhaps want media streaming, and for these users here are a few rules of thumb:
Previous - 2.3.7 Server Hardware Selection Time | Index | Next - 2.5 Other Applications & Services |