Local storage per host


Currently I have a controller and a host.
On the host I use local storage for the Images and the system datastore.
I have mounted the datastore folder on the controller.

Now I want to add another host and also use the local storage.
So I need to add a second images datastore and mount this on the controller via NFS ?
Do I need a second system datastore ? How to link it with the new host ?


Kind regards,

This highly depends on your datastore configurations. You can go two ways here:

  1. Mount all datastores (images and system ds) on all hosts via NFS and use shared drivers (http://docs.opennebula.org/5.2/deployment/open_cloud_storage_setup/fs_ds.html#fs-ds)

With this setup you have to make sure, that you mount the NFS shares on the corresponding directory under /var/lib/one/datastores/<ds_id>

If you just want to extend your current setup to the additional host and you use the shared driver then this is your way to go. Be aware that you share the disk backend with both nodes in terms of performance and availability.

  1. Use the ssh transfer driver, this means more or less, that your images datastore is hosted on the frontend machine (or a share mounted only on the frontend machine) and when an template is instantiated the image is copied via ssh to the local system datastore on the KVM host.
    This setup is probably easier to implement, but needs time on instantiation and termination of a VM (needs to copy to system datastore on instantiation and, if image is persistent, back to the image datastore if terminated)