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