Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Write-up points:
1. What is virtualization?
Virtualization is the ability to run multiple operating systems on a single physical system and share
the underlying hardware resources.
It is the process by which one computer hosts the appearance of many computers. Virtualization is
used to improve IT throughput and costs by using physical resources as a pool from which virtual
resources can be allocated.
Virtualization is a framework or methodology of dividing the resources of a computer into multiple
execution environments, by applying one or more concepts or technologies such as hardware and
software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of
service, and many others..
We’re used to a simple equation, one physical machine runs one OS at any given time.
By virtualizing the machine, we are able to run several operating systems (and all of their
applications) at the same time.
2. Need of virtualisation
Virtualization essentially means to create multiple, logical instances of software or hardware on a
single physical hardware resource. This technique simulates the available hardware and gives every
application running on top of it, the feel that it is the unique holder of the resource. The details of the
virtual, simulated environment are kept transparent from the application.
Organizations may use this technique as illustrated by the video to actually do away with many of their
physical servers and map their function onto one robust, evergreen physical server.
The advantage here is the reduced cost of maintenance and reduced energy wastage which is not very
surprising. As you have fewer physical servers, you need only maintain them and therefore maintenance
becomes much easier and cheaper too.
As for energy conservation, it is fairly implicit. The amount of energy wasted is a function of the number of
physical servers which is clearly much lower in a virtualized environment.
Also as far as desktop virtualization is concerned, as the video points out, updates may now be made
available much sooner as a single firmware update does not update one client machine, but several
instances of the same.
3. Types of virtualisation
The main types include application, desktop, user, storage and hardware:
i. Emulation
A virtual machine simulates the entire hardware set needed to run unmodified guests for completely
different hardware architectures.It is Used to create new Operating Systems for the hardware which
is in design phase and not in physical form.
Examples: Bochs and QEMU
v. Application virtualization allows the user to access the application, not from their workstation, but
from a remotely located server. The server stores all personal information and other characteristics
of the application, but can still run on a local workstation. Technically, the application is not installed,
but acts like it is.
vi. Desktop virtualization allows the users’ OS to be remotely stored on a server in the data center,
allowing the user to then access their desktop virtually, from any location.
vii. User virtualization is pretty similar to desktop, but allows users the ability to maintain a fully
personalized virtual desktop when not on the company network. Users can basically log into their
“desktop” from different types of devices like smartphones and tablets. With more companies
migrating, desktop and user virtualization are becoming increasingly popular.
viii. Storage virtualization is the process of grouping the physical storage from multiple network storage
devices so that it acts as if it’s on one storage device.
Disadvantages of Virtualization:
The disadvantages of virtualization are mostly those that would come with any technology transition. With
careful planning and expert implementation, all of these drawbacks can be overcome.
Upfront costs. The investment in the virtualization software, and possibly additional hardware might
be required to make the virtualization possible. This depends on your existing network. Many
businesses have sufficient capacity to accommodate the virtualization without requiring a lot of
cash. This obstacle can also be more readily navigated by working with a Managed IT Services
provider, who can offset this cost with monthly leasing or purchase plans.
Software licensing considerations. This is becoming less of a problem as more software vendors
adapt to the increased adoption of virtualization, but it is important to check with your vendors to
clearly understand how they view software use in a virtualized environment to a
Possible learning curve. Implementing and managing a virtualized environment will require IT staff
with expertise in virtualization. On the user side a typical virtual environment will operate similarly
to the non-virtual environment. There are some applications that do not adapt well to the virtualized
environment – this is something that your IT staff will need to be aware of and address prior to
converting.
.
Example:
virt-manager:
The virt-manager application is a desktop user interface for managing virtual machines through
libvirt. It primarily target KVM VMs, but also manages Xen and LXC. It present a summary view of running
domains, their live performance & resource utilization statistics. Wizards enables the creation of new
domains, and configuration & adjustment of a domain's resource allocation & virtual hardware.
6. Explain KVM
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware
containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that
provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each
virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.
KVM is open source software. The kernel component of KVM is included in mainline Linux, as of 2.6.20. The
userspace component of KVM is included in mainline QEMU, as of 1.3.
KVM does not perform any emulation. Instead, it exposes the /dev/kvm interface, which a userspace host
can then use to:
Set up the guest VM's address space. The host must also supply a firmware image (usually a custom
BIOS when emulating PCs) that the guest can use to bootstrap into its main OS.
Feed the guest simulated I/O.
Map the guest's video display back onto the host.
On Linux, QEMU versions 0.10.1 and later is one such userspace host. QEMU uses KVM when available to
virtualize guests at near-native speeds, but otherwise falls back to software-only emulation.
7. Explain:
1. Qemu:
QEMU (short for Quick Emulator) is a free and open-source hosted hypervisor that
performs hardware virtualization (not to be confused with hardware-assisted virtualization).
QEMU is a hosted virtual machine monitor: It emulates CPUs through dynamic binary translation and
provides a set of device models, enabling it to run a variety of unmodified guest operating systems.
It also can be used together with KVM in order to run virtual machines at near-native speed
(requiring hardware virtualization extensions on x86 machines). QEMU can also be used purely for
CPU emulation for user-level processes, allowing applications compiled for one architecture to be
run on another.
Following are the features of QEMU:
QEMU can save and restore the state of the virtual machine with all programs running. Guest
operating-systems do not need patching in order to run inside QEMU.
The virtual machine can interface with many types of physical host hardware. These include: hard
disks, CD-ROM drives, network cards, audio interfaces, and USB devices.
Virtual disk images can be stored in a special format (qcow or qcow2) that only take up disk space
that the guest OS actually uses.
QEMU can emulate network cards (of different models) which share the host system's connectivity
by doing network address translation, effectively allowing the guest to use the same network as
the host.
The virtual network cards can also connect to network cards of other instances of QEMU or to
local TAP interfaces.
QEMU integrates several services to allow the host and guest systems to communicate;
QEMU does not require administrative rights to run, unless additional kernel modules for improving
speed are used (like KQEMU), or when some modes of its network connectivity model are
utilized.
2. LibVirt
Lib-virt is
A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes),
see our project goals for details.
Free software available under the GNU Lesser General Public License.
A long term stable C API
A set of bindings for common languages
A CIM provider for the DMTF virtualization schema
A QMF agent for the AMQP/QPid messaging system
A technical meritocracy, in which participants gain influence over a project through recognition of
their contributions.
The KVM/QEMU Linux hypervisor
The Xen hypervisor on Linux and Solaris hosts.
The LXC Linux container system
The OpenVZ Linux container system
The User Mode Linux paravirtualized kernel
The VirtualBox hypervisor
The VMware ESX and GSX hypervisors
The VMware Workstation and Player hypervisors
The Microsoft Hyper-V hypervisor
The IBM PowerVM hypervisor
The Virtuozzo hypervisor
The Bhyve hypervisor
Virtual networks using bridging, NAT, VEPA and VN-LINK.
Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems