CLOUD COMPUTING IT0530 G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University
What is virtualization? Virtualization is way to run multiple operating systems and user applications on the same hardware. E.g., run both Windows and Linux on the same laptop
Uses of virtualization Server consolidation Run a web server and a mail server on the same physical server Easier development Develop critical operating system components (file system, disk driver) without affecting computer stability QA Testing a network product (e.g., a firewall) may require tens of computers Try testing thoroughly a product at each pre-release milestone and have a straight face when your boss shows you the electricity bill
Cloud computing The modern buzz-word Amazon sells computing power You pay for e.g., 2 CPU cores for 3 hours plus 10GB of network traffic
CPU Virtualization User level applications run in Ring 3, the operating system needs to have direct access to the memory and hardware and must execute its privileged instructions in Ring 0. Virtualizing the x86 architecture requires placing a virtualization layer under the operating system to create and manage the virtual machines that deliver shared resources. VMware resolved the challenge in 1998, developing binary translation techniques. x86 privilege level architecture without virtualization
Three alternative techniques now exist for handling sensitive and privileged instructions to virtualize the CPU on the x86 architecture Full virtualization using binary translation OS assisted virtualization or paravirtualization Hardware assisted virtualization (first generation)
Technique 1 Full Virtualization using Binary Translation Translates kernel code to replace nonvirtualizable instructions with new sequences of instructions that have the intended effect on the virtual hardware. User level code is directly executed on the processor for high performance virtualization. The guest OS is not aware it is being Virtualized and requires no modification. Full virtualization offers the best isolation and security for virtual machines The binary translation approach to x86 virtualization
Technique 2 OS Assisted Virtualization or Paravirtualization Modifying the OS kernel to replace nonvirtualizable instructions with hypercalls that communicate directly with the virtualization layer. Paravirtualization is different from full virtualization, where the unmodified OS does not know it is virtualized and sensitive OS calls are trapped using binary translation. The performance advantage of paravirtualization over full virtualization can vary greatly depending on the workload The Paravirtualization approach to x86 Virtualization
Paravirtualization cannot support unmodified operating systems (e.g. Windows 2000/XP). The open source Xen project is an example of paravirtualization that virtualizes the processor and memory using a modified Linux kernel and virtualizes the I/O using custom guest OS device drivers. It is very difficult to build the more sophisticated binary translation support necessary for full virtualization, modifying the guest OS to enable paravirtualization is relatively easy.
Technique 3 Hardware Assisted Virtualization Intel Virtualization Technology (VT x) and AMD s AMD V which both target privileged instructions with a new CPU execution mode feature that allows the VMM to run in a new root mode below ring 0. Privileged and sensitive calls are set to automatically trap to the hypervisor, removing the need for either binary translation or paravirtualization The hardware assist approach to x86 virtualization
Storage Virtualization Process of presenting a logical view of physical storage resources to hosts Logical storage appears and behaves as physical storage directly connected to host Examples of storage virtualization are: Host based volume management LUN creation Tape virtualization Benefits of storage virtualization: Increased storage utilization Adding or deleting storage without affecting application s availability Non disruptive data migration
Storage Virtualization Challenges Scalability Ensure storage devices perform appropriate requirements Functionality Virtualized environment must provide same or better functionality Must continue to leverage existing functionality on arrays Manageability Virtualization device breaks end to end view of storage infrastructure Must integrate existing management tools Support Interoperability in multivendor environment
Storage Virtualization in Three Layers of Infrastructure server With traditional storage hardware devices that connected directly to servers, the actual magnetic disk was presented to servers and their operating systems as LUNs, where the disk was arranged into sectors comprised of a number of fixed size blocks. To allow applications to not only store, but find information easily, the operating system arranged these blocks into a file system. Much like a paper based filing system, a file system is simply a logical way of referencing these blocks into a series of unique files, each with a meaningful name and type so they can be easily accessed.
Storage Network Network based storage virtualization embeds the intelligence, managing the storage resources in the network layer. Abstracting the view of real storage resources between the server and the storage array, either in band orout of band.
In-Band-Approach The in band approach, sometimes referred to as symmetric. It embeds the virtualization functionality in the I/O (input/output) path between the server and storage array. It can be implemented in the SAN switches themselves.
IN-BAND Approach
All I/O requests, along with the data, pass through the device, with the server interacting with the virtualization device, never directly with the storage device. The virtualization device analyzes the request, consults its mapping tables, and, in turn, performs I/O to the storage device. These devices not only translate storage requests but are also able to cache data with their onboard memory.
It also provides Metrics on data Usage Manage replication services Orchestrate data migration Implement thin provisioning.
Out-Of-Band Approach The out of band approach, sometimes referred to as asymmetric. It does not strictly reside in the I/O path like the in band approach. The servers maintain direct interaction with the storage array through the intelligent switch. The out of band appliance maintains a map (often referred to as meta data ) of all the storage resources connected in the SAN and instructs the server where to find it.
Out-Of-Band Approach
It uses special software or an agent, as instructions need to be sent through the SAN to make it work. Functions such as caching of data are not possible. However, only the in band approach increased performance.
Both in band and out of band approaches provide virtualization with the ability to: 1. Pool heterogeneous vendor storage products in a seamless accessible pool. 2. Perform replication between non like devices. 3. Provide a single management interface.
Drawbacks Implementation can be very complex because the pooling of storage requires the storage extents to be remapped into virtual extents. Clustering is needed to protect the mapping tables and maintain cache consistency which can be very risky. The I/O can suffer from latency, impacting performance and scalability due to the multiple steps required to complete the request.
Decoupling the virtualization from the storage once it has been implemented is impossible because all the meta data resides in the appliance. Solutions on the market only exist for fibre channel (FC) based SANs. These devices are not suitable for Internet protocol (IP) based SANs. Since both approaches are dependent on the SAN, they require additional switch ports, which involves additional zoning complexity.
When migrating data between storage systems, the virtualization appliance must read and write the data through the SAN, check status coming back, and maintain a log for any changes during the move that impact performance. Specialized software needs to be installed on all servers, making it difficult to maintain.
Storage controller Enterprise class storage arrays, which have features and capability suitable for large organizations, have always featured virtualization capabilities (some more than others) to enhance the physical storage resource. One example of this is RAID, for providing data protection from disk failures
Many enterprise class devices incorporate sophisticated switching architectures. with multiple physical connections to disk drives. The external storage assets presented to it are then discovered and managed in the same way as internal disks.
This approach has a number of benefits, including not requiring a remapping of LUNs and increasing extents. Once virtualized in this manner, the sophisticated microcode software that resides on the storage controller presents the external storage.
Controller based storage virtualization allows external storage to appear as if it s internal.
Leveraging mature enterprise class features, data can be migrated non disruptively from one pool to another, and replication can take place between non like and like storage. Partitioning can be implemented to allocate resources such as ports, cache, and disk pools to particular workloads.
Advantages Capabilities such as replication, partitioning, migration, and thin provisioning are extended to legacy storage arrays. Heterogeneous data replication between nonlike vendors or different storage classes reduces data protection costs. Interoperability issues are reduced as the virtualized controller mimics a server connection to external storage.