Storage in OpenNebula is designed around the concept of Datastores. A Datastore is any storage medium to store disk images. OpenNebula distinguishes between three different Datastore types:
- Images Datastore, which stores the base operating system images, persistent data volumes, CD-ROMs.
- System Datastore holds disks of running Virtual Machines. Disk are moved from/to the Images when the VMs are deployed/terminated.
- Files & Kernels Datastore to store plain files (not disk images), e.g. kernels, ramdisks, or contextualization files. :ref:`See details here <file_ds>`.
- There are different Image Datastores depending on how the images are stored on the underlying storage technology:
- :ref:`NFS/NAS <nas_ds>`
- :ref:`Local Storage <local_ds>`
- :ref:`OneStor <onestor_ds>`
- :ref:`Ceph <ceph_ds>`
- :ref:`SAN <lvm_drivers>`
- :ref:`Raw Device Mapping <dev_ds>`
- :ref:`iSCSI - Libvirt <iscsi_ds>`, to access iSCSI devices through the built-in QEMU support
Each datastore supports different features, here is a basic overview:
:ref:`NFS/NAS <nas_ds>` | :ref:`SSH <local_ds>` | :ref:`OneStor <onestor_ds>` | :ref:`Ceph <ceph_ds>` | :ref:`SAN <lvm_drivers>` | :ref:`iSCSI <iscsi_ds>` | |
Disk snapshots | yes | yes | yes | yes | no | no |
VM snapshots | yes | yes | yes | no | no | no |
Live migration | yes | yes | yes | yes | yes | yes |
Fault tolerance (:ref:`VM ha <vm_ha>`) | yes | no | no | yes | yes | yes |
Before reading this chapter make sure you are familiar with Node Deployment from :ref:`Open Cloud Deployment <vmmg>`.
After that, proceed with the specific Datastore documentation you might be interested in.
This chapter applies to KVM and LXC.
Warning
Hypervisor limitations:
- LXC Node only supports :ref:`NFS/NAS <nas_ds>`, :ref:`Local Storage <local_ds>` and :ref:`Ceph <ceph_ds>` datastores
For a storage guide on the legacy vCenter driver, see :ref:`vCenter Storage <vcenter_ds>`.