NFS Storage Driver

The Network File System (NFS) is a distributed file system protocol. Using an NFS server you can export one or more local file systems (shares). An NFS client can mount these exported shares on its own file system. You can perform file actions on this mounted remote file system as if it were local storage on the VM.

Use cinder-volume to manage volumes on shares. If you have one master NFS server, you can use one cinder-volume service to handle all requests to that NFS server. However; if that single server is unable to handle all requests, you may want to use additional cinder volumes as well as additional NFS servers. Contact Metacloud Support if you need to add servers to handle increased storage needs. Metacloud Support provides capacity monitoring and reporting. If a mount point reaches 100% capacity, all running VMs will be paused. Pausing the VMs retains data in VM memory until the NFS mount has additional storage capacity. Once more capacity is available all VMs will be resumed and all writes will be committed.

Note
Because data is stored in a file and not actually on a Block Storage device, you might not see the same performance as you would with a traditional Block Storage driver. Despite possible IO performance loss, storing volume data is beneficial, for example, backing up volumes can be as easy as copying the volume files.

Ultimately cloud performance is dictated by the performance of the storage system powering it. Some NFS servers cannot keep up with the load placed on them. This impacts all aspects of the cloud, from instance boot times to nova and cinder latency. A non-performant NFS server can cause stability issues. When an NFS server is slow or overloaded it can look like a disconnect on the host level; meaning that all instances are paused on the system (even those not leveraging NFS storage). If this occurs, file a ticket with Metacloud Support to troubleshoot and correct the issue.

Using NFS

See the Feature Matrix for a complete list of supported features by storage type.

Compute Service

To enable live migration, all hypervisors must have the same NFS mount. This means that the Compute service is in place for all ephemeral and root disks for running VMs.

Block Storage Service

Feature Supported
Volume Creation Yes
Boot from Volume Yes
Clone Volume No
Volume Snapshot No
Encrypt Volume No
Extend Volume Yes
Provisioned IOPS No

Image Service

Backing File Type Supported
AMI (AWS) Yes
ISO9660 Yes
QCOW2 (KVM, Xen) Yes
RAW Yes
VDI (Virtualbox) Yes
VHD (Hyper-V) Yes
VMDK (VMWare) Yes