• A virtual machine takes the layered approach to its
logical conclusion. It treats hardware and the operating system kernel as though they were all hardware.
• A virtual machine provides an interface identical to the
underlying bare hardware.
• The operating system host creates the illusion that a
process has its own processor and (virtual memory).
• Each guest provided with a (virtual) copy of underlying
computer. Virtual Machines (Cont.)
(a) Nonvirtual machine (b) virtual machine
Para-virtualization • Presents guest with system similar but not identical to hardware
• Guest must be modified to run on
paravirtualized hardware
• Guest can be an OS, or in the case of Solaris
10 applications running in containers Virtualization Implementation • Difficult to implement – must provide an exact duplicate of underlying machine – Typically runs in user mode, creates virtual user mode and virtual kernel mode • Timing can be an issue – slower than real machine • Hardware support needed – More support-> better virtualization – i.e. AMD provides “host” and “guest” modes VMware Architecture The Java Virtual Machine Virtualization •Virtualization is the emulation of one of more workstations/servers within a single physical computer. •Virtualization is the emulation of hardware within a software platform. This allows a single computer to take on the role of multiple computers. Types of Virtualization • Full virtualization – Full virtualization is a technique in which a complete installation of one machine is run on another. – The result is a system in which all software running on the server is within a virtual machine. – Full virtualization has been successful for several purposes: • Sharing a computer system among multiple users • Isolating users from each other and from the control program • Emulating hardware on another machine • Para virtualization – Para virtualization allows multiple operating systems to run on a single hardware device at the same time by more efficiently using system resources, like processors and memory. Virtualization Software • The most well known virtualization software in use today is VMware. • VMware will simulate the hardware resources of an x86 based computer, to create a fully functional virtual machine. • An operating system and associated applications can then be installed on this virtual machine, just as would be done on a physical machine. • Multiple virtual machines can be installed on a single physical machine, as separate entities. Objectives of Virtualization • Four main Objectives – Increased use of hardware resources; – Reduced management and resource costs; – Improved business flexibility; and – Improved security and reduced downtime. Benefits • Easier Manageability • Elimination of Compatibility Issues • Fault Isolation • Increased Security • Efficient use of Resources • Portability • Problem-Free Testing • Rapid Deployment • Reduced Costs • The Ability to Separate Applications • Easier Manageability and Improved Uptime Data Storage Virtualization • Networked storage resources would appear as though they resided locally on a machine. • These storage resources could also be accessed normally on individual machines in the same way that local storage would be accessed, making both local and networked storage devices appear as though they were logically identical • Advantages – a business’s entire data storage pool could be held in a single centralized location. – massive pools of storage area networks (SANs) could be created. This would allow organizations to have massive storage solutions. • Storage area networks – consist of a number of racks which contain many hard drives. – no limit to how many racks an organization can have for a single storage area network. – Disadvantage • a number of different protocols (set of rules) were used and administrators would still have to, at times, keep track of the physical location of data. • Data storage virtualization offers businesses a number of advantages – Provides easier management of data storage solutions – Allows storage technologies and solutions to be vendor independent – Has the potential to save businesses a lot of money • The main companies that have adopted data storage virtualization technologies – HP, VMware, EMC and IBM. Storage Virtualization • Grouping together multiple physical storage devices (no matter where they are physically located), so that they appear as one big storage unit. • Storage virtualization technologies – NAS (Network attached Storage) – SAN (Storage Area Network) – iSCSI (Internet SCSI). • Network Attached Storage – A Network-attached storage device is effectively a server that is dedicated to providing file sharing services. – It is not concerned with any other services such as e-mail or printer sharing; it only deals with file sharing. – Advantages • improving the availability of data and increasing uptime – it can allow additional hard drive space to be added to a network without having to shut down existing servers • A server will still process all data requests that it receives but it is actually the NAS device that ultimately delivers data to a user. – NAS devices can be located anywhere within a LAN, meaning that a business can have the option of either centralizing or distributing their storage devices throughout their network • Storage Area Network – A sub-network that consists of only storage devices. – Storage devices can consist of either a server which contains nothing but hard drives for storage, or a stand-alone rack of storage devices such as a rack of multiple hard drives. – Storage is accessible by all servers across an organization’s LAN and their WAN – Servers simply act as gateways between SANs and its end- users. They also help in the directing of traffic. – Benefits • ability to more efficiently use a server’s resources. • end-users have access to their organization’s entire storage resources, • iSCSI – ISCSI stands for Internet Small Computer System Interface. – SCSI is basically an interface that is used for connecting peripheral devices (including hard drives) to a computer. – It acts as a controller, meaning that it doesn’t require software to handle data requests, as it deals with this itself. – iSCSI Vs IDE (Integrated Drive Electronics), • To attach a hard drive to a computer, is that SCSI offers faster transfer speeds. Especially in a server based environment where multiple users may be trying to access a hard drive at the same time, SCSI definitely outperforms IDE. – SCSI also allows you to chain together multiple peripheral devices and connect them to a single SCSI interface. – ISCSI expands on the standard SCSI technology described above by using IP (Internet Protocol) technology. – ISCSI can support existing Gigabit Ethernet technology and is able to connect to network devices such as switches and routers, as long as they provide an iSCSI interface. Improving Availability Using Virtualization • The goal is to reach a very high level of availability - that is 99.99% uptime. – The system should always have a redundant instance of major control factors, such as switches, appliances, and virtualization engines. – This effort in redundancy will ensure that if a major component fails, an alternative route exists to continue operations. • Approaches – Dual Engine – Clustered Engine • The active-passive technique has two virtualization engines in place, the first is active at all times, while the second is used only in the event of engine failure of overload. • The active-active technique has the same two engines sharing the normal workload. When one engine fails, the second simply takes the additional workload until the first is up and running again. • Within a clustered approach instead of two hosts, multiple hosts are utilized. This is called an N-way design: when one host fails, the system of N – 1 hosts still remain. Improving Performance Using Virtualization • There are so many virtualization approaches that planning them out will provide certain advantages and disadvantages to cost and performance that need to be balanced out. • Performance enhancement approaches – Striping – Caching • Striping – It is a method of writing data across storage disks simultaneously. – Though a virtualized system, the striping can be done across disk within an array or multiple arrays. – The more physical devices the data is striped, the better the throughput and I/O per second. • Caching – Caching allows data to be stored in logical memory before being written in physical memory. – It is particularly advantageous in environments where different components have a large difference in processing speed. • Network-based virtualization provides additional caching principles such as moving frequently accessed data closer to the host layer. • Mirroring and dual pathing are two additional network-based virtualization techniques that allow a balance to the workload. Improving Capacity Using Virtualization • Adding physical storage to the system is still a highly manual, highly complex activity with much room for error. • The concerns of capacity occur almost immediately and can get progressively worse as time goes by. • Trying to add new storage resources take time, mostly in planning, simply to ensure that nothing is broken; not to mention that a host will have different requirements for different volumes of storage. • Before virtualization, – a common practice for resolving capacity issues was to attach larger storage capacities than required to the host environment. • Storage virtualization provides the opportunity to pool storage, simplify allocation, expand LUNs, and automate capacity controls. • Pooling storage – simply allows the host to see one single storage entity when in fact the physical space belongs to several storage devices. • Allocation management – In a traditional storage solution, allocation management is done at each host or through different segments of the network. – In a virtualized environment, the entire system is controlled by a common management interface allowing allocation and zoning to be simplified. • LUNs – LUNs are restricted by the physical limits of the disk drive, yet virtualizing LUNs allow those limits to be removed so that it appears that more LUNs are available than there really are. – Expanding LUN is starting to become a common solution to adding capacity to the – environment. • The conventional approach has the system administrator, or agent software, detect where free space has fallen below a specified threshold. Additional capacity is assigned appropriately using a new LUN or resizing the existing LUN. • Another approach uses a “sparse volume,” a virtual device that the host can see.