CHAPTER 3: Virtual Machines and Virtualization of Clusters and Data Centers
1
SUMMARY
2
3.1 IMPLEMENTATION LEVELS OF VIRTUALIZATION
3
enhance resource sharing by many users and improve computer performance
in terms of resource utilization and application flexibility.
3.1.1 Levels of Virtualization Implementation
4
shown in Figure 3.1(b).
3.1.1 Levels of Virtualization Implementation
5
2.1.2 Design Objectives of Computer Clusters
6
3.1.1.1 Instruction Set Architecture Level
7
3.1.1.2 Hardware Abstraction Level
users concurrently.
Section 3.3.
8
3.1.1.3 Operating System Level
9
3.1.1.4 Library Support Level
lengthy system calls by the OS.
10
3.1.1.5 User-Application Level
11
class of VM.
3.1.1.6 Relative Merits of Different Approaches
12
different VMs.
3.1.2 VMM Design Requirements and Providers
13
3.1.2 VMM Design Requirements and Providers
14
physical machine, no one prefers a VMM if its efficiency is too low.
3.1.2 VMM Design Requirements and Providers
15
3.1.2 VMM Design Requirements and Providers
16
3.1.3 Virtualization Support at the OS Level
17
18
3.1.3 Virtualization Support at the OS Level
3.1.3.1 Why OS-Level Virtualization?
19
kernel. Therefore, OS-level virtualization is also called single-OS image virtualization.
3.1.3.1 Why OS-Level Virtualization?
20
3.1.3.2 Advantages of OS Extensions
21
3.1.3.3 Disadvantages of OS Extensions
22
23
3.1.3.4 Virtualization on Linux or Windows Platforms
Example 3.1 Virtualization Support for the Linux Platform
24
25
3.2 VIRTUALIZATION STRUCTURES/TOOLS AND MECHANISMS
They both perform the same virtualization operations.
26
its OS.
3.2.1.1 The Xen Architecture
27
28
mechanism.
hypervisors, among them are Citrix XenServer [62] and Oracle VM [42].
3.2.1.1 The Xen Architecture
29
3.2.2 Binary Translation with Full Virtualization
30
3.2.2.1 Full Virtualization
31
efficiency, but also can ensure system security.
3.2.2.2 Binary Translation of Guest OS Requests Using a VMM
32
behavior-sensitive instructions.
guest OS is unaware that it is being virtualized.
3.2.2.2 Binary Translation of Guest OS Requests Using a VMM
33
3.2.2.3 Host-Based Virtualization
34
3.2.3 Para-Virtualization with Compiler Support
35
3.2.3 Para-Virtualization with Compiler Support
36
3.2.3 Para-Virtualization with Compiler Support
37
must support the unmodified OS as well.
greatly due to workload variations.
38
3.2.3 Para-Virtualization with Compiler Support
KVM (Kernel-Based VM)
3.2.3.3 Para-Virtualization with Compiler Support
39
sensitive instructions with hypercalls to the hypervisor or VMM.
guest OS emulates the behavior of the original guest OS.
Example 3.3 VMware ESX Server for Para-Virtualization
40
network and disk controllers, and human interface devices.
Example 3.3 VMware ESX Server for Para-Virtualization
41
3.3 VIRTUALIZATION OF CPU, MEMORY, AND I/O DEVICES
42
3.3.1 Hardware Support for Virtualization
43
controlled access of critical hardware.
unprivileged instructions.
3.3.2 CPU Virtualization
44
executed outside this mode.
3.3.2 CPU Virtualization
45
3.3.2 CPU Virtualization
46
passes control back to the guest OS kernel.
the VM, it causes a small performance penalty.
3.3.2.1 Hardware-Assisted CPU Virtualization
47
level (some people call it Ring-1) to x86 processors.
the hypervisor automatically.
modification.
3.3.3 Memory Virtualization
48
OS and the VMM, respectively: 1) virtual memory to physical memory and
2) physical memory to machine memory.
3.3.3 Memory Virtualization
49
3.3.3 Memory Virtualization
already handles virtual-to-physical translations as defined by the OS.
50
3.3.4 I/O Virtualization
51
1) full device emulation, 2) para-virtualization, and 3) direct I/O.
3.3.4 I/O Virtualization
52
3.3.4 I/O Virtualization
and 2) a backend driver.
53
3.3.4 I/O Virtualization
54
device emulation, hardware-assisted I/O virtualization is critical.
3.3.4 I/O Virtualization
55
[47].
3.4 VIRTUAL CLUSTERS AND RESOURCE MANAGEMENT
56
3.4.1 Physical versus Virtual Clusters
57
network across several physical networks.
3.4.1 Physical versus Virtual Clusters
58
3.4.1 Physical versus Virtual Clusters
59
3.4.1 Physical versus Virtual Clusters
60
3.4.1 Physical versus Virtual Clusters
61
such as programming libraries and applications can be installed to those instances.
3.4.1 Physical versus Virtual Clusters
62
3.4.1.1 Fast Deployment and Effective Scheduling Fast Deployment
63
physical node inside clusters as fast as possible.
3.4.1.1 Fast Deployment and Effective Scheduling Effective Scheduling
64
implement green computing without influencing the performance of clusters.
3.4.1.2 High-Performance Virtual Storage
65
3.4.1.2 High-Performance Virtual Storage
inefficient when managing a large group of VMs.
66
3.4.2 Live VM Migration Steps and Performance Effects
67
cluster. The advantage is enhanced failover flexibility.
3.4.2 Live VM Migration Steps and Performance Effects
68
3.4.2 Live VM Migration Steps and Performance Effects
failure, one VM can be replaced by another VM.
69
3.4.2 Live VM Migration Steps and Performance Effects
stored back to the disk.
70
3.4.2 Live VM Migration Steps and Performance Effects
71
3.4.2 Live VM Migration Steps and Performance Effects
72
As shown in Figure 3.20, live migration of a VM consists of the following six steps:
3.4.2 Live VM Migration Steps and Performance Effects
73
3.4.2 Live VM Migration Steps and Performance Effects
74
3.4.2 Live VM Migration Steps and Performance Effects
75
3.4.2 Live VM Migration Steps and Performance Effects Alternative Approaches
76
3.4.2 Live VM Migration Steps and Performance Effects Alternative Approaches
77
3.4.3 Migration of Memory, Files, and Network Resources
3.4.3.1 Memory Migration:
typical system today, and it needs to be done in an efficient manner.
there being no currently executing instance of a VM) is high.
sub-files. A copy of this tree exists in both the suspended and resumed VM instances.
78
3.4.3 Migration of Memory, Files, and Network Resources
79
3.4.3.2 File System Migration
the contents of this virtual disk along with the other states of the VM.
3.4.3 Migration of Memory, Files, and Network Resources
80
3.4.3.2 File System Migration
3.4.3 Migration of Memory, Files, and Network Resources
3.4.3.3 Network Migration
new port.
81