virtualization

Virtualization

Return to Kreuzer Cloud Monk Resume, Azure Virtualization, Hyper-V or VMware.

“Allows multiple guest virtual machines (VM) to run on a host operating system. Guest VMs can run on one or more levels above the host hardware, depending on the type of virtualization.”

See Also PV virtualization, HVM virtualization.

Hyper-V

Snippet from Wikipedia: Hyper-V

Microsoft Hyper-V, codenamed Viridian, and briefly known before its release as Windows Server Virtualization, is a native hypervisor; it can create virtual machines on x86-64 systems running Windows. Starting with Windows 8, Hyper-V superseded Windows Virtual PC as the hardware virtualization component of the client editions of Windows NT. A server computer running Hyper-V can be configured to expose individual virtual machines to one or more networks. Hyper-V was first released with Windows Server 2008, and has been available without additional charge since Windows Server 2012 and Windows 8. A standalone Windows Hyper-V Server is free, but with command-line interface only.

VMware

Snippet from Wikipedia: VMware

VMware, Inc. is an American cloud computing and virtualization technology company headquartered in California. VMware was the first commercially successful company to virtualize the x86 architecture.

VMware's desktop software runs on Microsoft Windows, Linux, and macOS, while its enterprise software hypervisor for servers, VMware ESXi, is a bare-metal hypervisor that runs directly on server hardware without requiring an additional underlying operating system.

Others

Snippet from Wikipedia: VirtualBox

Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a free and open-source hosted hypervisor for x86 virtualization, developed by Oracle Corporation. Created by Innotek, it was acquired by Sun Microsystems in 2008, which was in turn acquired by Oracle in 2010.

VirtualBox may be installed on Windows, macOS, Linux, Solaris and OpenSolaris. There are also ports to FreeBSD and Genode. It supports the creation and management of guest virtual machines running Windows, Linux, BSD, OS/2, Solaris, Haiku, and OSx86, as well as limited virtualization of macOS guests on Apple hardware. For some guest operating systems, a "Guest Additions" package of device drivers and system applications is available, which typically improves performance, especially that of graphics.

Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a free and open-source hypervisor for x86 computers from Oracle Corporation. Developed initially by Innotek GmbH, it was acquired by Sun Microsystems in 2008 which was in turn acquired by Oracle in 2010.

VirtualBox may be installed on a number of host operating systems, including: Linux, OS X, Windows, Solaris, and OpenSolaris. There are also ports to FreeBSD<ref>

</ref> and Genode.<ref>

</ref>

Fair Use Source: https://en.wikipedia.org/wiki/VirtualBox

Virtualization typically means platform virtualization. It allows you to run one or more operating system images on one computer. For more information read http://en.wikipedia.org/wiki/Virtualization.

Linux Virtualization

Platform virtualization under Linux can be done with

  • VMWare - full virtualization
  • VirtualBox - like VMWare, but only 1 processor per VM
  • KVM - full virtualization (paravirtualization is in test)
  • XEN - paravirtualization
  • User-mode Linux - pseudo virtualization
  • Qemu - processor emulator

Guides

See also

Windows Virtual PC

Windows Virtual PC (successor to Microsoft Virtual PC 2007, Microsoft Virtual PC 2004, and Connectix Virtual PC) is a virtualization program for Microsoft Windows. In July 2006 Microsoft released the Windows version as a free product.<ref>

</ref> In August 2006, Microsoft announced the Macintosh version would not be ported to Intel-based Macintosh computers, effectively discontinuing the product as PowerPC-based Macintosh computers are no longer manufactured. The newest release, Windows Virtual PC, does not run on versions of Windows earlier than Windows 7, and does not officially support MS-DOS or operating systems earlier than Windows XP Professional SP3 as guests.<ref name=“wvpc-desc” /> The older versions, which support a wider range of host and guest operating systems, remain available. Starting with Windows 8, Hyper-V supersedes Windows Virtual PC.

https://en.wikipedia.org/wiki/Windows_Virtual_PC

Microsoft Virtual Server Microsoft Virtual Server

Microsoft Virtual Server was a virtualization solution that facilitated the creation of virtual machines on the Windows XP, Windows Vista and Windows Server 2003 operating systems. Originally developed by Connectix, it was acquired by Microsoft prior to release. Virtual PC is Microsoft's related desktop virtualization software package.

Virtual machines are created and managed through a Web-based interface that relies on Internet Information Services (IIS) or through a Windows client application tool called VMRCplus.

