Elvis data — such as original files, thumbnails and previews — can be stored on a local server or on a dedicated storage solution. This article describes various storage solutions and their compatibility with Elvis.
Storage Area Network - SAN
A SAN uses block level protocols such as Fibre or iSCSI. A volume available through a SAN appears to the client OS as a 'raw disk'. All file system logic is managed by the connected machine. It only reads and writes raw data on the SAN.
Network Attached Storage - NAS
NAS systems or file servers use file level protocols such as SMB/CIFS and NFS. The connected server requests a portion of an abstract file rather than a disk block. All file system operations must be performed over the file level protocol but are management on the remote file server. This causes overhead which might negatively affect performance. Next to that, a file level protocol does not provide all the functionality of a local file system, which may cause issues with file locking and concurrent file access.
Despite the differences between SAN and NAS, several NAS vendors have started to also support block level protocols on their products.
The following article gives a detailed comparison with various (dis)advantages of the different protocols:
- Block level storage vs. file level storage: A comparison on TechRepublic
Elvis - SAN or NAS?
For stability and performance reasons, we advice to use a SAN or use a NAS that supports iSCSI or Fiber.
Configure the following settings in the cluster-config.properties.txt file to improve stability when using NAS storage:
Tip: When Elvis storage is configured on an NFS drive, it is useful to disable the caching of directory information. This can be done by using acdirmin=0,acdirmax=0. When caching is not disabled, directories and files may not appear after they have been created.
sudo mount /elvis-shared-data -o acdirmin=0,acdirmax=0
- Name of option: fileSystemReliability.retryOnError
- Possible values: true or false. Set to true when the Elvis data folder (dataLocation) is connected to a file level protocol storage device such as SMB/CIFS or NFS.
- Default setting: false
- Name of option: fileSystemReliability.retryIntervals
- Possible values: Comma-separated list of retry intervals (in milliseconds). Can be used to tune failing file operation retries. The number of intervals corresponds with the number of retries. The number itself is the total amount of time between each retry. The maximum total retry time is the sum of all intervals.
- Default setting: 200,400,800,1600,3200,6400
Non-supported storage systems
The following storage solutions are not supported for use with Elvis Server:
Note: This list is not complete. When in doubt, contact WoodWing.
- Distributed Files System (DFS)
- 26 September 2018: Updated section 'Configuration options' by adding information about disabling caching when configuring Elvis on an NFS drive.