Vnx-install
VNX (Virtual Networks over X virtualization) v0.14 beta
Contents
Installation
Installing on Ubuntu 10.04/9.10
This section describes the procedure for installing VNX over Ubuntu 10.04 or 9.10. Open a root shell window and follow these steps:
- Install all packages required (basic development, virtualization, perl libraries and auxiliar packages):
apt-get update apt-get install build-essential qemu-kvm libvirt-bin vlan xterm bridge-utils \ screen virt-manager virt-viewer libxml-checker-perl \ libxml-parser-perl libnetaddr-ip-perl libnet-pcap-perl libnet-ipv6addr-perl \ liberror-perl libexception-class-perl uml-utilities libxml-libxml-perl \ libxml2-dev libgnutls-dev libdevmapper-dev libterm-readline-perl-perl
Note: for Ubuntu 9.04 change "qemu-kvm" package by "qemu kvm"
apt-get install ia32-libs
/etc/init.d/libvirt-bin stop wget http://libvirt.org/sources/libvirt-0.7.5.tar.gz tar xfvz libvirt-0.7.5.tar.gz cd libvirt-0.7.5 ./configure --without-xen --prefix=/usr && make && make install /etc/init.d/libvirt-bin start
NOTE: By now, libvirt 0.7.5 is the only version of libvirt known to work with VNX.
NOTE2: libvirt 0.7.5 is available as a package in Ubuntu 10.04. However it has some problems related with the Apparmor profiles configured for libvirt. If you disable Apparmor (with "/etc/init.d/apparmor stop"), VNX will work with libvirt 0.7.5 installed as package, however we recommend to download and compile it as described above, in order to maintain Apparmor in your system.
- For Ubuntu 10.04, just install the libsys-virt-perl package
apt-get install libsys-virt-perl
wget http://search.cpan.org/CPAN/authors/id/D/DA/DANBERR/Sys-Virt-0.2.3.tar.gz tar xfvz Sys-Virt-0.2.3.tar.gz cd Sys-Virt-0.2.3 perl Makefile.PL make install
wget -N http://www.dit.upm.es/vnx/download/vnx-0.14b.tgz tar xfvz vnx-0.14b.tgz cd vnx-0.14b ./install_vnx
cd /usr/share/vnx/filesystem # ubuntu server wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.04-v01.qcow2.bz2 bunzip2 root_fs_ubuntu-10.04-v01.qcow2.bz2 ln -s root_fs_ubuntu-10.04-v01.qcow2.bz2 root_fs_ubuntu # ubuntu with gui wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.04-gui-v01.qcow2.bz2 bunzip2 root_fs_ubuntu-gui-10.04-v01.qcow2.bz2 ln -s root_fs_ubuntu-10.04-gui-v01.qcow2.bz2 root_fs_ubuntu-gui # freebsd server wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-v01.qcow2.bz2 bunzip2 root_fs_freebsd-v01.qcow2.bz2 ln -s root_fs_freebsd-v01.qcow2.bz2 root_fs_freebsd # freebsd gui wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-gui-v01.qcow2.bz2 bunzip2 root_fs_freebsd-gui-v01.qcow2.bz2 ln -s root_fs_freebsd-gui-v01.qcow2.bz2 root_fs_freebsd-gui # winxp and win7 # Sorry! Unfortunately for legal reasons we cannot distribute windows XP # or Windows 7 root filesystems. See VNX documentation for detailed recipes # to create these root fylesystems from scratch
NOTE for Ubuntu 10.04.1: It seems that an additional package has to be installed:
apt-get install kvm-pxe
Installing on Fedora 11
Follow tis steps to install VNX over Fedora 11:
- Instalar VNUML sobre Fedora 11 siguiendo la receta en http://www.dit.upm.es/vnumlwiki/index.php/Fedora11
- Instalar paquetes y librerías necesarias:
yum install qemu-kvm libvirt virt-manager virt-viewer perl-XML-LibXML perl-Sys-Virt yum -y install bridge-utils readline-devel perl-Module-Build screen expat-devel libpcap-devel yum -y install perl-Net-Pcap perl-NetAddr-IP perl-Net-IPv6Addr perl-XML-DOM perl-Exception-Class yum -y install perl-TermReadKey perl-Error perl-CPAN uml_utilities xterm tunctl
perl -MCPAN -e shell install XML::Checker
ln -s /usr/bin/qemu-kvm /usr/bin/kvm
wget -N http://idefix.dit.upm.es/download/vnx/vnx-0.12b.tgz tar xfvz vnx-0.12b.tgz cd vnx-0.12b ./install-vnx
Testing VNX with example scenarios
Several example scenarios are distributed together with VNX (see /usr/share/vnx/examples directory).
Con la distribución provisional de VNX se proporcionan dos nuevos escenarios de ejemplo para mostrar las capacidades para crear máquinas virtuales basadas en Windows XP:
- root_fs_XXX.xml,
- simple-XXX.xml: simple scenarios made of one virtual machine without network interfaces.
- tutorial_root1-xp.xml, basado en el escenario del tutorial de VNUML (http://www.dit.upm.es/vnumlwiki/index.php/Tutorial) y compuesto por dos máquinas virtuales Linux (uml1 y uml3) y tres Windows XP (uml2, uml4 y uml5).
To test the scenarios:
- Open a root shell from the graphical console of the host machine. If you are not sat in front of host's console you can access it using ssh with X-forwarding activated. For example, from a Unix machine you can use:
ssh -X <host-addr>
In this case, it is recommended to test that X-forwarding is working by launching a "xterm" or "xeyes" application and seeing that the application window is correctly launched.
Es importante además que la conectividad entre la máquina cliente y el servidor donde se ejecuta VNX sea buena, ya que el acceso a las consolas de las máquinas virtuales se hace impracticable en caso contrario.
Simple scenarios
- Start simple scenarios by means of:
vnx -f /usr/share/vnx/examples/simple_xp.xml -v -u root --create
Just after the execution, you will see the console of the Windows XP machine starting. Once the machine has completely started, the autoconfiguration daemon will configure it (the name and network interfaces are configured in general; only the name in the simple example) and restart it for the changes to take effect.
After the restart, the virtual machine will be available for interacting with it.
Note: virt-viewer console application "captures" the mouse when interacting with the virtual machines. You have to type "Ctrl-Alt" to release the mouse.
vnx -f /usr/share/vnx/examples/simple_xp.xml -v -u root --shutdown
vnx -f /usr/share/vnx/examples/simple_xp.xml -v -u root --destroy
Tutorial scenarios
- To start the tutorial scenario with linux and XP machines just type:
vnx -f tutorial_root1_xp.xml -v -u root --create
Troubleshooting
Comprobaciones:
- Comprobar que el procesador tiene las extensiones de virtualización:
egrep '(vmx|svm)' --color=always /proc/cpuinfo
Si aparece la la palabra vmx (para Intel) o svm (para AMD) coloreada, es que el procesador tiene soporte de virtualización.
modprobe kvm modprobe kvm_intel
- Arrancar con consola SDL
kvm -sdl -hda /usr/share/vnuml/filesystems/linux-0.2.img -m 256
echo "Type 'vncviewer ${DISPLAY%.0}' to access vnc console"; kvm -vnc ${DISPLAY#*localhost} -hda /usr/share/vnuml/filesystems/linux-0.2.img -m 256
open /dev/kvm: No such file or directory. Could not initialize KVM, will disable KVM support"
es que el sistema operativo no detecta el soporte de virtualización. Si se ha comprobado que el procesador soporta virtualización, puede ser que ésta esté deshabilitada en la BIOS.
- Arrancando máquina virtual linux:
cd /usr/share/vnuml/examples/ virsh create root_fs_linux.xml virt-viewer Linux
cd /usr/share/vnuml/examples/ virsh create root_fs_winxp.xml virt-viewer WinXP
virsh shutdown Linux virsh shutdown WinXP
killall dnsmasq virsh net-start default
cat /var/log/libvirt/qemu/Linux.log cat /var/log/libvirt/qemu/WinXP.log
virt-manager
o desde la shell de libvirt:
virsh list
cd /usr/share/vnuml/examples
Editar tutorial_root2.xml y añadir "<mem>64M</mem>" entre <filesystem...> y <kernel...>
vnumlparser.pl -t tutorial_root2.xml -v -u root -Z
Errores conocidos
- Ubuntu 9.10: si al arrancar máquinas virtuales da el error:
libvirt error code: 38, message: monitor socket did not show up.: Connection refused
y en el log (/var/log/libvirt/qemu/*.log) se ve al final el mensaje:
qemu: could not open disk image /root/.vnuml/simulations/simple/vms/host1/fs/root_cow_fs
hay que rearrancar el demonio de libvirt mediante:
/etc/init.d/libvirt-bin restart
ver https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/503376