🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Unit-3 (1).pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

UNIT 3 RESOURCE VIRTUALIZATION Structure 3.0 Introduction 3.1 Objectives 3.2 Virtualization and Underlying Abstraction 3.3 Characteristic Features of Virtualization 3.3.1 Advancement in Security 3.3.2 Managing of Execution 3.4...

UNIT 3 RESOURCE VIRTUALIZATION Structure 3.0 Introduction 3.1 Objectives 3.2 Virtualization and Underlying Abstraction 3.3 Characteristic Features of Virtualization 3.3.1 Advancement in Security 3.3.2 Managing of Execution 3.4 Advantages of Virtualization 3.5 Machine or Server Level Virtualization 3.6 Hypervisor 3.7 Full Virtualization 3.8 Para-Virtualization 3.9 Other Virtualization Techniques 3.9.1 Network Virtualization 3.9.2 Storage Virtualization 3.9.3 Desktop Virtualization 3.9.4 Operating System Virtualization 3.9.5 Data Virtualization 3.9.6 Application Virtualization 3.10 VMware Vs XenServer 3.11 Summary 3.12 Solutions/Answers 3.13 Further Readings 3.0 INTRODUCTION Cloud Computing has gained immense popularity due to the availability of scalable Infrastructure as a Services, Platform as a Service, and Software as a Services. This is a framework where different kinds of services related to networks, computing resources, storage, development platform, and application are provisioned through the internet. In this respect, the basic information of cloud computing is already discussed in the previous unit. In this unit, we will discuss the basics of virtualization, its advantages, and its underlying abstraction. It is to be noted that virtualization is the fundamental technology that helps to create an abstraction layer that hides the intricacy of the underlying hardware. The virtualization technique provides a secure and isolated environment for any user application such that one running application does not affect the execution of another application. Further, in this unit, we will learn about server-level virtualization and explore different hypervisor- based virtualization approaches. We will also discuss operating system-level virtualization, network virtualization, storage virtualization, and desktop virtualization. Finally, a brief comparison will be done on hypervisors like XenServer and VMware. 1 Cloud Computing Fundamentals and Virtualization 3.1 OBJECTIVES After going through this unit you should be able to: describe virtualization and its advantages; understand the concept of machine or server-level virtualization; learn about the hypervisor-based virtualization approaches; understand the basics of the operating system, network, storage, and desktop virtualization; and compare among XenServer and VMware. 3.2 VIRTUALIZATION AND UNDERLYING ABSTRACTION Virtualization is a key technology that creates an abstraction to hide the complexity of computing infrastructure, storage, and networking. Though virtualization technology has been around for the last 50 years, its popularity has increased with the advancement of cloud computing. In a cloud environment virtualization allows maximum customization and control over hardware resources and enables the utilization of hardware resources to their maximum capacity. Virtualization allows the creation of an abstract layer over the available system hardware elements like processor, storage, memory, and different customized computing environments. The computing environment which is created is termed virtual as it simulates an environment similar to a real computer with an operating system. The use of the virtual version of the infrastructure is smooth as the user finds almost no difference in the experience when compared to a real computing environment. One of the very good examples of virtualization is hardware virtualization. In this kind of virtualization, customized virtual machines that work similarly to the real computing systems are created. Software that runs on this virtual machine cannot directly access the underlying hardware resources. For example, consider a computer system that runs Linux operating system and simultaneously host a virtual machine that runs Windows operating system. Here, the Windows operating system will only have access to hardware that is allocated to virtual machines. Hardware virtualization plays an important role in provisioning the IaaS service of cloud computing. Some of the other virtualization technologies for which virtual environments are provided are networking, storage, and desktop. The overall environment of virtualization may be divided into three layers: host layer, virtualization layer, and guest layer. The host layer denotes a physical hardware device on which the guest is maintained. The virtualization layer serves as an intermediary, crafting a virtual setting mirroring a real computer environment for running guest virtual applications. Here guests always communicate through the virtualization layer and it may denote a virtual 2 Resource machine or any other virtual application. A diagrammatic representation of the Virtualization virtualization environment is shown in Fig 1. Figure 1: Virtualization Environment From the above discussion, it should be noted that in reality, the virtualization environment is a software program, and hence virtualization technology has better control and flexibility over the underlying environment. The capability of software to imitate a real computing environment has facilitated the utilization of resources in an efficient way. In the last few years, virtualization technology has drastically evolved and the current version of technology allows us to make use of the maximum benefit that virtualization provides. 3.3 CHARACTERISTIC FEATURES OF VIRTUALIZATION In this respect some of the important characteristic features of virtualization can be discussed as follows: 3.3.1 Advancement in Security: In reality, more than one guest virtual machine runs on a single host machine and on each virtual machine different virtual applications are executed. Further, it is very important to run each virtual machine in isolation such that no two applications running on different virtual machines interfere with each other. In this respect, virtual machine manager (VMM) plays an important role by managing virtual machines efficiently and providing enough security. The operations of the different virtual machines are observed by VMM and filtered accordingly such that no unfavorable activity is permitted. Sometimes it becomes important to hide some sensitive or important data of the host from other guest applications running on the same 3 Cloud Computing Fundamentals and system. This kind of functionality is automatically provided by the Virtualization virtualization environment. Figure 2: Features Provided by Virtualization Environment 3.3.2 Managing of Execution: In addition to the features like security, sharing, aggregation, emulation, and isolation are also considered to be important features of virtualization. The explanation of these features are as follows: o Sharing: Virtualization technology allows the execution of more than one guest virtual machine over a single host physical machine. Here, the same hardware resources are being shared by all the guest virtual machines. Here sharing of existing hardware resources and using individual physical machines to their optimum capacity help to minimize the requirement of a number of servers and the power consumption. o Aggregation: Virtualization technology allows to combine, the resources of different independent host machines and seems to guest as one virtual host. The cluster management software is one of the very good examples of distributed computing. Cloud computing environments also make use of these features. o Emulation: Virtualization environment allows different guest applications to run on top of the host physical machine. Here the underlying virtualized environment is a software program and hence can be controlled more efficiently. Further, based on the requirement of guest application or program the underlying environment can be adjusted or modified for smooth execution. o Isolation: Virtualization environment enables guest virtual machines to run in isolation such that no virtual machine running on the same host physical machine interferes with each other. The guest virtual application accesses the underlying resources through the abstraction layer. The virtual machine manager monitors the operation of each guest application and try to prevent vulnerable activity operation if any. 4 Resource Virtualization technology is adopted by different areas of computing. Further, Virtualization based on the requirements and uses different virtualization techniques were developed and each technique has its own unique characteristics. In this regard Fig 3 shows a detailed classification of virtualization techniques. We will be discussing some of the techniques in detail in the later sections. Figure 3: A Classification of Virtualization  Check Your Progress 1 1) Explain the importance of virtualization in cloud computing? ………………………………………………………………………… ………………………………………………………………………… 2) How security is achieved through virtualization? ………………………………………………………………………… ………………………………………………………………………… 3) Emulation and isolation are important features of virtualization. Justify the statement. ………………………………………………………………………… ………………………………………………………………………… 3.4 ADVANTAGES OF VIRTUALIZATION As discussed earlier, virtualization creates an abstracted layer over the available hardware elements, such as a processor, storage, and memory allowing them to disperse over several Virtual Computers, also known as 5 Cloud Computing Fundamentals and Virtual Machines (VMs). The importance of virtualization was realized when Virtualization IT industries were facing difficulty to overcome the problem of x86 servers which enable running of only a single operating system and application. The virtualization technology paved the way for the existing IT industry by maximizing the utilization of individual servers and enabling them to operate at their maximum capacity. In this regard Fig 4 Shows the difference in traditional and virtual architecture. Further when we compare the older virtualization technique with the current version then we will notice that the older virtualization technique used to support only a single CPU and it was slow. Further, the current version of virtualization techniques has improved a lot and it was found that virtual machines may execute server applications as well as bare metal computer systems. Figure 4: Traditional Vs Virtual Architecture In order to improve performance, and to maximize the availability and reliability of the service, virtualization allows virtual machines to move from one host machine to another and this is called a virtual machine migration. The migration of virtual machines is achievable as the underlying environment is virtual. The virtual machine migration can be achieved offline or live. In case of offline migration the guest virtual machine is temporarily stopped and after copying the image of the virtual machine’s memory to the destination host machine virtual machine is restarted. Next in the case of live migration an active virtual machine is moved from one host machine to another. It should also be noted that virtualization technology prefers to migrate virtual machines from one host machine to another when some kind of load balancing is required. The type of virtual machine is chosen based on the requirement, that is if downtime is permissible then offline migration is preferred, or else live migration is preferred. Virtualization allows for more efficient use of underlying resources, resulting in a higher return on a company's hardware investment. Some other advantages of virtualization may also be highlighted and it can be summarized as follows: 6 Resource Reducing Power Need: Virtualization helps to run more than one Virtualization operating system and application on a single physical system. This allows to reduce the requirement of more servers and hence reducing the requirement of energy for running and cooling the physical machines. Lower Cost: Virtualization of hardware or software resources help to maximize the utilization of individual resources without compromising with the performance. Thus the extra investment on the servers is minimized by running more than one operating system and application on a single server. In addition to this, the requirements for extra space are also reduced. In this way virtualization technology is helping IT industries to achieve maximum benefit at a minimal cost. Better Availability: Virtualization technology allows to overcome the problem of sudden downtime due to hardware fault or human-induced fault. That is virtualization provides a fault-tolerant environment in which applications are run seamlessly. Virtualization allows better control and flexibility over the underlying environment when compared to the standalone system. Further, during the time of fault or system maintenance, virtualization technology may use live migration techniques to migrate virtual machines from one server to another. Any application or operating system crash results in downtime and lowers user productivity. As a result, administrators can use virtualization to run many redundant virtual computers that can readily handle this situation. However running numerous redundant Physical Servers, on the other hand, will be costly. Resource Efficiency: We may run numerous applications on a single server with virtualization, each with its own virtual machine, operating system, and without sacrificing the Quality of Services like reliability and availability. In this way, virtualization allows efficient use of the underlying physical hardware. Easier Management: In software-defined virtual machines, it is much easier to implement any new rule or policy, making it much easier to create or alter policies. This may be possible as virtualization technology provides better control over the virtual environment. Faster Provisioning: The process of setting up hardware for each application is time-consuming, requires more space, and costs more money. Further provisioning a virtual machine (VM) is faster, cheaper, and efficient and can be managed smoothly. Thus virtualization technology may help to create the required configured virtual machines in minimum time and may also be able to scale up or scale down the required demands in minimum time. Here it should be noted that the problem of scalability may also be handled efficiently by virtualization techniques. Efficient resource management: As discussed earlier, virtualization provides better control and flexibility when compared to traditional architecture. Virtualization allows IT administrators to create and 7 Cloud Computing Fundamentals and allocate the virtual machine faster and live- migrate the virtual machine Virtualization from one server to another when required to increase the availability and reliability of the services. In order to manage the virtualized environment, there are a number of virtualization management tools available and the selection of appropriate tools may help to manage the virtual resources efficiently. This tool may help to seamlessly migrate the virtual machine from one system to another with zero downtime. This may be required when any server needs maintenance or is not performing well. Single point Administration: The virtualized environment can be managed and monitored through single virtualization management tools. However, the selection of efficient tools that provide all the virtualization services properly is important. The appropriate tool will help to create and provision virtual machines efficiently, balance the workload, manage the security of the individual virtual machines, monitor the performance of the infrastructure, and guarantee to maximize the utilization of the resources. Here all the different services can be administered by a single tool. In the next section, let us study machine or server level virtualization. 3.5 MACHINE OR SERVER LEVEL VIRTUALIZATION Server virtualization is a technique to divide a physical server into various small virtual servers and each of these independent virtual servers runs its own operating system. These virtual servers are also called virtual machines and the process of creation of such virtual machines is achieved by hypervisors like Microsoft Hyper-V, Citrix XenServer, Oracle VM, Red Hat’s Kernel-based Virtual Machine, VMware vSphere. Here it should be noted that each virtual machine runs in isolation on the same host physical machine and are unaware of any other virtual machine running on the same host physical machine. To achieve this kind of functionality and transparency different kinds of virtualization techniques are used. Further, there are different types of server- level virtualization and they are as follows: Hypervisor Para Virtualization Full Virtualization Hardware-Assisted Virtualization Kernel level Virtualization System-Level or Operating System Virtualization 3.5.1 Advantages There are numerous advantages associated with server virtualization. Some of them are as follows: 8 Resource In the case of server virtualization, each virtual machine may be Virtualization restarted independently without affecting the execution of other virtual machines running on the same host physical machine. Server virtualization can partition a single physical server into many small virtual servers and allows to utilize the hardware of the existing physical servers efficiently. Therefore this minimizes the requirement of the extra physical servers and the initial investment cost. As each small virtual server executes in isolation, if any virtual machine faces any kind of issues then it will not affect the execution of other virtual machines running on the same host physical machine. 3.5.2 Disadvantages In addition to some of the advantages server virtualization also have some disadvantages and they are as follows: In the case of a host physical machine, the server faces any problem and it goes offline then all the guest virtual machines will also get affected and will go offline. This will decrease the overall uptime of the services or applications running on an individual virtual machine. Server virtualization allows the running of many numbers of virtual machines on the same physical server, this may reduce the performance of the overall virtualized environment. Generally, server virtualization environments are not easy to set up and manage. 3.6 HYPERVISOR Hypervisor is also known as Virtual Machine Monitor. The hypervisor can be seen as an emulator or simply a software layer that can efficiently coordinate and run independent virtual machines over single physical hardware such that each virtual machine has physical access to the resources it needs. It also ensures that virtual machines have their own address space and execution on one virtual machine does not conflict with the other virtual machine running on the same host physical machine. Prior to the notion of Hypervisor, most computers could only run one operating system at most and this increased the reliability of the services and applications because the entire system's hardware had to handle requests from a single operating system. However, the demerit of this idea is that the system cannot utilize all of the computing capacity. However, using a hypervisor minimizes the need for space, energy, and maintenance. The hypervisor is also referred to as a virtual machine monitor and it helps to manage virtual machines and their physical resource demands. It isolates virtual machines from one another by logically provisioning and assigning computing power, memory, and storage. 9 Cloud Computing Fundamentals and Thus at any point of time if any virtual machine operation is vulnerable then it Virtualization will not affect the execution of another machine. Figure 5: Type-1 Hypervisor There are basically two types of hypervisors: (i) Type-1 or Bare Metal Approach (ii) Type-2 or Hosted Approach Hypervisors enable virtualization because they translate requests across virtual and physical resources. Type-1 hypervisors may also be embedded into the firmware around the same layer as the motherboard basics input/output system (BIOS). This helps the host operating system to access and use the virtualization software. (i) Type-1 or Bare Metal Hypervisor This is also termed as “Bare metal” hypervisor. This type of hypervisor runs directly on the underlying physical resources. For running this kind of hypervisor operating system is not required and it itself acts as a host operating system. These kinds of hypervisors are most commonly used in virtual server scenarios (See Fig 5). Pros: These types of Hypervisor are highly effective as they can directly communicate with physical hardware. It also raises the level of security, and there was nothing in between them that could undermine security. Cons: To administrate different VMs and manage the host hardware, a Type 1 hypervisor frequently requires a separate administration system. Examples: Hyper-V hypervisor: Hyper-V is a Microsoft-designed hypervisor for use on Windows systems. It is classified as a Type 1 hypervisor, although it differs from other Type 1 hypervisors in that it does not install on Windows and instead runs directly on the actual hardware as the Host OS. As a result, it gains a performance edge. 10 Resource Citrix XenServer: It is a commercial Type 1 Hypervisor that supports Linux Virtualization and Windows OS. It was developed by IBM and is generally known as Citrix hypervisor. Xen supports virtualization technologies such as Intel VT and AMD-V hardware-assisted environments. It also supports paravirtualization, which alters the guest OS to work with the hypervisor, improving performance. ESXi hypervisor: VMware ESXi (Elastic Sky X Integrated) is a bare-metal hypervisor mainly designed for server virtualization in the Data Center. It can efficiently manage the group of Virtual machines. VSphere hypervisor: Customers can download VMware ESXi for free as part of the Free vSphere hypervisor, which also offers basic server virtualization. Large businesses will purchase a more comprehensive vSphere solution that includes a VMware's vCenter Server license. It is a separate server used to manage the vSphere environment on physical hosts. (ii) Type-2 or Hosted Hypervisor This hypervisor is not compatible with the hardware it is running on. It runs as a program on a computer's operating system. This type of hypervisor takes the help of an operating system to deliver virtualization-based services. Type-2 hypervisors are best suited for endpoint devices such as personal computers that run an alternative operating system known as Guest OS. Type-2 hypervisors frequently provide a different toolkit that enhances the connection between Guest and Host operating systems (See Figure 6.). Pros: A type-2 hypervisor allows for rapid and easy access to a Guest OS while the main operating system runs on the host physical machine. This kind of facility immensely helps the end-user in their work. For example, a user can use Cortana to access their favorite Linux-based tool (in Windows, only found a speech dictation system ). Cons: Type-2 hypervisors can cause performance overhead because they always need a host operating system in between the guest Operating system and underlying physical device. It also poses latency concerns and a potential security risk if the Host OS is compromised. Figure 6: Type-2 Hypervisor 11 Cloud Computing Fundamentals and Examples: Virtualization VMware Workstation: It is the product of VMware focused on Linux and Windows users, and its free Version (Player) allows it to run a single guest OS while its paid version(Pro) allows users to run multiple operating systems on a single personal computer. Oracle VM Virtual Box Windows Virtual PC Parallels Desktop  Check Your Progress 2 1. Explain online (line) and offline virtual machine migration. ………………………………………………………………………… ………………………………………………………………………… 2. Write any three advantages and disadvantages of Server Virtualization. ………………………………………………………………………… ………………………………………………………………………… 3. Compare Type-1 and Type-2 Hypervisors. ………………………………………………………………………… ………………………………………………………………………… 3.7 FULL VIRTUALIZATION Full virtualization is a technique to run an application or operating system directly on a VM without any alteration and it seems to the operating system that it is running on the real physical hardware. In order to achieve this, the virtual machine manager provides an environment that fully imitates the complete real hardware. In other words, full virtualization is a strategy for creating a virtual machine environment that entirely imitates the physical hardware. All the software can run on the underlying devices executed in the Virtual machine. One of the important benefits with respect to full virtualization is that it allows the execution of the unaltered guest operating systems in isolation. These kinds of features provide extra security and enable the running of different unmodified operating systems in the same environment. For example in the case of operating design, newly developed code for experiments can run alongside previous versions of operating systems in isolated virtual machines. The virtual machine manager helps each virtual machine to obtain all of the existing services of the underlying physical 12 Resource system. The virtual machine completely isolates the guest operating system Virtualization from the underlying hardware. A binary translation and direct execution are used together to accomplish full virtualization. The hardware CPU runs non-sensitive commands at normal speed for full virtualization hypervisors. Operating system-related instructions are interpreted on the fly for further use. As similar kinds of guest operating system instances can execute on virtualized or real physical systems, the full virtualization technique delivers the most required isolation and security solution for virtual instances running on the virtual environment (see Fig 7). Further, binary translation is a method of establishing full virtualization that does not necessitate hardware virtualization. It entails looking for “unsafe” instructions in the virtual guest's executable code, translating them into "safe" equivalents, and running the translated code. If we talk with respect to VMware hypervisor, both direct execution and binary translation techniques may be used to virtualize an operating system. Figure 7: Software Assisted Full Virtualization Technique Currently, enterprises make use of two types of full virtualization techniques: Software Assisted Full Virtualization Software-assisted full virtualization uses binary translation when trapping and virtualizing the execution of instruction sets as shown in Fig 7. The binary translation also emulates the hardware by utilizing software instruction sets. Following is the list of software under this type: VMware workstation (32-bit guests) Virtual PC VirtualBox (32-bit guests) VMWare Server 13 Cloud Computing Fundamentals and Hardware-Assisted Full Virtualization Virtualization On the other hand, hardware-assisted virtualization eliminates the need for binary translation. Instead, the original hardware is directly interrupted by the virtualization technology found on the X86 Processors (Intel VT-x and AMD-V). Depending on the guest OS’s instructions, privileged instructions can be executed directly on the processor. Figure 8: Hardware-Assisted Full Virtualization Technique This type of full virtualization can use either of the two hypervisor types. 3.8 PARA-VIRTUALIZATION Para-virtualization is a virtualization approach for computing devices that enables virtual machines (VMs) to get an interface comparable to the underlying or guest hardware. This strategy seeks to increase the VM's performance (OS) by altering the guest operating system. The guest OS is updated within para-virtualization. It recognizes that it is executing in a virtualized environment on top of something like a hypervisor (the VM's hardware) rather than on actual hardware. Para-virtualization, which means “alongside virtualization”, refers to communication between the guest OS and the hypervisor to improve performance and efficiency. As shown in Fig 9 para-virtualization entails replacing non-virtualizable instructions, with hyper calls connecting directly, with the hypervisor's virtualization layer. Other essential kernel tasks, including memory management, interrupt handling, and timekeeping, have hyper-call interfaces provided by the hypervisor. Full virtualization, in which the unmodified OS is unaware that it is virtualized and sensitive OS calls are captured using binary translation, is not the same as para-virtualization. Para-virtualization's value proposition is decreased virtualization overhead. However, the performance advantage of para- 14 Resource virtualization over full virtualization varies substantially depending on the Virtualization workload. Para-virtualization's compatibility and portability are limited because it cannot support unmodified operating systems (e.g., Windows 2000/XP). Because it necessitates profound OS kernel alterations, para-virtualization can cause substantial support and maintainability concerns in production situations. The open-source Xen project, for example, uses a modified Linux kernel to virtualize the processor and memory and proprietary guest OS device drivers to virtualize the I/O. While the more complex binary translation support required for full virtualization is complicated, changing the guest OS to enable para- virtualization is reasonably straightforward. For years, VMware has deployed para-virtualization approaches in VMware tools and optimized virtual device drivers throughout the VMware product range. The VMware tools service gives access to the VMM Hypervisor's backdoor, which can do tasks like time synchronization, logging, and guest termination. VMXnet is a hypervisor-sharing para-virtualized I/O device driver. It can take advantage of the capabilities of the host device to increase throughput while lowering CPU usage. The VMware tools service and the VMXnet device driver are not CPU para-virtualization solutions, which should be noted for clarity. They are minor, non-intrusive adjustments that do not require any changes to the guest OS kernel. VMware is assisting development in the future. In the future, VMware will assist in creating para-virtualized Linux versions to enable proofs of concept and product development. Figure 9: Para-Virtualization 15 Cloud Computing Fundamentals and Virtualization 3.9 OTHER VIRTUALIZATION TECHNIQUES Virtualization techniques can be used to get the functions of many different types of physical infrastructure and all the benefits of a virtualized environment. Following are some of the other types of virtualization techniques: 3.9.1 Network Virtualization Network virtualization is the process of converting a hardware-dependent network into such a software-based network. The underlying purpose of network virtualization is to virtualize network routing protocol, forwarding, and different addressing schemes. Further, network virtualization will also allow every form of IT virtualization to create a layer of abstraction between virtual hardware and the activities that use it. Network virtualization, in particular, allows network functionalities, hardware resources, and software resources to be offered as a virtual network, independent of hardware. It is used to join virtual machines (VMs), partition a physical network, or merge many physical networks. IT can improve digital service providers' overall performance, flexibility, and reliability. 3.9.2 Storage Virtualization Storage virtualization (sometimes referred to as software-defined storage or virtual SAN) is the process of combining different physical massive volumes of data from SANs into a virtualized storage device. The pool may combine disparate storage gear from multiple networks, manufacturers, or data centers into a unified logical perspective and control it through a single window. Virtualizing storage removes the storage management software from the underlying physical infrastructure to give more flexibility and sustainable pools of storage resources. Furthermore, it may abstract storage hardware (arrays and discs) into online storage pools. Figure 10 shows the storage virtualization. Figure 10: Storage Virtualization 16 Resource 3.9.3 Desktop Virtualization Virtualization In this type of virtualization, a software-based virtualized version of users’ workstations is created such that the virtual environment may be accessed from any place remotely. This type of virtualized environment may enable any user to connect themselves through any devices having network connectivity. A very important element of digital workspace includes desktop virtualization. In a desktop virtualization environment, mostly virtual machines are used to run the workload. Further, it should be also noted that, in this type of virtualization technique, all the information and data of end-users are present in the server. Thus risk involved with respect to loss of any user data is minimum if devices are lost. There are a number of ways through which desktop virtualization may be implemented. However, the most acceptable ones are local and remote desktop virtualization. 3.9.4 Operating System Virtualization Operating system virtualization is a modified version of a standard operating system that allows several users to access and use different applications. This entire procedure should be completed on a single machine at a time. The virtual vision environment within operating system virtualizations accepts commands from any client operating it and does various tasks within the same machine while running various applications. Whenever an operating system virtualization occurs, a program does not interfere with another even though they run on the same computer. An operating system's kernel allows for the existence of several segregated user-space instances. Software containers, or virtualization engines, are what these instances are referred to as. Operating system Virtualization is of two types (i) Linux Virtualization and (ii) Windows Virtualization. Linux Operating System virtualization: To virtualize Linux computers, VMware Workstation software is utilized. Furthermore, to install any software using virtualization, the user must first install VMware software. Windows Operating System Virtualizations: This sort of virtualization is similar to the previous in that it requires the installation of VMware software before any other software can be installed. 3.9.5 Data Virtualization Modern organizations collect data from several sources and store it in different formats. They might also store data in different places, such as in a cloud infrastructure and an on-premises data center. Data virtualization creates a software layer between this data and the applications that need it. Data virtualization tools process an application’s data request and return results in a suitable format. Thus, organizations use data virtualization solutions to 17 Cloud Computing Fundamentals and increase flexibility for data integration and support cross-functional data Virtualization analysis. 3.9.6 Application Virtualization Application virtualization pulls out the functions of applications to run on operating systems other than the operating systems for which they were designed. For example, users can run a Microsoft Windows application on a Linux machine without changing the machine configuration. To achieve application virtualization, follow these practices: Application streaming: Users stream the application from a remote server, so it runs only on the end user's device when needed. Server-based application virtualization: Users can access the remote application from their browser or client interface without installing it. Local application virtualization: The application code is shipped with its own environment to run on all operating systems without changes. 3.10 VMware Vs XenServer Citrix’s XenServer and VMware's vSphere are server virtualization platforms. Server virtualization is the process of partitioning a physical server into multiple unique and isolated virtual servers. Every virtual server can independently run its own operating system. To hide server resources from server users, server virtualization is utilized. This includes different OSs, CPUs, Processors, etc. The idea of server virtualization is frequently used in IT infrastructure to reduce costs by making better use of already available resources. VMware vSphere is also a type-1 hypervisor, a set of server virtualization products that includes virtualization, management, and interface layers for different virtual machines. It consists of vCenter Server, vCompute, vStorage, vNetwork, and other infrastructure and applications services. XenServer is an open-sourced product from Citrix. It's a platform for bare metal (type-1 hypervisor) server virtualization. Which can efficiently control integrated operating systems, networking configurations, and workloads. Citrix XenServer enables the creation and management of virtualized server infrastructure. Let us see some differences between them in the following Table 1: 18 Resource Table 1: VMware vSphere Vs Citrix XenServer Virtualization VMware vSphere ESXi Citrix XenServer Hypervisor Hypervisor VMware is generally used by small Citrix XenServer is a virtualization and mid-sized businesses. VMware platform that is utilized by individuals requires a proprietary license and is as well as small and medium businesses. Provided per-processor basis. XenServer is Open source and also provides per-server licensing. However, the free version also includes almost all the features. Features like dynamic resource The features like dynamic resource allocation is supported allocation is not supported VMware has 128 Virtual CPUs Citrix XenServer has 32 Virtual CPUs (VCPUs) per Virtual machine. It per Virtual machine. It can only run on can run on either Intel-Vt or AMD- Intel-Vt or AMD-V intelligent systems. V intelligent devices. Only MS-DOS and FreeBSD are Citrix XenServer supports various host supported as hosts in VMware OS such as Win NT Server, Win XP, vSphere. As a guest OS, VMware Linux ES, e.t.c. Citrix XenServer also vSphere supports MS-DOS, Sun supports various guest operating Java Desktop System, and Solaris systems, but not MS-DOS, Sun Java X86 Platform Edition. Desktop Environment, or Solaris X86 platform edition. To run, it will need AMD-V competent hardware. Support Failover and Live Doesn’t support Failover or even Live migration. migration.(* Newer version supports Live migration but not that efficiently). Supports Dynamic Resource allocation and Thin Provisioning. Supports only Thin Provisioning. The graphic support is not The graphic support is exhaustive and exhaustive. had better support than VMware. 19 Cloud Computing Fundamentals and Virtualization BusyBox is used by the VMware It provides almost all the required server management system for features and ability to create and managing the environment. manage the virtualization environment and it uses XenCenter for managing the environment.  Check Your Progress 3 1. What is the difference between Full Virtualization and Para-Virtualization? …………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… 2. Describe briefly Network and Storage Virtualization?.…………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………… 3. State True or False for the following statements: a. Full virtualization is a technique to run an application or operating system directly on a VM without any alteration and it seems to the operating system that it is running on the real physical hardware. b. A binary translation and direct execution are used together to accomplish full virtualization. c. Para-virtualization, which means “alongside virtualization”, refers to communication between the guest OS and the hypervisor to improve performance and efficiency. d. Native virtualization is also called as Hardware-Assisted Virtualization e. Network virtualization is the process of converting a software- dependent network into such a hardware-based network. 3.11 SUMMARY In this we have studied most important aspect of Cloud Computing namely Virtualization. Virtualization is the fundamental technology that helps to create an abstraction layer over the available System hardware elements like processor, storage, and 20 Resource memory. Virtualization allows to hide the intricacy of the underlying Virtualization environment and provides a secure and isolated environment for any user application. The created computing environment is virtual and it simulates an environment similar to a real computer. The use of the virtual infrastructure is smooth as the user finds almost no difference in the experience when compared to a real computing environment. In this regard, a detailed overview of virtualization is given in this unit. We have discussed some very important topics related to virtualization like advantages of virtualization, different virtualization techniques, and its characteristics with an example. For further clarity of existing virtualization techniques like full virtualization and para- virtualization, we have compared the two very well-known hypervisors Citrix XenServer and VMware. 3.12 SOLUTIONS/ANSWERS Check Your Progress 1 1. Cloud Computing is a framework where different kinds of services related to networks, computing resources, storage, development platform, and application are provisioned through the internet. Further, Virtualization is the fundamental technology that creates an abstraction to hide the complexity of computing infrastructure, storage, and networking. The virtualization technique provides a secure and isolated environment for cloud users such that the computing environment of one user does not affect the computing environment of another user. 2. In the case of virtualization more than one guest virtual machine runs on a single host machine, and on each virtual machine different virtual applications are executed. Further, it is very important to run each virtual machine in isolation such that no two applications running on different virtual machines interfere with each other. In this respect, virtual machine manager (VMM) plays an important role by managing virtual machines efficiently and providing enough security. The operations of the different virtual machines are observed by VMM and filtered accordingly such that no unfavorable activity is permitted. Sometimes it becomes important to hide some sensitive or important data of the host from other guest applications running on the same system. This kind of functionality is automatically provided by the virtualization environment with the help of VMM. 2. In the case of emulation, the virtualization environment allows different guest applications to run on top of the host physical machine. Here the underlying virtualized environment is a software program and hence can be controlled more efficiently. Further, based on the requirement of guest application or program the underlying environment can be adjusted or modified for smooth execution. 21 Cloud Computing Fundamentals and In case of isolation, the virtualization environment enables guest virtual Virtualization machines to run in isolation such that no virtual machines running on the same host physical machine interfere with each other. The guest virtual application accesses the underlying resources through the abstraction layer. The virtual machine manager monitors the operation of each guest application and tries to prevent vulnerable activity operation if any. Check Your Progress 2 1. Virtualization maximizes the availability and reliability of the service, by allowing virtual machines to move from one host machine to another and this is called a virtual machine migration. The migration of virtual machines is achievable as the underlying environment is virtual. The virtual machine migration can be achieved offline or live. In case of offline migration the guest virtual machine is temporarily stopped and after copying the image of the virtual machine’s memory to the destination host machine virtual machine is restarted. Next in the case of live migration an active virtual machine is moved from one host machine to another. It should also be noted that virtualization technology prefers to migrate virtual machines from one host machine to another when some kind of load balancing is required. 2. The advantages associated with server virtualization are as follows: i. In the case of server virtualization, each virtual machine may be restarted independently without affecting the execution of other virtual machines running on the same host physical machine. ii. Server virtualization can partition a single physical server into many small virtual servers and allows to utilize the hardware of the existing physical servers efficiently. Therefore this minimizes the requirement of the extra physical servers and the initial investment cost. iii. As each small virtual server executes in isolation, if any virtual machine faces any kind of issues then it will not affect the execution of other virtual machines running on the same host physical machine. The disadvantages associated with server virtualization are as follows: i. In the case of a host physical machine, the server faces any problem and it goes offline then all the guest virtual machines will also get affected and will go offline. This will decrease the overall uptime of the services or applications running on an individual virtual machine. ii. Server virtualization allows the running of many numbers of virtual machines on the same physical server, this may reduce the performance of the overall virtualized environment. iii. Generally, server virtualization environments are not easy to set up and manage. 22 Resource Virtualization 3. Type-1 Hypervisor: This is also termed as “Bare metal” hypervisor. This type of hypervisor runs directly on the underlying physical resources. For running this kind of hypervisor operating system is not required and it itself acts as a host operating System. These kinds of hypervisors are most commonly used in virtual server scenarios. The examples are Hyper-V hypervisor, Citrix XenServer, and ESXi hypervisor. Type-2 Hypervisor: This hypervisor is not compatible with the hardware it is running on. It runs as a program on a computer's operating system. This type of hypervisor takes the help of an operating system to deliver virtualization-based services. Type 2 hypervisors are best suited for endpoint devices such as personal computers that run an alternative operating system known as Guest OS. An example is VMware Workstation. Check Your Progress 3 1. Full virtualization is a technique to run an application or operating system directly on a VM without any alteration and it seems to the operating system that it is running on the real physical hardware. In order to achieve this, the virtual machine manager provides an environment that fully imitates the complete real hardware. In other words, full virtualization is a strategy for creating a virtual machine environment that entirely imitates the physical hardware. Every software can run on the underlying devices executed in the Virtual machine. One of the important benefits with respect to full virtualization is that it allows the execution of the unaltered guest operating systems in isolation. These kinds of features provide extra security and enable the running of different unmodified operating systems in the same environment. Paravirtualization is a virtualization approach for computing devices that enables virtual machines (VMs) to get an interface comparable to the underlying or guest hardware. This strategy seeks to increase the VM's performance (OS) by altering the guest operating system. The guest OS is updated within paravirtualization. It recognizes that it is executing in a virtualized environment on top of something like a hypervisor (the VM's hardware) rather than on actual hardware. 2. a. True b. True c. True d. True e. False 3. Network virtualization is the process of converting a hardware- dependent network into such a software-based network. The underlying 23 Cloud Computing Fundamentals and purpose of network virtualization is to virtualize network routing Virtualization protocol, forwarding, and different addressing schemes. Further, network virtualization will also allow every form of IT virtualization to create a layer of abstraction between virtual hardware and the activities that use it. Network virtualization, in particular, allows network functionalities, hardware resources, and software resources to be offered as a virtual network, independent of hardware. It is used to join virtual machines (VMs), partition a physical network, or merge many physical networks. IT can improve digital service providers' overall performance, flexibility, and reliability. Storage virtualization (sometimes referred to as software-defined storage or virtual SAN) is the process of combining different physical massive volumes of data from SANs into a virtualized storage device. The pool may combine disparate storage gear from multiple networks, manufacturers, or data centers into a unified logical perspective and control it through a single window. Virtualizing storage removes the storage management software from the underlying physical infrastructure to give more flexibility and sustainable pools of storage resources. Furthermore, it may abstract storage hardware (arrays and discs) into online storage pools. 3.13 FURTHER READINGS 1. Cloud Computing: Principles and Paradigms, Rajkumar Buyya, James Broberg and Andrzej M. Goscinski, Wiley, 2011. 2. Mastering Cloud Computing, Rajkumar Buyya, Christian Vecchiola, and Thamarai Selvi, Tata McGraw Hill, 2013. 3. Essentials of cloud Computing: K. Chandrasekhran, CRC press, 2014. 4. R. Buyya, C. Vecchiola,, and S. T. Selvi, S. T, Mastering Cloud Computing: Foundations and Applications Programming. Newnes, 2013. 24

Use Quizgecko on...
Browser
Browser