Archives For virtualization

related to virtual machines

When using open-source network simulators that use KVM as a virtualization tool, each node in the network simulation is actually a KVM virtual machine so the maximum supported number of nodes in a network simulation is the same as the maximum number of KVM virtual machines that can run on the host computer.

Unfortunately, there seems to be no single authoritative statement about the maximum number of KVM virtual machines that can run on a host computer. Most information I could find about KVM limits does not publish absolute limits but, instead, recommends best practices.

In this post, I will synthesize the information available from many different sources into a single recommendation for the maximum number of KVM-based nodes that can run in an open-source network simulator running on a single host computer.

Continue Reading…

I recently configured an Amazon EC2 instance so that I could run the XFCE desktop environment on it and control it from my local laptop computer using SSH and VNC. But what if I want to use my iPad to do control the remote Amazon EC2 server?

I want to experiment with complex network simulations running on open-source networking software when I happen have the time, from any location with a WiFi connection. I do not always have my laptop with me, but I usually have either my iPad or iPhone.


In this blog post, I will show how to configure and use an iPad (and iPhone) VNC viewer app to view and control the desktop environment running on my Amazon EC2 server.

Continue Reading…

Having set up an Ubuntu Linux server running on a free micro-instance in Amazon’s Web Services EC2 service, I’d like to see how some of the open-source network simulation tools I’ve been using work in the cloud.

First, I will install the CORE Network Emulator on my Amazon AWS EC2 virtual private server. Please read the rest of this post to see how it works.

Continue Reading…

In a previous post, I showed how easy it is to set up a remote server on Amazon’s AWS service. Now I would like see if I can run one or more of the open-source network simulators I’ve been using on this remote server. I want be able to access a network simulator from any device such as a personal computer, a tablet, or even a smart phone.

To accomplish this, I first need to install a Linux desktop environment on the remote Ubuntu server. Then, I need to set up the server and my client devices to allow the graphical user interface displayed on a remote server to be viewed on a local client.

In this post I will show how to install a Linux desktop (in this case, XFCE) and how to set up either VNC or X11 on a server and client.

Continue Reading…

I recently set up a free Amazon AWS server. As I experimented with it, I installed a GUI desktop. Then I encountered some issues that I eventually resolved by creating a new user with its own password and then using that user for the rest of my activities.

For my own reference, and in the hope others will find it useful, here is the procedure I followed:

  1. Create a new userid, with password
  2. Add the new user to the sudoers file
  3. Install the AWS server’s public key for the new user
  4. Log in as the new user

I posted the details in my blog post, below.

Continue Reading…

As an incentive to use their service, Amazon Web Services offers new users a “free tier” of service that provides a VPS “micro-instance” at no cost for one year.


The free tier of service is fairly flexible. Amazon AWS provides enough free hours to run the micro-instance twenty-four hours a day for a year but, if a user needs more services, he or she may create multiple micro instances and run them concurrently, which multiplies the rate the user consumes hours. For example, one could run two micro-instances concurrently every day for six months; or twelve for one month.

In this post, we’ll show how to set up the free server, and how to connect to it using SSH.

Continue Reading…

CORE Services is a feature of the CORE Network Emulator — an open-source network simulator — that configures and starts processes on each node running in a network simulation. Examples of processes supported by CORE Services are: quagga, dhcpd, or radvd.

Because the CORE Network Emulator implements its virtual nodes using a lightweight virtualization technology called Linux namespaces, we cannot use the normal init or upstart scripts to start networking daemons on these nodes. We must use CORE Services.


A benefit of using CORE Services is that they allow us to set up and manage processes running on each node by using the CORE GUI. This may reduce the time required to configure nodes used in a simulation scenario, especially if a large number of nodes require similar configuration procedures. Also, network scenarios that require customized configurations can be saved and used again if those configurations are implemented by customizing CORE Services.

To run complex network simulation scenarios, we must understand how to use CORE Services. In this post we will provide an overview of CORE Services.

Continue Reading…

GNS3: Qemu or VirtualBox?

January 18, 2014

To run virtual nodes in a simulated network, the GNS3 open-source network simulator supports two virtualization technologies: Qemu and VirtualBox. The open-source routers we will use in a GNS3 simulated network must run on either a Qemu or a VirtualBox hypervisor. Depending on one’s requirements, one might choose either VirtualBox or Qemu.

Let me tell you why I prefer VirtualBox over Qemu when using GNS3 to simulate a network of Linux computers running open-source routing and switching software.

Continue Reading…

I’ve been using Parallels Desktop for Mac to run a Debian Linux 6.0 virtual machine. I wanted to install the Parallels Tools in the Debian virtual machine so I could take advantage of better integration between the Linux virtual machine and the Mac OS X host computer.

It wasn’t as straightforward as I thought it would be but it wasn’t hard to figure out. I described the procedure I used below.

Continue Reading…

A photo of Linux virtual machines at Sandia National Laboratory

Sandia National Laboratories computer scientists Ron Minnich (foreground) and Don Rudish (background). Image used with permission by Sandia National Laboratories, as provided in their press release. Photo by Randy Wong.

A network of virtual machines can be used for practical testing and research. Sandia National Laboratories recently announced that they have created a virtual network of three hundred thousand virtual machines, each of which is running the Android operating system, on a single large supercomputer. In the recent past the researchers at Sandia National Laboratories also built a network of one hundred thousand virtual machines running Microsoft Windows and another network of one million virtual machines running the Linux operating system.

Continue Reading…

Debian 8.2 Running

In this article, we will review the procedures required to install Debian Linux in a virtual machine managed by the VirtualBox application. A summary of the procedures is listed below:

  • Download the Debian install DVD.
  • Create a virtual machine using the VirtualBox application.
  • Boot the virtual machine from the DVD image we downloaded
  • Install the Debian Linux operating system on the virtual machine.

We will install Debian Linux because it is the version of Linux that is used by most of the researchers who have developed the network simulation tools we wish to investigate. Also, Debian is a conservative Linux distribution so we can be fairly confident that if we run into issues, we will not need to debug the operating system.

Here is the procedure we followed:

Continue Reading…

Why use a Virtual Machine?

September 30, 2012


I am building a virtual machine that will run the open-source network simulation tools that I want to research. There are good reasons to use a virtual machine for these experiments, even if software running inside a virtual machine may run slightly slower than software running on a native host. Below, I list the benefits of using a virtual machine for this research project.

Continue Reading…