INTRODUCTION TO VIRTUALIZATION KRISTEN WILLIAMS MOSES IKE OBJECTIVES •Virtual machine definition • Common terminology • Virtualization Software • Common Virtualization File types • Snapshots •Uses of Virtualization • Lab: Installing and Configuring a VM WHAT IS A VIRTUAL MACHINE ? A virtual machine (VM) is a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. • System Virtual Machine • Process Virtual Machine (Containers) BEFORE AND AFTER VIRTUALIZATION SYSTEM AND PROCESS VIRTUALIZATION • A system virtual machine provides a complete system platform which supports the execution of a complete operating system (OS). • A process virtual machine is designed to run a single program, which means that it supports a single process. E.g. A safe browser, or File Opener COMMON TERMINOLOGIES • Virtual Machine - A representation of a real machine using software that provides an operating environment which can run or host a guest operating system. • Guest Operating System - An operating system running in a virtual machine environment that would otherwise run directly on a separate physical system. • Host Operating System - A computer OS that has one or more virtual machines running is defined as a host OS. • Virtual Machine Monitor - Software that runs in a layer between a hypervisor or host operating system and one or more virtual machines that provides the virtual machine abstraction to the guest operating systems. • Hypervisor – Same or Similar as Virtual Machine Monitor COMMON TERMINOLOGIES • Hosted Virtualization - A virtualization approach where virtualization services run on top of a standard operating system (the host). In this approach, the virtualization software relies on the host operating system to provide the API to talk directly to the underlying hardware. (Virtual Box Guest Additions) • Para-Virtualization - A virtualization approach that exports a modified hardware abstraction, which requires operating systems to be explicitly modified and ported to run. • Virtualization Hardware Support- Industry standard to provide hardware support for virtualization. E.g. processor extensions to address CPU and some memory virtualization. Future support will include I/O virtualization • Hardware-level Virtualization (Bare Metal) - Virtualization layer sits right on top of the hardware. No Host Operating System, just the hypervisor running the VMs VIRTAULIZATION SOFTWARE VMware: The most popular virtualization software vendor in terms of range of offerings, market share. Example: VMware Workstation/Player, VMware Vsphere, VCenter VIRTAULIZATION SOFTWARE Microsoft: Microsoft provides a lot of free virtualization resources and tools, such as Hyper V, Microsoft Virtual Server and Virtual PC. Keep in mind, however, that Virtual Software and Virtual PC can only work with Windows guests and hosts, meaning they are not viable options for those who want to run Linux or Mac operating systems. Citrix: Citrix, after acquiring the company that created and licensed the open-source virtualization package Xen, has become a major player in the field of virtualization. Parrallels: Best known for its Desktop for Mac, the first commercial virtualization product that could run on Mac OS hosts VIRTAULIZATION SOFTWARE Virtual Box: Its FREE !! From Oracle. VirtualBox is the most popular package and supports a variety of guest and host systems. COMMON VIRTULAIZATION FILE TYPES *.vmdk – Virtual disk files that the Hypervisor uses to simulate the hard drive for your virtual system. There may be one or more of these files associated with a single VM *.vmx - Files ending in “.vmx” are VMware configuration files. These files contain details such as the type of hardware to simulate for the virtual system, the amount of memory to allow the virtual machine to use, and so on. *.nvram - This file stores the state of the virtual machine's BIOS. *.ova – Format for an exported or imported VM Appliance SNAPSHOTS • A snapshot preserves the state and data of a virtual machine at a specific point in time. You can take a snapshot while a virtual machine is powered on, powered off or suspended. • The snapshot captures the entire state of the virtual machine at the time you take the snapshot. WHAT IS CAPTURED BY A SNAPSHOT ? • The state of all the virtual machine's disks. (for example: powered-on, powered-off, suspended).The contents of the virtual machine's memory. The data includes all of the files that make up the virtual machine. • This includes disks, memory, and other devices, such as virtual network interface cards. • The virtual machine settings. WAYS OF USING SNAPSHOTS • Making Risky Changes: If you plan to make risky changes in a virtual machine (for example, testing new software or examining a virus), take a snapshot before you begin to make those risky changes. If you encounter a problem, click Revert to return the virtual machine to its state at the time you took the snapshot. • Starting a Virtual Machine Repeatedly in the Same State: You can configure the virtual machine to revert to the snapshot any time it is powered off. USES OF VIRTUALIZATION Running Old Apps: Got an application that won't play nice with Windows 8,7 or Vista but works fine in XP Access Virus-Infected Data: You were sent a file that your antivirus program has flagged but which contains important data you just have to view Browse Safely: Curious to visit a malware site, and play around Test Software, Upgrades, or New Configurations: You could use your virtual computer to test new software, updates, or even new configurations of software before deployment in production. Cloning existing production systems and testing or developing them in a virtualized environment. USES OF VIRTUALIZATION No More need to Dual Boot: Run Windows on Mac, Linux, or vice versa Back Up an Entire Operating System: Because the virtual OS is entirely contained within a series of files, backing it up is as simple as backing up any other files. Reuse Old Hardware: By installing Citrix Xen Desktop on a server, you can turn old, less powerful computers into thin clients. Go green!: You might have a few servers in your environment that aren’t being fully utilized. Condense them as virtual machines on a single physical server. USES OF VIRTUALIZATION Backup and recovery: Because your virtual server is just a single system file, you can easily create a backup copy of your entire VM. So if things go wrong, just scrap the whole VM and reload the saved backup copy. Training: Use virtual machines to train your IT staff, without the worry that they’ll irreversibly break something. VM Migration: Hardware Independence. Migrate VMs from one hardware to another, with no loss in downtime QUESTIONS ?