Simulation

Contact

Examples

Installation

VIRMANEL can be used on Windows but without support for virtualization. In this case, just install Erlang version for Windows with support for the gs library.

Required binaries for Linux systems

To install packages, you must use one of the following commands depending on your operating system:

under Debian: apt-get install package_name

under Fedora: yum install package_name

Where package_name has to be changed to packages from the corresponding list below.

Package list under Debian :

erlang

bridge-utils

vlan

ssh

openvz (*)

Package list under Fedora :

erlang

bridge-utils

vlan-utils

ssh

ovzkernel (*)

vzctl

(*) If this package is not available in the repositories, you can create your own kernel with the OpenVZ patch. See below for detailed instructions.

Kernel Compilation

VIRMANEL uses OpenVZ, and the latter requires that each physical host machine to be used for emulations use a specific, modified Linux kernel. [Note: if the machine executing the VIRMANEL GUI will not host any virtual machines, it can use any current Linux kernel - e.g. the kernels provided by the supported distributions are fine].

Instructions for compiling the Linux kernel with the support for OpenVZ are available here. Please do not forget to change the name of the patch in the tutorial by the respectively latest patch available for your Linux kernel.

This is essential: without the support for OpenVZ in the used physical machines, these cannot be used for VIRMANEL. After the new kernel is operational, you have to boot into the new kernel. Please test that the support for OpenVZ is available by checking the list of the loaded modules and trying some typical OpenVZ commands.

File System Image

Several images are available on the official OpenVZ Wiki. Otherwise, you can produce your own image.

Any new image has to be placed in the directory /var/lib/vz/template/cache. The image to be run in a given emulation can be chosen by setting the openvz_image parameter in /etc/virmanel.conf. You must define the name of the image without its extension .tar.gz and without any directory path.

Customizing the file image

For those who want a customized image, it is possible to create a new one via the debootstrap command on a Debian system. You can then modify the image by adding the application you need.

HINT: A probably easier way is to take an existing image, to start it as an OpenVZ VM, to install the missing applications from within the running virtual machine, to cleanly shut down the virtual machine then and to re-save the whole directory as a new image by using the following command from within the directory of the used virtual machine (usually under /var/lib/vz/private/vm_id, where vm_id is some number):

#tar --numeric-user -czf pathto/newimage.tar.gz .

Note on SSH Keys

When used with multiple physical hosts, VIRMANEL uses SSH protocols to communicate with virtual network elements on different physical hosts. In this case, to enable a better emulation control, you must distribute the same SSH key on the physical and all virtual machines. Regarding the virtual machines, it is best to add them to the image before deploying it. Instructions how to deploy the same SSH key are available here.

[Security warning: we are aware that sharing the SSH keys between multiple entities is not the most secure solution. Yet, VIRMANEL was not designed to use physical hosts over the Internet or in unsafe environments. We rather think about a local cluster of available physical hosts.]

Virtual Machines

To create virtual machines, run virtual_machines_creation.sh after setting the variables. VIRMANEL_IP variable corresponds to the IP of the machine that runs the GUI of VIRMANEL

Then run twices virtual_machines_activation.sh to activate virtual machines.