Cloud Computing_ch04.pdf
Document Details
Uploaded by AdoredCharoite
Hashemite University
Tags
Full Transcript
Cloud Computing Majdi Maabreh, Ph.D. Program of Data Science and AI ( ) DR. MAJDI MAABREH, [email protected] Virtualization and Cloud computing CH04 DR. MAJDI MAABREH, [email protected] Definition Virtualization is the creation of virtual (instead of actual ) version of something, such as an operating s...
Cloud Computing Majdi Maabreh, Ph.D. Program of Data Science and AI ( ) DR. MAJDI MAABREH, [email protected] Virtualization and Cloud computing CH04 DR. MAJDI MAABREH, [email protected] Definition Virtualization is the creation of virtual (instead of actual ) version of something, such as an operating system, a server, a storage device or network resources. 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. DR. MAJDI MAABREH, [email protected] Virtualization Simulates the interface to a physical object by: Multiplexing: creates multiple virtual objects from one instance of a physical object. Example - a processor is multiplexed among a number of processes or threads. Aggregation: creates one virtual object from multiple physical objects. Example - a number of physical disks are aggregated into a RAID disk. Emulation: constructs a virtual object from a different type of a physical object. Example - a physical disk emulates a Random Access Memory (RAM). Multiplexing and emulation. Examples - virtual memory with paging multiplexes real memory and disk; a virtual address emulates a real address. DR. MAJDI MAABREH, [email protected] Starting Point: A Physical Machine Physical Hardware ◦ Processors, memory, chipset, I/O devices, etc. ◦ Resources often grossly underutilized Software ◦ Tightly coupled to physical hardware ◦ Single active OS instance ◦ OS controls hardware DR. MAJDI MAABREH, [email protected] What is a Virtual Machine? Software Abstraction ◦ Behaves like hardware ◦ Encapsulates all OS and application state Virtualization Layer ◦ ◦ ◦ ◦ Extra level of indirection Decouples hardware, OS VMM or Hypervisor Enforces isolation Multiplexes physical hardware across VMs DR. MAJDI MAABREH, [email protected] Virtual machines (VMs) VM - isolated environment that appears to be a whole computer, but actually only has access to a portion of the computer resources. Example: VMware Virtual Machine Process VM - a virtual platform created for an individual process and destroyed once the process terminates. Example: Java Virtual Machine (JVM) System VM - supports an operating system together with many user processes. Example: VirtualBox VM running Ubuntu Linux Traditional VM - supports multiple virtual machines and runs directly on the hardware. Example: VMware ESXi Hypervisor with multiple Windows Server VMs DR. MAJDI MAABREH, [email protected] Virtualization Properties, Features Isolation Fault isolation Performance isolation (+ software isolation, …) Encapsulation Cleanly capture all VM state Enables VM snapshots, clones Portability Independent of physical hardware Enables migration of live, running VMs (freeze, suspend,…) Interposition Transformations on instructions, memory, I/O Enables transparent resource overcommitment, encryption, compression, replication … DR. MAJDI MAABREH, [email protected] Conditions for efficient virtualization: A program running under the VMM should exhibit a behavior essentially identical to that demonstrated when running on an equivalent machine directly. The VMM should be in complete control of the virtualized resources. A statistically significant fraction of machine instructions must be executed without the intervention of the VMM. Two classes of machine instructions: Sensitive - require special precautions at execution time. Example: instructions that attempt to change the memory allocation. Not sensitive and do not require special precautions at execution time. Example: basic arithmetic operations. DR. MAJDI MAABREH, [email protected] OS Virtualization It involves placing another instance or multiple instances of an operating system, such as Windows, on a single device. It is a useful way to run Linux and Windows environments side-by-side DR. MAJDI MAABREH, [email protected] Storage Virtualization Pooling of physical storage from multiple network storage devices into single storage device › Storage pool is managed from a central console › Used in Storage Area Network (SAN) › Storage virtualization helps in backup, archiving and recovery more easily and in less time DR. MAJDI MAABREH, [email protected] Network Virtualization Virtual machines are logical computing entities on a physical computers › Network virtualization is the process of dividing bandwidth into multiple, independent channels. › Network virtualization provides multiple VMs to share common bandwidth and network links › Network bridging DR. MAJDI MAABREH, [email protected] Memory Management / Allocation VMMs tend to have simple memory management Static policy: VM gets 8GB at start Dynamic adjustment is hard since OS cannot handle. No swapping to disk. More sophistication: Overcommit with balooning Baloon driver runs inside OS => consume hardware pages Baloon grows or shrinks (gives back mem to other VMs) Even more sophistication: memory de-duplication Identify pages that are shared across VMs! DR. MAJDI MAABREH, [email protected] Memory Ballooning Virtual memory ballooning is a computer memory reclamation technique used by a hypervisor to allow the physical host system to retrieve unused memory from certain guest virtual machines (VMs) and share it with others. DR. MAJDI MAABREH, [email protected] Page Sharing DR. MAJDI MAABREH, [email protected] Hypervisor A hypervisor, a.k.a. a virtual machine manager/monitor (VMM), or virtualization manager, is a program that allows multiple operating systems to share a single hardware host. Each guest operating system appears to have the host's processor, memory, and other resources all to itself. However, the hypervisor is actually controlling the host processor and resources, allocating what is needed to each operating system in turn and making sure that the guest operating systems (called virtual machines) cannot disrupt each other. DR. MAJDI MAABREH, [email protected] Types of Hypervisor Native/Bare metal (Type 1) – Higher performance – ESX, Xen, HyperV Hosted (Type 2) – Easier to install – Leverage host’s device drivers – VMware Workstation, Parallels DR. MAJDI MAABREH, [email protected] Using VMware Player VMware Workstation Player is a Type 2 hypervisor With it you can create, manage, and run virtual machines Free download at https://customerconnect.vmware.com/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0 DR. MAJDI MAABREH, [email protected] Using VMware Player DR. MAJDI MAABREH, [email protected] Using VMware Player As a Type 2 hypervisor it is installed like most Windows applications. Simple (minimal configuration options) DR. MAJDI MAABREH, [email protected] Building a New Virtual Machine Creating a new VM is really all about configuring the virtual hardware. How many vCPUs? How much memory? How much storage? Etc. Process is wizard driven DR. MAJDI MAABREH, [email protected] Building a New Virtual Machine Some (virtual) hardware devices are added by default; others can be added based on need DR. MAJDI MAABREH, [email protected] Building a New Virtual Machine When sizing a virtualization host, since a single pCPU (Physical CPU) is not 100% busy (the reason for consolidation), one pCPU can service multiple vCPUs (Virtual CPU) ◦ Follow vendor recommendations but understand the workloads In a four-processor quad-core system, at 1:1, 16 vCPUs can be configured The same system, at 5:1, 80 vCPUs, 10:1 would be 160 vCPUs DR. MAJDI MAABREH, [email protected] DR. MAJDI MAABREH, [email protected] Building a New Virtual Machine DR. MAJDI MAABREH, [email protected] Building a New Virtual Machine DR. MAJDI MAABREH, [email protected] Examine the Virtual Machine The Linux virtual machine can only see what it has been allocated 2 GB memory 20 GB of disk. DR. MAJDI MAABREH, [email protected] Examine the Virtual Machine DR. MAJDI MAABREH, [email protected] Edit/Remove VM DR. MAJDI MAABREH, [email protected] Hyper-V on Windows 10 Enable the Hyper-V role through Settings Right click on the Windows button and select ‘Apps and Features’. Select Programs and Features on the right under related settings. Select Turn Windows Features on or off. Select Hyper-V and click OK. DR. MAJDI MAABREH, [email protected] Hyper-V on Windows 10, Make virtual machines DR. MAJDI MAABREH, [email protected] Hyper-V on Windows 10, Make virtual machines Don't forget to watch the instructional video on our MS Teams channel! DR. MAJDI MAABREH, [email protected] References Mark Grechanik, Cloud Computing: Theory and Practice (Third Edition: 2022) Mastering Cloud Computing: Foundations and Applications Programming (1st Edition, 2013) DR. MAJDI MAABREH, [email protected]