Approaches to Virtualization and their Pros & ConsThis is a featured page

This is primarily based off of the Gasper/Langevin/Armitage/Rideout publication titled March of the [Virtual] Machines. The paper explores two different methods of virtualization, and outlines their pros and cons with respect to issues such as cost, overhead, remote access, and scalability. The following addresses some of the main issues that paper focuses on, and as is relevant to our own research.

The authors first place their focus on the needs from a virtual system (within the context of their use within say a networking course), and use it as a basis for comparison between Virtual Machines and Virtual Operating Systems. The authors distinguish between the former style of hardware enabled virtualization (as is exhibited by Xen, VMware) and the latter virtualization which is provided for by theUser Mode Linux (UML) package.
  • In case of UML, instead of creating standalone virtual machines, UML creates aVirtual Operating System that runs on top of the the Linux kernel as another process!
  • This is better suited for educational purposes, and COW (Copy on Write) technology will allow the different "virtual machines" to boot of a shared disk image.

The authors remind us that students should be able to create/destroy/administer multiple VMs (within the specific context of networking and security experimentation). They outline two means of approaching this issue:
  1. Using the VMware suite
  2. Using theMy Linux Network(MLN) package combined with usage of UML:
    • This requires the input of a network description file, which specifies the UML system and switches, network addresses, system size, etc.
    • MLN uses this input file and feeds it to a script which then executes in order to create virtual networks.

Issues with Remotely Accessible Virtualization:
  1. Requires students to carry around virtual hard disk images OR download gigs of image data from a centralized server [Does this mean that the centralized server is the physical host in this case?]
  2. Must run the VM constantly on a physical host to let students use pre-assigned VMs [I'm a little unsure as to the relationship between virtual machines and physical hosts within the context of remote access.]
  3. Limit number of connections to the Virtual Machine server [So does this mean that the virtualization is completely software based?]

NOTE: SOFTICE remotely accesses VMs by using open protocols (X11, ssh).

Scalable Virtual Hosting: This can be achieved by means of Networked Attached Storage (NAS) which addresses the issue of centralized data storage. However there's still the issue of overloading because of hosting multiple VMs on a single Linux server. This leads to a paradoxical problem as is outlined below,
  • A bigger server may be acquired to host multiple VMs for one course
  • This scheme leads to separate physical servers required for different courses incorporating virtualization technology.
  • However, when the course is not scheduled or the enrollment is low, the physical host server is underused or sits idle

This problem is paradoxical because it was to escape the limitations (financial, space, etc) of acquiring external extra hardware which called for the advent of virtualization technology.

Clustering allows for the solution to the above problem. By combining Blade Servers with NAS (this is an example of high end clustering), the VMs are abstracted further from the specifics of storage and computational resources. This is highly scalable because of the following reasons:
  1. As computational demand increases, individualblades (disks) can be easily added to the server.
  2. The system administrator's workload doesn't increase proportional to the addition of extra blades.

The authors implemented clustering by using the Warewulf Clustering Toolkit and the Linux server package (this is an example of low end clustering). The student obtains a static IP address when connecting to the main server which then connects to a virtual cluster which appears to the student as a single machine. As the workload increases, more nodes are added to the cluster to increase its computational power. This is what constitutes load-balancing.
[What is the exact nature of an individual node? Is the master server physical and the node cluster virtual?]

Virtual Appliance : It is a disk image that can be deployed [via external mean?] inside a network(ed) virtual machine to facilitate the dissemination of complex software tasks. The authors implemented this using a Linux based CentOS VMware virtual image. This allows for the virtual image to be deployed on any machine running the VMware server. The virtual image bridges the 2 network interfaces on the physical host - one to the hosting network, and the other to a private switch.

[SOFTICE virtual appliance will then provision with a cluster node image any PXE boot enables PC powered on while connected to the private switch]

Use of virtual appliances as above provides an inexpensive clustering solution to the issues of scalability. Installing and maintenance necessary to manage the master node is encapsulated within the virtual appliance - the system administrator only manages the virtual appliance and the image.




sbanerj1
sbanerj1
Latest page update: made by sbanerj1 , May 15 2008, 3:34 PM EDT (about this update About This Update sbanerj1 critical summarizing of an academic publication - sbanerj1

826 words added

view changes

- complete history)
Keyword tags: None
More Info: links to this page
There are no threads for this page.  Be the first to start a new thread.