Vnx-tutorial-ubuntu
VNX Tutorial Ubuntu
Contents
Description
VNX includes several example scenarios based on the VNUML tutorial scenario but including all types of virtual machines supported by VNX (see tutorial_*.xml files in /usr/share/vnx/examples directory).
The scenario presented here is made of 6 Ubuntu virtual machines (4 hosts -h1, h2, h3 and h4- and 2 routers -r1 and r2-) connected through three virtual networks. The host participates in the scenario having a network interface in Net3. All systems but h1 use an Ubuntu server root filesystem; h1 uses an Ubuntu Desktop to allow starting a web navigator.
Starting the scenario
Start the scenario with:
cd /usr/share/vnx/examples/ sudo vnx -f tutorial_ubuntu-gui.xml -v --create
You will see the six virtual machine consoles opening: a graphical one for h1, and textual consoles for the rest.
Executing commands
Stopping the scenario
Other interesting options
tutorial_ubuntu.xml scenario
<?xml version="1.0" encoding="UTF-8"?>
<!--
~~~~~~~~~~~~~~~~~~~~
VNX Sample scenarios
~~~~~~~~~~~~~~~~~~~~
Name: tutorial_ubuntu
Description: A simple tutorial scenario made of 6 Ubuntu virtual machines (4 hosts: h1, h2, h3 and h4;
and 2 routers: r1 and r2) connected through three virtual networks. The host participates
in the scenario having a network interface in Net3.
This file is part of the Virtual Networks over LinuX (VNX) Project distribution.
(www: http://www.dit.upm.es/vnx - e-mail: vnx@dit.upm.es)
Departamento de Ingenieria de Sistemas Telematicos (DIT)
Universidad Politecnica de Madrid
SPAIN
-->
<vnx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/usr/share/xml/vnx/vnx-2.00.xsd">
<global>
<version>2.0</version>
<scenario_name>tutorial_ubuntu</scenario_name>
<automac/>
<vm_mgmt type="none" />
<vm_defaults>
<console id="0" display="no"/>
<console id="1" display="yes"/>
</vm_defaults>
</global>
<net name="Net0" mode="virtual_bridge" />
<net name="Net1" mode="virtual_bridge" />
<net name="Net2" mode="virtual_bridge" />
<net name="Net3" mode="virtual_bridge" />
<vm name="h1" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu-gui</filesystem>
<mem>384M</mem>
<console id="0" display="yes"/>
<console id="1" display="no"/>
<if id="1" net="Net0">
<ipv4>10.0.0.2/24</ipv4>
</if>
<route type="ipv4" gw="10.0.0.1">default</route>
<filetree seq="vnxtxt" root="/tmp">conf/txtfile</filetree>
<!-- Start xeyes application -->
<exec seq="xeyes" type="verbatim" ostype="xexec">xeyes</exec>
<!-- Start xeyes application and wait until it is closed -->
<exec seq="xeyes2" type="verbatim" ostype="xsystem">xeyes</exec>
<!-- Start gedit, maximize the window and show a text file -->
<exec seq="vnxtxt" type="verbatim" ostype="system">chmod 666 /tmp/vnx.txt</exec>
<exec seq="vnxtxt" type="verbatim" ostype="xexec">gedit /tmp/vnx.txt</exec>
<exec seq="vnxtxt" type="verbatim" ostype="xexec">sleep 3; wmctrl -r vnx.txt -b add,maximized_vert,maximized_horz</exec>
<exec seq="vnxtxtoff" type="verbatim" ostype="system">pkill gedit; rm /tmp/vnx.*</exec>
<!-- Start firefox and connect to h3 web server -->
<exec seq="www-h3" type="verbatim" ostype="xexec">firefox http://10.0.2.2</exec>
<exec seq="www-h3-off" type="verbatim" ostype="system">pkill firefox; rm /tmp/vnx.*</exec>
<!-- Start calculator -->
<exec seq="calc" type="verbatim" ostype="xexec">gcalctool</exec>
<exec seq="calcoff" type="verbatim" ostype="system">pkill gcalctool</exec>
</vm>
<vm name="h2" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu</filesystem>
<mem>128M</mem>
<if id="1" net="Net0">
<ipv4>10.0.0.3/24</ipv4>
</if>
<route type="ipv4" gw="10.0.0.1">default</route>
</vm>
<vm name="r1" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu</filesystem>
<mem>128M</mem>
<if id="1" net="Net0">
<ipv4>10.0.0.1/24</ipv4>
</if>
<if id="2" net="Net1">
<ipv4>10.0.1.1/24</ipv4>
</if>
<if id="3" net="Net3">
<ipv4>10.0.3.1/24</ipv4>
</if>
<route type="ipv4" gw="10.0.1.2">10.0.2.0/24</route>
<forwarding type="ip" />
</vm>
<vm name="r2" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu</filesystem>
<mem>128M</mem>
<if id="1" net="Net1" name="s1/0">
<ipv4>10.0.1.2/24</ipv4>
</if>
<if id="2" net="Net2" name="e0/0">
<ipv4>10.0.2.1/24</ipv4>
</if>
<route type="ipv4" gw="10.0.1.1">default</route>
<forwarding type="ip" />
</vm>
<vm name="h3" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu</filesystem>
<mem>128M</mem>
<if id="1" net="Net2">
<ipv4>10.0.2.2/24</ipv4>
</if>
<route type="ipv4" gw="10.0.2.1">default</route>
<!-- Copy the files under conf/tutorial_ubuntu/h3 to vm /var/www directory -->
<filetree seq="start-www" root="/var/www">conf/tutorial_ubuntu/h3</filetree>
<!-- Start/stop apache www server -->
<exec seq="start-www" type="verbatim" ostype="system">chmod 644 /var/www/*</exec>
<exec seq="start-www" type="verbatim" ostype="system">service apache2 start</exec>
<exec seq="stop-www" type="verbatim" ostype="system">service apache2 stop</exec>
</vm>
<vm name="h4" type="libvirt" subtype="kvm" os="linux">
<filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu</filesystem>
<mem>128M</mem>
<if id="1" net="Net2">
<ipv4>10.0.2.3/24</ipv4>
</if>
<route type="ipv4" gw="10.0.2.1">default</route>
<!-- Copy the files under conf/tutorial_ubuntu/h4 to vm /var/www directory -->
<filetree seq="start-www" root="/var/www">conf/tutorial_ubuntu/h4</filetree>
<!-- Start/stop apache www server -->
<exec seq="start-www" type="verbatim" ostype="system">chmod 644 /var/www/*</exec>
<exec seq="start-www" type="verbatim" ostype="system">service apache2 start</exec>
<exec seq="stop-www" type="verbatim" ostype="system">service apache2 stop</exec>
</vm>
<host>
<hostif net="Net3">
<ipv4>10.0.3.2/24</ipv4>
</hostif>
<route type="ipv4" gw="10.0.3.1">10.0.0.0/16</route>
</host>
</vnx>
Mas cosas
sudo vnx -f simple_ubuntu-gui.xml -v --suspend -M ubuntu-gui sudo vnx -f simple_ubuntu-gui.xml -v --resume -M ubuntu-gui
Tutorial_ubuntu-screen-capture.png
Tutorial scenarios (tutorial_root1_XXXX.xml)
- To start the tutorial scenario with linux, FreeBSD, XP and Win7 virtual machines just type:
sudo vnx -f tutorial_root1_all.xml -v --create