Datastore question - local drives


We have a cluster of 6 opennebula backends. We have a shared filesystem using OCFS2/iscsi which is working fine.
Each one of the nodes also has a SSD drive and we would like to have some VM use those SSD for image DS (second hard disk inside the vm).

What would be the recommended way of configuring the datastore in this case?

I’m not sure if I should have only one DS for all nodes or have one DS per node… or another option?



I am doing something similar, using a piece of a RAID1 disk on nodes:
mounted /dev/mapper/System-local_ds on /var/lib/one/datastores/113
using ssh as a transfer manager.
So that, each node as the right working copy of the disk image locally, copied on request by oned.
The issue is that all nodes should be able to store all images, and oned must hold all images (unless created on the fly?)
A problem may occur if you use a persistent drive and the ssd go away. The backcopy will not occur and you will loose your data.

Hope it helps.

Another problem is that live migration does not work for datastores with SSH transfer manager.

I use local disks for the system datastore and SSH transfer manager, and put transient disks such as swap there.


thanks both for the answers…

Actually the drive can be volatile. We’ll make daily backup which we can then restore.
So having the image in all nodes is not necessary.

I wasn’t sure if it’s better to have one DS for all the local SSD, and then, when I create the image, define manually on which host, OR have one DS per host (113 -> host1, 114 -> host2, etc) and only chose on which DS to create the image.

I think OpenNebula adapts better to the use case to have just one DS for all the local SSDs.


This is an old-ish post, but I rather continue here than creating a new one.

We are now facing the following:
We have a 4 physical servers for elasticsearch. These servers have local SSD drive that we would like to use for ES storage.
The actual VM will run from our shared OCFS storage, but the ES data should be locally on each server.
We don’t care about failover, since ES should survive if one node is down.

What is a bit unclear is how to put the SSD as a datastore.
If we use the same datastore# for ALL servers, the available space will be from only one host.
If we use one datastore per host, it will end up in a large collection of datastores.

What is the best approach here?