Ravada has been successfully tested only on Ubuntu 16.10 and 17.04. If you want it to run on Ubuntu 17.10 try the beta package. It should also work in recent RedHat based systems. Follow this guide if you prefer Debian Jessie.
It depends on the number and type of virtual machines. For common scenarios are server memory, storage and network bandwidth the most critical requirements.
RAM is the main issue. Multiply the number of concurrent workstations by the amount of memory each one requires and that is the total RAM the server must have.
The faster the disks, the better. Ravada uses incremental files for the disks images, so clones won’t require many space.
We provide deb Ubuntu packages. Download it from the UPC ETSETB repository. We fixed some issues from the last release, we advice you install release 0.2.11-rc1.
libmojolicious-plugin-renderfile-perl package is available only in recent Ubuntus. Try this first:
$ sudo apt-get install libmojolicious-plugin-renderfile-perl
Only if it fails download our own package:
$ wget http://infoteleco.upc.edu/img/debian/libmojolicious-plugin-renderfile-perl_0.10-1_all.deb $ sudo dpkg -i libmojolicious-plugin-renderfile-perl_0.10-1_all.deb
Then install the ravada package, notice it show some errors, it is ok, keep reading.
$ wget http://infoteleco.upc.edu/img/debian/ravada_0.2.11-rc1_all.deb $ sudo dpkg -i ravada_0.2.11-rc1_all.deb
The last command will show a warning about missing dependencies. Install them running:
$ sudo apt-get update $ sudo apt-get -f install
MySql required minimum version 5.6
It is required a MySQL server, it can be installed in another host or in the same one as the ravada package.
$ sudo apt-get install mysql-server
MySQL database and user¶
It is required a database for internal use. In this examples we call it ravada. We also need an user and a password to connect to the database. It is customary to call it rvd_user. In this stage the system wants you to set a password for the sql connection.
Create the database:
$ mysqladmin -u root -p create ravada
Grant all permissions on this database to the rvd_user:
$ mysql -u root -p ravada -e "grant all on ravada.* to rvd_user@'localhost' identified by 'changeme'"
Create a config file at /etc/ravada.conf with the username and password you just declared at the previous step. Please note that you need to edit the user and password via an editor. Here, we present Vi as an example.
$ sudo vi /etc/ravada.conf db: user: rvd_user password: changeme
Ravada web user¶
Add a new user for the ravada web. Use rvd_back to create it. It will perform some initialization duties in the database the very first time this script is executed.
When asked if this user is admin answer yes.
$ sudo /usr/sbin/rvd_back --add-user user.name
The server must be able to send DHCP packets to its own virtual interface.
KVM should be using a virtual interface for the NAT domnains. Look what is the address range and add it to your iptables configuration.
First we try to find out what is the new internal network:
$ sudo route -n ... 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
So it is 192.168.122.0 , netmask 24. Add it to your iptables configuration:
sudo iptables -A INPUT -s 192.168.122.0/24 -p udp --dport 67:68 --sport 67:68 -j ACCEPT
To confirm that the configuration was updated, check it with:
sudo iptables -S
The client must have a spice viewer such as virt-viewer. There is a package for linux and it can also be downloaded for windows.