Storage Subsystem 3.0

The OpenNebula daemon information is stored in the database, but you also need to configure some storage for the Image and Virtual Machine files.

All Image and Virtual Machine management files are stored in /var/lib/one.

Virtual Machine Files Management

The control files for Virtual Machines are stored in the path /var/lib/one/<vm-id>. The images subdirectory holds the Virtual Machine disk images.

The Virtual Machine files management is performed by the Transfer Manager drivers. You can enable, disable or add new drivers in oned.conf.

The included drivers can be used to implement different scenarios, please read the following guides to understand the advantages of each one, and how to configure them:

A set of LVM drivers are also included, although the idea behind these scripts is not to provide a full-blown LVM solution, but a basic example which can be tailored to fit a more specific scenario.

Note that the modular design of OpenNebula allows you to easily extend or create new drivers for your existing architecture. Follow the Transfer Manager Driver guide to learn how to tune and extend them.

Security Issues

Contextualization feature lets us add files to an ISO file. These files can come from the filesystem or a web link. There is a security problem when adding files from the server filesystem as the copy is done as oneadmin user so a malicious user can add system files or oneadmin keys to the ISO file and read that later from the VM created.

We have added a new configuration variable in each of the TM driver rc files (for example /etc/one/tm_shared/tm_sharedrc). By default is permissive but the value of SECURE_CONTEXT can be changed to 1 to only let inclusion of http urls. The variable in default form:

# Set to 1 to disable adding files to context image other than
# itself or http url's

Image Files Management

When a new Image is registered, its file is copied or downloaded to the front-end path /var/lib/one/images. This file movement is managed by the Image Manager driver. Unlike the Transfer Manager drivers, only one Image Manager driver can be defined in oned.conf. To customize this driver, please read its reference guide. A quick introduction is in the Image Repository guide.