VNUML Specification |
Limitations |
Linux Kernels |
Root filesystems |
Starting Simulation |
VNUML over different Linux distributions |
VNUML Frequently Asked Questions
Author:
|
|
Writing the VNUML specification | |
How can I check if my VNMUL XML specification is correct? Whenever vnuml tool is executed, the specification is checked and will give you some error messages in case the specification is not correct. Alternatively, you can check your specification using the xmlwf command that comes with expat distribution (needed to run VNUML). The xmllint command (comes with libxml package) also could be used for the same task. |
|
Limitations | |
What is the maximum virtual networks number? There are two hard limits in the number of simultaneous virtual networks (ie, how many <net> can vnumlparser.pl manage).
So, if you want to use as many virtual networks as your physical host could cope, use at least bridge-utils 0.9.7 (available just as tarball at http://sourceforge.net/projects/bridge/ at time of this writting) and Linux Kernel 2.6.5. |
|
Linux Kernels for VNUML | |
How can I know which kernel options were used when compiling a UML linux kernel? Just execute the kernel with "--showconfig" option. For example, to know if a UML linux kernel has IPv6 support just type: > linux --showconfig | grep IPV6 |
|
About root filesystems | |
I have changed the filesystem used by a virtual machine, but when I start the simulation it seems to use the old one. If you are using "COW" filesystems as recommended, you have to delete the old cow file before starting the simulation with the new filesystem. The reason is that cow files save a reference to the root file system they are derived from. To delete a cow file you can directly delete the file (normally located in /var/vnuml/sim-name/vm-name_cow_fs) or just use the "purge" option ("-P") of vnuml. I am using .root_fs_tutorial. root filesystem and I see that Apache web server (or any other service) is not automatically started when the virtual machine boots, why? How can I make it start from the beginning? Most of the services are not started from the beginning to speed up virtual machines boot up process during the scenario start-up (-t option). It is recommended to start the services you need using "<start>" commands inside your VNUML specification. For example, to start apache2, you can include the following command: <start type="verbatim">/usr/sbin/apache2ctl start</start> Alternatively, you can use "update-rc.d" commadn to restore the scripts that start apache2 during boot process. Just start the virtual machine (using, for example, the update-fs.xml example), enter inside it through the console or using ssh, and type: > update-rc.d apache2 defaults | |
Starting the simulation (-t option) | |
The simulation does not to start correctly. Some (or all) of the virtual machines do not start and the program keeps saying "xxx sshd is not ready..." There are several causes that can prevent a simulation from start correctly. If that happens you can:
|
|
VNUML over different Linux distributions | |
I've tested VNUML over Suse 9.1 and SuSE 10.0 and it works, but when I release the simulation, I loose the network connectivity (eth0 interface is unconfigured). The problem is caused by something strange in Suse 9.1 original kernel and it's related with the utilization of "eth0" token in virtual interface names. Since vnumparser.pl 1.4.0, the "SuSE patch" is applied automactly at installation time (make install), so you shouldn't worry about this problem. Moreover, current vnumlparser.pl has been improved in order not to use "eth0" token in host interface names, so the problem disapears completely. I've problems testing VNUML over the latest linux distributions which include kernel versions newer than 2.6.5. The simulations do never start or they are not correctly released. What can I do? The latest host kernel version VNUML (and UML) works correctly over it is 2.6.5. Tests made over newer host kernels has shown several problems, particularly simulations that never start or never die. From the tests made so far, most of the problems are solved using the latests skas patchs on the host kernel and the latest "bb" patchs on the guest kernel. So, the recomended environment consist on:
Patches can be found in BlaisorBlade UML web pages. See next question for more information on this subject. I have installed host kernel 2.6.9-skas3-v7 and I use a 2.6.9-bb4 guest kernel as you recomend, but when I release the simulations, a "zombie" process named "[linux-2.6.9-bb4-1m]" remains on the system. If I don't kill it manually, the next simulation fails. What can I do? It seems to be a problem related with xterminals. There are two known solutions:
|
|
|