CC CW Chapter 2
CC CW Chapter 2
Virtualization refers to the process of creating a virtual version of computing resources such as servers,
storage devices, or networks. By utilizing software to divide a physical system into multiple virtual
environments, it allows multiple applications or operating systems to run simultaneously on the same
hardware.
Virtualization is a key technology in enterprise IT and forms the backbone of modern computing trends
like cloud computing, utility computing, and autonomic computing.
Benefits of Virtualization
1. Lower Costs: Reduces the need for multiple physical servers, minimizing hardware purchase
and maintenance expenses. Saves energy costs by using fewer resources for the same operations.
2. Easier Disaster Recovery: Virtual environments allow quick backups and restoration using
automated snapshots, enabling rapid recovery in case of emergencies.
3. Easier Testing: Testing environments can be reset to previous states using snapshots,
simplifying iterative testing and error resolution.
4. Quicker Backups: Automated snapshots ensure data is regularly updated and easily backed up.
Virtual servers can be rapidly migrated and redeployed as needed.
5. Improved Productivity: Simplifies server management, allowing IT teams to focus on strategic
tasks rather than routine maintenance.
6. Environmental Benefits: Reduces the carbon footprint by decreasing hardware requirements,
energy consumption, and cooling needs, promoting sustainability.
Drawbacks of Virtualization
1. Network Virtualization:
• Combines network resources by splitting bandwidth into independent channels.
• Channels can be assigned or reassigned to servers or devices in real-time.
• Simplifies network management by separating it into manageable parts.
2. Storage Virtualization:
• Pools physical storage from multiple devices into a single virtual storage device.
• Managed from a central console.
• Commonly used in storage area networks (SANs).
3. Server Virtualization:
• Masks server resources (physical servers, processors, OS) from users.
• Increases resource sharing and utilization.
• Uses hypervisors (Type 1 on bare metal, Type 2 on host OS) to enable virtualization.
4. Data Virtualization:
• Abstracts technical details of data (location, performance, format).
• Provides broader access and resiliency.
• Focuses on meeting business needs.
5. Desktop Virtualization:
• Virtualizes a workstation load, allowing remote access.
• Typically uses a thin client at the desk.
• Enhances security and portability by running the workstation in a data center server.
6. Application Virtualization:
• Abstracts the application layer from the operating system.
• Allows applications to run in an encapsulated form, independent of the underlying OS.
• Enables cross-platform compatibility (e.g., Windows apps on Linux) and adds isolation.
3. Compare paravirtualization and full virtualization (IA1)
A hypervisor is virtualization software that divides and allocates hardware resources, enabling multiple
guest operating systems to run on a single host system simultaneously. It acts as a Virtual Machine
Manager (VMM), facilitating resource partitioning, isolation, and abstraction.
Types of Hypervisors
1. Type-1 Hypervisor (Bare Metal)
• Runs directly on hardware without requiring a host OS.
• Examples: VMware ESXi, Citrix XenServer, Microsoft Hyper-V.
Pros:
• Direct access to physical hardware ensures high performance and efficiency.
• Enhanced security due to the absence of a third-party layer.
Cons:
• Requires dedicated hardware, increasing setup complexity and cost.
• Hardware-level virtualization inserts a layer between real hardware and traditional operating
systems.
• This layer is commonly called the Virtual Machine Monitor (VMM) and it manages the hardware
resources of a computing system.
• Any program that runs under a VMM should exhibit a function identical to that which it runs on
the original machine directly.
There are three requirements for a VMM:
1. A VMM should provide an environment for programs which is essentially identical to the original
machine.
2. Programs run in this environment should show, at worst, only minor decreases in speed.
3. A VMM should be in complete control of the system resources.
• The hardware resource requirements, such as memory, of each VM are reduced, but the sum of
them is greater than that of the real machine installed.
• A VMM should demonstrate efficiency in using the VMs.
Service Providers:
• It allows old or incompatible software to run on modern hardware by emulating the original
hardware environment.
• Example: Binary translation used in full virtualization, where guest instructions are translated
into host instructions.
2) Hardware Abstraction Level (HAL):
• HAL focuses on managing and sharing physical hardware resources like the CPU, memory, and
input-output devices.
• It uses a special software layer called a hypervisor to create and run virtual machines.
• In cloud computing, this allows multiple users or applications to use the same physical hardware
while running independently in their own virtual environments.
3) Operating System Level:
• It focuses on using APIs from libraries, allowing applications to interact with the system
efficiently.
• It's preferred for simplifying processes using well-documented APIs over the entire OS.
• API Hooks: These are control points that manage communication between the application and
the system, making the process smoother.
5) Application Level:
• This is used when you want to virtualize only a single application instead of the entire system.
• The application runs on top of the virtualization layer, which itself sits on the application
program.
8. Compare implementation level of virtualization
Key Features
• Micro-kernel Design: Separates the core virtualization mechanism from policy management.
• Domain 0 (Dom0): A privileged virtual machine that manages hardware, devices, and allocates
resources to other guest OSes (Domain U).
• Device Driver Model: Does not include native drivers; guest OSes access physical devices
directly, reducing hypervisor complexity.
• Security: Based on Linux with C2-level security certification, ensuring robust access control.
• Scalability: Supports multiple guest OS instances with efficient resource utilization.
• Modularity: Consists of the hypervisor, kernel, and user-space applications for flexibility and
performance.
Advantages
• Simplifies management of virtual machines with features like creating, copying, saving,
migrating, and rolling back VMs.
• Provides a small and efficient hypervisor footprint, improving performance.
• Commercial versions add enterprise-grade features and support.
• Supports para-virtualization and hardware-assisted virtualization, enhancing compatibility and
performance.
Disadvantages
• Security Risks: Domain 0 acts as a single point of failure; compromising it could affect the
entire system.
• Device Dependency: Relies on guest OSes for device drivers, which could limit compatibility.
• Complexity in Management: Requires strong policies and monitoring to mitigate risks in
software and data lifecycles.
• Limited Native Tools: Some features require additional tools or integration for optimal use.