Non-Shared File System 3.0

OpenNebula can work without a shared FS. In this scenario, the front-end has access to the Image Repository and when a VM is deployed OpenNebula copies the Image files to the <VM_DIR>, residing in the host local filesystem.

inlinetoc

Requirements

The only requirement for this setup should be already in place if you followed the Installation guide. The oneadmin Unix account must be able to ssh passwordless between the front-end and the hosts, and also from the hosts to the front-end and each one of the other hosts.

The easiest way to have this kind of configuration is the one explained in the installation guide, to copy the ~/.ssh directory to all the machines. It is also very important that the front-end and the hosts have the same contents in the /etc/hosts file.

Considerations & Limitations

In this non-shared storage scenario the scp command is used to transfer Image files to the hosts. This imposes high VM deployment times, depending on your infrastructure network connectivity.

The advantage of this option is that the running VMs use the local host FS, what can provide better performance than a storage shared between all the hosts.

When a VM is deployed, all Image files, no matter if persistent or not, are copied from the Image Repository to the host's local <VM_DIR> path via scp.

Persistent Images and Images created with the 'onevm saveas' command are transferred back to the Image Repository from the host's <VM_DIR>/<VID>/images only after the VM is successfully shut down. This means that the VM has to be shut down using the 'onevm shutdown' command, and not 'onevm delete'. Suspending or stopping a running VM won't copy the disk file to the repository either.

Check the VM life-cycle diagram for more information.

Migrations

Only cold migrations can be performed, i.e. 'onevm migrate' is available but 'onevm livemigrate' isn't.

Persistent Images

Persistent Images are supported. Unlike with a shared FS, the deployment of VMs is not improved when persistent Images are used, as they are also copied from the Image Repository to the host's local <VM_DIR> path.

Non-Persistent Images

Non-persistent Images work as expected, see the considerations above.

Save Images

The 'onevm saveas' functionality works as expected, see the considerations above.

Configuring OpenNebula

The SSH TM driver is named “tm_ssh”. It is not enabled by default, and has to be uncommented in oned.conf. After that, OpenNebula has to be restarted.

TM_MAD = [
    name       = "tm_ssh",
    executable = "one_tm",
    arguments  = "tm_ssh/tm_ssh.conf" ]

Tunning & Extending

The 'tm_ssh' driver files are installed in /usr/lib/one/tm_commands/ssh. There is a script file for each action, that can be easily customized:

tm_clone.sh
tm_context.sh
tm_delete.sh
tm_ln.sh
tm_mkimage.sh
tm_mkswap.sh
tm_mv.sh

Follow the Transfer Manager Driver guide to learn how to tune and extend them.