Vnx-install

From VNUML-WIKI
Revision as of 11:20, 10 February 2011 by David (talk | contribs) (Additional install steps for Olive support)
Jump to: navigation, search

VNX (Virtual Networks over X virtualization) v0.14 beta

Installation over 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 libnet-telnet-perl libnet-ip-perl libreadonly-perl \
    libmath-round-perl libappconfig-perl libdbi-perl graphviz
    
  • If you use 64 bits version of Ubuntu, install 32 bits compatibility libraries:
  •  apt-get install ia32-libs
    
  • Install libvirt 0.8.5:
  •  /etc/init.d/libvirt-bin stop
     wget http://libvirt.org/sources/libvirt-0.8.5.tar.gz
     tar xfvz libvirt-0.8.5.tar.gz
     cd libvirt-0.8.5
     ./configure --without-xen --prefix=/usr && make && make install
     /etc/init.d/libvirt-bin start
    

    NOTE: VNX should work with libvirt versions from 0.7.5 to 0.8.5 (it has been mainly tested with 0.7.5 and 0.8.5). Note that, although libvirt 0.7.5 is available as a package in Ubuntu 10.04, 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 version 0.8.5 as described above, in order to maintain Apparmor in your system.

  • Install Sys::Virt perl module:
  • Install VNX:
  • 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
    
  • Download root file systems from http://idefix.dit.upm.es/download/vnx/filesystems and copy them to /usr/share/vnx/filesystems directory:
  • cd /usr/share/vnx/filesystems
    
    # 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 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-10.04-gui-v01.qcow2.bz2
    ln -s root_fs_ubuntu-10.04-gui-v01.qcow2 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 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 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
    
  • Additionally, if you plan to use VNUML root filesystem:
  • # VNUML root_fs_tutorial and kernel
    cd /usr/share/vnx/filesystem
    wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_tutorial-0.6.0.bz2
    bunzip2 root_fs_tutorial-0.6.0.bz2
    ln -s root_fs_tutorial-0.6.0 root_fs_tutorial
    cd /usr/share/vnx/kernels
    wget -N http://jungla.dit.upm.es/~vnx/download/kernels/linux-2.6.18.1-bb2-xt-4m
    chmod +x linux-2.6.18.1-bb2-xt-4m
    ln -s linux-2.6.18.1-bb2-xt-4m linux
    

NOTE for Ubuntu 10.04.1: It seems that an additional package has to be installed:

apt-get install kvm-pxe

Additional install steps for Dynamips support

  • Install Dynamips and Dynagen:
apt-get install dynamips dynagen
#!/bin/sh
# Start/stop the dynamips program as a daemon.
#
### BEGIN INIT INFO
# Provides:          dynamips
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Cisco hardware emulator daemon
### END INIT INFO

DAEMON=/usr/bin/dynamips
NAME=dynamips
PORT=7200
PIDFILE=/var/run/$NAME.pid 
LOGFILE=/var/log/$NAME.log
DESC="Cisco Emulator"
SCRIPTNAME=/etc/init.d/$NAME

test -f $DAEMON || exit 0

. /lib/lsb/init-functions


case "$1" in
start)  log_daemon_msg "Starting $DESC " "$NAME"
        start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE
        log_end_msg $?
        ;;
stop)   log_daemon_msg "Stopping $DESC " "$NAME"
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME
        log_end_msg $?
        ;;
restart) log_daemon_msg "Restarting $DESC " "$NAME"
        start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE --name $NAME
        start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE
        log_end_msg $?
        ;;
status)
        status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? 
        #status $NAME
        #RETVAL=$?
        ;; 
*)      log_action_msg "Usage: $SCRIPTNAME {start|stop|restart|status}"
        exit 2
        ;;
esac
exit 0

  • Set execution permissions for the script and add it to system start-up:
chmod +x /etc/init.d/dynamips
update-rc.d dynamips defaults
/etc/init.d/dynamips start
dynagen /usr/share/vnx/examples/R.net

Additional install steps for Olive support

Several additional steps are needed to support Olive (Juniper) routers in VNX scenarios:


Installing on Fedora 11 (Not completed yet)

Follow this steps to install VNX over Fedora 11:

  • Install packages:
  • yum -y groupinstall "Development Tools"
    yum install qemu-kvm libvirt virt-manager virt-viewer perl-XML-LibXML
    yum install perl-XML-DOM perl-NetAddr-IP perl-Readonly perl-TermReadKey
    yum install perl-Net-Pcap perl-Net-IPv6Addr perl-Net-Telnet perl-Error
    yum install perl-Exception-Class perl-ExtUtils-MakeMaker tunctl screen wget
    yum install libxml2-devel gnutls-devel device-mapper-devel
    
  • Install libvirt 0.8.5:
  • /etc/init.d/libvirtd stop
    wget http://libvirt.org/sources/libvirt-0.8.5.tar.gz
    tar xfvz libvirt-0.8.5.tar.gz
    cd libvirt-0.8.5
    ./configure --without-xen --prefix=/usr && make && make install
    /etc/init.d/libvirtd start
    


  • Install SysVirt manually:
  • wget http://search.cpan.org/CPAN/authors/id/D/DA/DANBERR/Sys-Virt-0.2.4.tar.gz
    tar xfvz Sys-Virt-0.2.4.tar.gz
    cd Sys-Virt-0.2.4
    perl Makefile.PL
    make install
    
  • 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
    
  • Install XML::Checker perl library:
  • perl -MCPAN -e shell
    install XML::Checker
    
  • Add symbolic link for kvm:
  • ln -s /usr/bin/qemu-kvm /usr/bin/kvm
    
  • Instalar VNX:
  • 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
    
  • Deshabilitar el firewall o, alternativamente, configurar los interfaces tipo "tun" como confiables (Sistema->Firewall->Interfaces Confiables").