gridFs
gridFs is a Filesystem as a service. It is based on NFS version 4.
Performance Classes
We offer three performance classes based on the Storage Performance Classes.
Important Note:
You cannot change your selected performance class afterward.
If you think you need more capacity for your project, simply choose a higher-performance class.
| Performance Class | Operations per Second (r/w) | Bandwidth MB/s (r/w) | Maximum capacity | 
|---|---|---|---|
| Filesystem Standard | 1000 / 1000 | 100 / 100 | 10TB | 
| Filesystem High | 3000 / 3000 | 200 / 200 | 10TB | 
| Filesystem Insane | 7500 / 7500 | 300 / 300 | 10TB | 
Billing
You only pay for the storage used, billed per minute.
Under the hood of NFS we use a copy-on-write (COW) filesystem. Due to this, the typical df command might not give you the actual filesystem usage for which billing is performed. This also means using features like cp --reflink will not directly copy data, because both files point to the same file on disk due to the nature of copy-on-write. Upon starting to change one of the files, you will start seeing an increase of space because the filesystem below will save the diff. Most tools just see the files in the filesystem tree with their file size.
Therefore you might see a difference between a df when mounting the gridFs and the actual usage in the Cloud Panel that is billed.
Versions
gridFs is based on the Network File System (NFS) protocol. We support NFS4, NFS4.1 and NFS4.2.
We recommend using NFS4.2 because it has new features like reflink.
We do not support NFS3 meaning Windows clients are not supported by default.
NFS4.2 Feature - NFS_CLONE
NFS 4.2 introduced a new operation called NFS_CLONE.
This allows the client to ask the server to use the --reflink option.
The --reflink option allows the user to utilize the copy-on-write filesystem capabilities to instantly create a copy of files.
cp is one of the tools which allows this flag.
cp --relink only works with NFS 4.2.
Mounting
For mounting NFS you need to install the nfs-common package on your operating system.
You can either mount your NFS via /etc/fstab or directly with the mount command:
/etc/fstab:
[IPV4_ADDRESS]:/    /nfs    nfs    defaults,noatime,nodiratime,async    0 0
mount command:
mount [IPV4_ADDRESS]:/ /mnt
By default the gridFs can be mounted from the following IP ranges:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
Service Access
Once your gridFs service has been successfully created you can have the possibility to view the Service Access section within the detailed view for your service.
Parameters
We offer the following parameters:
| parameter | Default | 
|---|---|
| allowed_ip_ranges | 192.168.178.1/24 | 
| root_squash | false | 
| anon_uid | 65534 | 
| anon_gid | 65534 | 
You can change the parameters with the following payload:
{
  "parameters": {
    "root_squash": "true",
    "allowed_ip_ranges": "192.168.178.1/24",
    "anon_uid": "1000",
    "anon_gid": "1000",
  }
}
Root Squash
The parameter root_squash: true will enable the NFS option root_squash.
This will change all files created by the user root with the UID/GID 0 to UID/GID anonymous.
The parameters anon_uid and anon_gid can be changed to your prefered anonymous UID/GID.
If you choose to use root_squash: false the NFS option no_root_squash is used.
This will let you create files from the user root.
This removes the mapping from user root to anonymous in the root_squash option.
The UID/GID will be 0.
Allowed IP Ranges
The allowed_ip_ranges is a field where you can enter the allowed CIDR block or IP address in CIDR notation:
- CIDR range: 192.168.178.1/24
- Single Server: 192.168.178.25/32