The last version using this name was Microsoft Virtual Server 2005 R2 SP1. New features in R2 SP1 include Linux guest operating system support, Virtual Disk Precompactor, SMP (but not for the guest OS), x64 host operating system support, the ability to mount virtual hard drives on the host machine and additional operating systems support, including Windows Vista. It also provides a Volume Shadow Copy writer that enables live backups of the Guest OS on a Windows Server 2003 or Windows Server 2008 host. A utility to mount VHD images has also been included since SP1. Virtual Machine Additions for Linux are available as a free download. Officially supported Linux guest operating systems include Red Hat Enterprise Linux versions 2.1-5.0, Red Hat Linux 9.0, SUSE Linux and SUSE Linux Enterprise Server versions 9 and 10.<ref>Linux Guest Support for Virtual Server 2005 R2 SP1</ref>

Virtual Server has been discontinued and replaced by Hyper-V.

https://en.wikipedia.org/wiki/Microsoft_Virtual_Server

Kernel-based Virtual Machine (KVM) is a virtualization infrastructure for the Linux kernel that turns it into a hypervisor. It was merged into the Linux kernel mainline in kernel version 2.6.20, which was released on February 5, 2007.<ref name=“2620notes”>

</ref> KVM requires a processor with hardware virtualization extensions.<ref>KVM FAQ: What do I need to use KVM?</ref> KVM has also been ported to FreeBSD<ref>

</ref> and illumos<ref>

</ref> in the form of loadable kernel modules.

KVM originally supported x86 processors and has been ported to S/390,<ref>Gmane - Mail To News And Back Again<!-- Bot generated title --></ref> PowerPC,<ref>Gmane Loom<!-- Bot generated title --></ref> and IA-64. An ARM port was merged during the 3.9 kernel merge window.<ref>KVM/ARM Open Source Project</ref>

A wide variety of guest operating systems work with KVM, including many flavours and versions of Linux, BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, AROS Research Operating System<ref>

</ref> and OS X.<ref>

</ref> In addition, Android 2.2, GNU/Hurd<ref>

</ref> (Debian K16), Minix 3.1.2a, Solaris 10 U3 and Darwin 8.0.1, together with other operating systems and some newer versions of these listed, are known to work with certain limitations.<ref>

</ref>

Paravirtualization support for certain devices is available for Linux, OpenBSD,<ref>

</ref> FreeBSD,<ref>

</ref> NetBSD,<ref>

</ref> Plan 9<ref>

</ref> and Windows guests using the VirtIO<ref>

</ref> API. This supports a paravirtual Ethernet card, a paravirtual disk I/O controller,<ref>

</ref> a balloon device for adjusting guest memory usage, and a VGA graphics interface using SPICE or VMware drivers.

https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine

virtualization

virtual machine virtual machine

Hardware Virtualization

Native

Microsoft Hyper-V Server

Red Hat Enterprise Virtualization

“Red Hat Enterprise Virtualization uses the SPICE protocol and VDSM (Virtual Desktop Server Manager) with a RHEL-based centralized management server. It can acquire user and group information from an Active Directory service or FreeIPA Active Directory emulator (Installation Guide, 2011-08-04). Some of the technologies of Red Hat Enterprise Virtualization came from Red Hat's acquisition of Qumranet (Red Hat Advances Virtualization Leadership with Qumranet, Inc. Acquisition). Other parts derive from oVirt. (RHEL 5 Hypervisor Deployment Guide, chapter 2).”

Fair Use Source: https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Virtualization

Desktop Virtualization

Microsoft Remote Desktop Services

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier (Windows Remote Desktop Services spotlight, 2010-11-18), is one of the components of Microsoft Windows that allows a user to take control of a remote computer or virtual machine over a network connection. RDS is Microsoft's implementation of thin client, where Windows software and the entire desktop of the computer running RDS, are made accessible to a remote client machine that supports Remote Desktop Protocol (RDP). With RDS, only software user interfaces are transferred to the client system. All input from the client system is transmitted to the server, where software execution takes place (Technical Overview of Terminal Services in Windows Server 2003, 2007-07-23. This is in contrast to application streaming systems, like Microsoft App-V, in which computer programs are streamed to the client on-demand and executed on the client machine.”

Fair Use Source: https://en.wikipedia.org/wiki/Remote_Desktop_Services

Concept Application

http://wiki.linuxquestions.org/wiki/Virtualization

In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer network resources.

Virtualization began in the 1960s, as a method of logically dividing the system resources provided by mainframe computers between different applications. Since then, the meaning of the term has broadened.<ref name=“IowaState”>

</ref>

Hardware virtualization

Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an operating system. Software executed on these virtual machines is separated from the underlying hardware resources. For example, a computer that is running Microsoft Windows may host a virtual machine that looks like a computer with the Ubuntu Linux operating system; Ubuntu-based software can be run on the virtual machine.<ref>

</ref><ref>

</ref>

