Skip to main content

Storage

Storage is a service of nine Managed GKE that allows you to persist data in your cluster.

Details

For customer who need to persist data or have stateful applications, nine offers both block and file storage, with both storage types available on rotational disks and ssds.

Availability

Storage is charged separately from the nine Managed GKE base platform. Block storage can be provisioned direct by the customer, to order file storage please contact info@nine.ch.

Usage

Nine offers different types of storage that can be used with Kubernetes.

For information about backups and restore of your storage please see the appropriate documentation, listed below.

Block storage

Block storage is available to be provisioned directly by the customer, in a pay-as-you-go model. Storage provisioned will automatically be added to your bill, and you will be charged by usage as per the gcp billing model.

To provision block storage you are able to use the following storage classes:

standard (default)
standard-regional
standard-late-binding
ssd
ssd-regional
balanced
balanced-regional

The default block storage class is standard (rotational disks in a single zone). This means that as default your data is guaranteed to reside in Switzerland, but will not have high-availability by being replicated across multiple zones in the region. To ensure that your data is replicated across two zones use a storage class with a -regional suffix.

The Storage-Classes reflect Google's Disk Types. All storage classes except standard support Volume Expansion and are "Late Binding". Late Binding is important for zonal volumes, as these can only be used within one zone. We thus recommend to not use the default standard storage class and use one of the aforementioned alternatives.

Here is an example on how to create a Block storage volume using a Persistent Volume Claim:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: example-disk
spec:
storageClassName: standard-late-binding
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

Block Storage Backup and Restore

Block storage is backed up daily via snapshots. These snapshots can be restored on request. See the backup documentation for more information.

File Storage (NFS) (deprecated)

NFS file storage is an add-on product, which must be requested from info@nine.ch. You will need to request either ssd or rotational disks when ordering file storage. Each have different performance characteristics. Nine uses regional disks when provisioning your NFS storage cluster, to ensure your setup is highly available. Due to this the minimum possible NFS cluster size is limited to 200GB.

To provision file storage, after purchase, you are able to use the following storage class:

nfs

Please be aware that the actual accessMode for NFS needs to be ReadWriteMany:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: example-disk
spec:
storageClassName: nfs
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi

File storage is provided as a pool of space which you are able to divide up into logical units via kubernetes PVC objects. We do not enforce the size of a NFS Persistent Volume Claim by default. This means that every NFS Persistent Volume Claim can use all the available space on the NFS server. This makes it easier to expand the storage of the NFS server if ever needed. Please inform us if you need hard quotas set on NFS Persistent Volume Claims.

Please see the official documentation, linked below, for more information on the concepts of storage in Kubernetes.

Migration to Filestore

To migrate from the deprecated NFS solution, nine provides a tool called relokator. You can find it here. The usage is described in the README of the repository. Should you encounter any issues migrating your data, please do not hesitate to contact us.

Performance

Please note that write throughput is limited by the vCPU and disk size of your file storage solution. Please see Google's documentation on this for more information. Additionally GCP's Network Egress cap may limit perfomance. Therefore performance sensitive applications will need to factor in vCPU's and disk size when calculating the appropriate configuration for your storage nodes. nine strongly suggests using ssd's where possible for your file storage.

For support and consulting on this topic please contact info@nine.ch

Performance limits of rotational persistent disks

Machine types with less than 4 vCPU cores will limit your write speed to standard persistent disks.

  • Read throughput: Up to 240 MB/s at a 2 TB disk size.
  • Write throughput: Up to 240 MB/s at a 2 TB disk size.
  • Read IOPS: Up to 3,000 IOPS at a 4 TB disk size.
  • Write IOPS: Up to 15,000 IOPS at a 10 TB disk size.
FIO benchmark of rotational NFS storage
  • data amount 4MB block size: 50GB
  • data amount 16KB block size: 20GB
  • persistent disk size: 200GB
  • client is of type n1-standard-1
Serverwrite speed sequential (4MB)write speed random (4MB)write IOPS sequential (16KB)write IOPS random (16KB)read speed sequential (4MB)read speed random (4MB)read IOPS sequential (16KB)read IOPS random (16kb)
n1-standard-263 MB/s65 MB/s1777 IOPS715 IOPS20.5 MB/s19.5 MB/s1604 IOPS258 IOPS
Performance limits of SSDs

The performance of SSD's relies heavily depends on the number of vCPUs and the size of the persistent disk in the machine please see the documentation

FIO benchmark of SSD NFS storage
  • data amount 4MB block size: 50GB
  • data amount 16KB block size: 20GB
  • persistent disk size: 200GB
  • client is of type n1-standard-1
Serverwrite speed sequential (4MB)write speed random (4MB)write IOPS sequential (16KB)write IOPS random (16KB)read speed sequential (4MB)read speed random (4MB)read IOPS sequential (16KB)read IOPS random (16kb)
n1-standard-264.2 MB/s63.8 MB/s1518 IOPS1629 IOPS103.2 MB/s96.3 MB/s4965 IOPS5080 IOPS

File Storage Backup and Restore

Your File Storage (NFS) data will be backed up once a day. It is possible to request access to these backups for disaster recovery and file restoration actions. See the backup documentation for more information.