A Folder is a collection of files that can be regarded as a traditional ‘directory’ from any operating system. It can be shared with other machines using NAS protocols: NFS, SMB or AFP. The shared folders can be then mounted on the remote machine and accessed as a local folder.
You can also create folder snapshots. Snapshots offer the possibility to restore folder contents to a previous state and restore accidentally deleted data.
You can manage folders by going to Data management > Folders / Virtual disks on the web interface.
Creating a folder
The image below illustrates how to add a folder. On the left side, you can explore a tree-like view of the folders. After selecting the desired parent folder click the New folder button. The image below contains the options available at creation:
Choose a name for your folder, the desired options, and press Add. More details about each option:
- Case sensitivity refers to the file names allowed to be written inside the folder. The following types of case sensitivity may be selected:
- Sensitive – Files that differ only in upper case/lower case are permitted (e.g. Readme, README and readme)
- Insensitive – Files that have differences in letter case are considered identical (e.g. Readme is the same file as README)
- Mixed – Folder behaves like a case-insensitive folder, with the difference that it is possible to write multiple files with the same name from the case-insensitive perspective. For example, a directory may contain the files Readme and README, but when reading the file called READme the storage will always return one of Readme or README. While there is no guarantee on which of the two will be read, it will always be the same file on subsequent reads/writes.
- When a folder or virtual disk is created its available size is equal to the size of its parent folder (the folder on top of which is created). The maximum allocation size for a folder can be modified to a user-defined value. You can do this by inserting a number in the Quota field.
- If you want to secure a minimum space available for the folder you will insert a value in the Reservation field. What it does is pre-allocate a specific number of bytes for that folder.
- Compression is a feature that once enabled will not only allow you to save space but will also improve overall system performance. The reason this happens is that the time it takes to compress and decompress data is quicker than the time it takes to read and write the uncompressed data to disk. Your CPU may suffer a bit and we would recommend watching it when enabling compression on large folders or virtual disks. Also, it’s always a good idea to enable compression on backup folders.
- Enabling deduplication will configure the storage to save only one copy of data on the same disk pool, rather than storing redundant copies of identical data.
Deduplication can be enabled or disabled per folder or virtual disk, but once enabled it is a property of the entire disk pool. This means that when new data is written, the storage will look for duplicated data on the whole disk pool, not only on the folder or virtual disk that has deduplication enabled.
Deduplication is done real-time and for all written data to the folders or virtual disks on which it is enabled. This means that a ‘Data Deduplication Table’ (DDT) must be kept in the machine’s RAM. The size of this table is directly proportional with the amount of used data and block sizes of the pool. All the used data on the pool will be indexed in DDT. One block uses about 250 bytes of data in DDT. The block size of a pool is always automatic and variable. The system will use larger block sizes for big files and smaller blocks for tiny files. The size of the blocks can vary between 512 bytes and 128 KBytes. On a usual system, the block size is between 45-65 KBytes.
As a rule of thumb, on average, the system will require 5GB of memory for every 1TB of data allocated, for good performance. Also, it will automatically know how to allocate RAM and SSD Cache for ARC and L2ARC, the place where DDT resides. So, with a little performance penalty, you can add SSD cache to your system and it will also be used for the DDT.
When deduplication is enabled, the maximum size of DDT is automatically computed by the system. If your data requires more than this value, the system will check the blocks directly, by reading their checksums from the disk. This will lead to many reads on the system and will severely impact performance.
When you have an SSD cache, this is mainly used for read-cache. This offers faster sequential reads and improves performance. When you will use the same SSD for the DDT also, the available space for read-cache will be automatically adjusted. A very big DDT will reduce read-cache size to an almost zero, thus impacting general read performance on the system.
Editing a Folder
To edit a folder, select the desired one and click on the Contextual menu -> Edit button on the top-right corner. The options that you’ll be allowed to change are in the Reservation, Quota, ACL Inherit and Snapdir fields.
Removing a Folder
Go to the folder you wish to delete and click on it. Now click on the Delete button on the upper-right corner and confirm the directory you intend to delete. A message will notify you about the operation status (e.g. “testpool/documents deleted”).
Note: You can’t delete a parent folder (a folder that contains other folders or vdisks). You have to remove its children before you can delete it.
Setting Folder Permissions
Syneto Storage allows fine-grained access to folder permissions.
When you click the Access Control tab you’ll be able to modify these permissions. Here you can also change the owner or the group of the folder and set its sticky bit.
The ACL inherit option is set on folder creation.
You can change the ownership and permissions recursively to all files and subfolders by checking “Apply to all files and folders” option.
You can allow special privileges by adding ACL rules, they take precedence over the permissions and you also have the possibility to apply them recursively. You can do this by pressing the New ACL rule button.
Folder Permissions and CIFS Sharing
Please refer to the Active Directory page on how to set folder permissions to set CIFS sharing scenarios.
Virtual disks simulate traditional disks and include all the benefits of a folder (integrity checking, deduplication, etc …). They can be shared via iSCSI and they will appear on the remote machine as a normal block device.
Creating a virtual disk
Virtual disks can be created inside a parent folder. You cannot create a virtual disk inside another virtual disk. To create a virtual disk select a folder and press the New virtual disk button from the contextual menu on the right.
Add a name for the virtual disk and choose the desired size. The size is mandatory and will be its visible size. The size occupied on disk depends on whether you choose the Thin or Thick provisioning format:
- Thin = No (aka Thick provisioning): the size specified for the virtual disk is allocated on creation.
- Thin = Yes (aka Thin provisioning): the virtual disk size is not allocated on creation, instead an ‘on-demand’ mechanism is used to allocated space only when it is needed. This method supports ‘over-allocation’ which means that the cumulative size of thin-provisioned virtual disks can be greater than the actual size available on the physical hard drives. Thin provisioning also allows future growth of a virtual disk’s size.
For Compression and Deduplication please refer to their descriptions in Folders.
Removing a virtual disk
Select the virtual disk you wish to delete from the tree. Open the contextual menu on the right pane and click Delete. Confirm the action.
Folder and Virtual Disk space map
You can see the space utilization of a virtual disk or a folder. This helps you form a general idea of how space is utilized across the device.