In hardware virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine. The words host and guest are used to distinguish the software that runs on the physical machine from the software that runs on the virtual machine. The software or firmware that creates a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager.

Different types of hardware virtualization include:

  • Full virtualization

    almost complete simulation of the actual hardware to allow software, which typically consists of a guest operating system, to run unmodified.

  • Partial virtualization

    some but not all of the target environment attributes are simulated. As a result, some guest programs may need modifications to run in such virtual environments.

  • Paravirtualization

    a hardware environment is not simulated; however, the guest programs are executed in their own isolated domains, as if they are running on a separate system. Guest programs need to be specifically modified to run in this environment.

Hardware-assisted virtualization is a way of improving overall efficiency of virtualization. It involves CPUs that provide support for virtualization in hardware, and other hardware components that help improve the performance of a guest environment.

Hardware virtualization can be viewed as part of an overall trend in enterprise IT that includes autonomic computing, a scenario in which the IT environment will be able to manage itself based on perceived activity, and utility computing, in which computer processing power is seen as a utility that clients can pay for only as needed. The usual goal of virtualization is to centralize administrative tasks while improving scalability and overall hardware-resource utilization. With virtualization, several operating systems can be run in parallel on a single central processing unit (CPU). This parallelism tends to reduce overhead costs and differs from multitasking, which involves running several programs on the same OS. Using virtualization, an enterprise can better manage updates and rapid changes to the operating system and applications without disrupting the user. “Ultimately, virtualization dramatically improves the efficiency and availability of resources and applications in an organization. Instead of relying on the old model of “one server, one application” that leads to underutilized resources, virtual resources are dynamically applied to meet business needs without any excess fat” (ConsonusTech).

Hardware virtualization is not the same as hardware emulation. In hardware emulation, a piece of hardware imitates another, while in hardware virtualization, a hypervisor (a piece of software) imitates a particular piece of computer hardware or the entire computer. Furthermore, a hypervisor is not the same as an emulator; both are computer programs that imitate hardware, but their domain of use in language differs.

Snapshots

A snapshot is the state of a virtual machine, and generally its storage devices, at an exact point in time. A snapshot enables the virtual machine's state at the time of the snapshot to be restored later, effectively undoing any changes that occurred afterwards. This capability is useful as a backup technique, for example, prior to performing a risky operation.

Virtual machines frequently use virtual disks for their storage; in a very simple example, a 10-gigabyte hard disk drive is simulated with a 10-gigabyte flat file. Any requests by the VM for a location on its physical disk are transparently translated into an operation on the corresponding file. Once such a translation layer is present, however, it is possible to intercept the operations and send them to different files, depending on various criteria. Every time a snapshot is taken, a new file is created, and used as an overlay for its predecessors. New data are written to the topmost overlay; reading existing data, however, needs the overlay hierarchy to be scanned, resulting in accessing the most recent version. Thus, the entire stack of snapshots is virtually a single coherent disk; in that sense, creating snapshots works similarly to the incremental backup technique.

Other components of a virtual machine can also be included in a snapshot, such as the contents of its random-access memory (RAM), BIOS settings, or its configuration settings. “Save state” feature in video game console emulators is an example of such snapshots.

Restoring a snapshot consists of discarding or disregarding all overlay layers that are added after that snapshot, and directing all new changes to a new overlay.

Migration

The snapshots described above can be moved to another host machine with its own hypervisor; when the VM is temporarily stopped, snapshotted, moved, and then resumed on the new host, this is known as migration. If the older snapshots are kept in sync regularly, this operation can be quite fast, and allow the VM to provide uninterrupted service while its prior physical host is, for example, taken down for physical maintenance.

Failover

Similarly to the migration mechanism described above, failover allows the VM to continue operations if the host fails. However, in this case, the VM continues operation from the last-known coherent state, rather than the current state, based on whatever materials the backup server was last provided with.

Video game console emulation

A video game console emulator is a program that allows a personal computer or video game console to emulate a different video game console's behavior. Video game console emulators and hypervisors both perform hardware virtualization; words like “virtualization”, “virtual machine”, “host” and “guest” are not used in conjunction with console emulators.

Licensing

Virtual machines running proprietary operating systems require licensing, regardless of the host machine's operating system. For example, installing Microsoft Windows into a VM guest requires its licensing requirements to be satisfied.

Desktop virtualization

Desktop virtualization is the concept of separating the logical desktop from the physical machine.

One form of desktop virtualization, virtual desktop infrastructure (VDI), can be thought of as a more advanced form of hardware virtualization. Rather than interacting with a host computer directly via a keyboard, mouse, and monitor, the user interacts with the host computer using another desktop computer or a mobile device by means of a network connection, such as a LAN, Wireless LAN or even the Internet. In addition, the host computer in this scenario becomes a server computer capable of hosting multiple virtual machines at the same time for multiple users.<ref name=“consumerization”>

</ref>

As organizations continue to virtualize and converge their data center environment, client architectures also continue to evolve in order to take advantage of the predictability, continuity, and quality of service delivered by their converged infrastructure. For example, companies like HP and IBM provide a hybrid VDI model with a range of virtualization software and delivery models to improve upon the limitations of distributed client computing.<ref name=“zdnet.com”>Chernicoff, David, “HP VDI Moves to Center Stage,” ZDNet, August 19, 2011.</ref> Selected client environments move workloads from PCs and other devices to data center servers, creating well-managed virtual clients, with applications and client operating environments hosted on servers and storage in the data center. For users, this means they can access their desktop from any location, without being tied to a single client device. Since the resources are centralized, users moving between work locations can still access the same client environment with their applications and data.<ref name=“zdnet.com”/> For IT administrators, this means a more centralized, efficient client environment that is easier to maintain and able to more quickly respond to the changing needs of the user and business.<ref>Baburajan, Rajani, "The Rising Cloud Storage Market Opportunity Strengthens Vendors," infoTECH, August 24, 2011. It.tmcnet.com. 2011-08-24.</ref><ref>Oestreich, Ken, "Converged Infrastructure," CTO Forum, November 15, 2010. Thectoforum.com.</ref>

Another form, session virtualization, allows multiple users to connect and log into a shared but powerful computer over the network and use it simultaneously. Each is given a desktop and a personal folder in which they store their files.<ref name=“consumerization” /> With multiseat configuration, session virtualization can be accomplished using a single PC with multiple monitors keyboards and mice connected.

Thin clients, which are seen in desktop virtualization, are simple and/or cheap computers that are primarily designed to connect to the network. They may lack significant hard disk storage space, RAM or even processing power, but many organizations are beginning to look at the cost benefits of eliminating “thick client” desktops that are packed with software (and require software licensing fees) and making more strategic investments.<ref>

</ref> <!– Using desktop virtualization allows your company to stay more flexible in an ever changing market. Having virtual desktops allows for development to be implemented quicker and more expertly. Proper testing can also be done without the need to disturb the end user. Moving your desktop environment to the cloud also allows for less single points of failure if you allow a third party to control your security and infrastructure. <ref name=“desktop”>

</ref> –> Desktop virtualization simplifies software versioning and patch management, where the new image is simply updated on the server, and the desktop gets the updated version when it reboots. It also enables centralized control over what applications the user is allowed to have access to on the workstation.

Moving virtualized desktops into the cloud creates hosted virtual desktops (HVDs), in which the desktop images are centrally managed and maintained by a specialist hosting firm. Benefits include scalability and the reduction of capital expenditure, which is replaced by a monthly operational cost.<ref>

</ref>

Other types

;Software

;Memory

;Storage

;Data

  • Data virtualization, the presentation of data as an abstract layer, independent of underlying database systems, structures and storage.
  • Database virtualization, the decoupling of the database layer, which lies between the storage and application layers within the application stack over all.

;Network

{{Anchor|NESTED}}Nested virtualization

Nested virtualization refers to the ability of running a virtual machine within another, having this general concept extendable to an arbitrary depth. In other words, nested virtualization refers to running one or more hypervisors inside another hypervisor. Nature of a nested guest virtual machine does not need not be homogenous with its host virtual machine; for example, application virtualization can be deployed within a virtual machine created by using hardware virtualization.<ref>

</ref>

Nested virtualization becomes more necessary as widespread operating systems gain built-in hypervisor functionality, which in a virtualized environment can be used only if the surrounding hypervisor supports nested virtualization; for example, Windows 7 is capable of running Windows XP applications inside a built-in virtual machine. Furthermore, moving already existing virtualized environments into a cloud, following the Infrastructure as a Service (IaaS) approach, is much more complicated if the destination IaaS platform does not support nested virtualization.<ref name=“usenix-turtles”>

</ref><ref>

</ref>

The way nested virtualization can be implemented on a particular computer architecture depends on supported hardware-assisted virtualization capabilities. In case a particular architecture does not provide hardware support required for nested virtualization, various software techniques are employed to enable it.<ref name=“usenix-turtles” /> Over time, more architectures gain required hardware support; for example, since the Haswell microarchitecture (announced in 2013), Intel started to include VMCS shadowing as a technology that accelerates nested virtualization.<ref>

</ref>

See also

References

virtualization.txt · Last modified: 2016/10/25 14:14 by Cloud Monk Losang Jinpa PhD MCSE MCT Microsoft Cloud Ecosystem DevOps Engineer