Client-Side Virtualization | CompTIA A+ 220-1001 | 4.2

In this video you will learn about client-side virtualization concepts such as: the purpose of virtual machines, resource requirements, emulator requirements, security requirements, network requirements, and hypervisors.

What is Virtualization?

In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources. Virtualization allows for standalone computers to run multiple operating systems at the same time while using the same hardware resources.

Virtualization involves understanding 3 primary concepts:

  • Virtual Machine Manager (VMM): A VMM (also known as a hypervisor) is computer software, firmware or hardware that creates and runs virtual machines. It is a specialized operating system that uses minimal hardware resources so that memory and processing are available for the VMs it creates.
  • Virtual Machine (VM):  A VM is an emulation of a computer system created by a hypervisor/VMM. VMs are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination of both. A VM uses the VMM/hypervisor for access to memory, CPU, network, video, and other resources.
  • Emulation:  An emulator is hardware or software that enables one computer system (host) to behave like another computer system (guest). An emulator typically enables the host system to run software or use peripheral devices designed for the guest system. Emulation refers to the ability of a computer program in an electronic device to emulate (or imitate) another program or device.

When it comes to running multiple operating systems on one computer, there are two ways this can be achieved: by way of virtualization or emulation.

Purpose of Virtual Machines

The main purpose of virtual machines (VMs) is to allow for computers to operate multiple operating systems at the same time from the same piece of hardware. Without virtualization, operating multiply systems (like Windows & Linux) would require multiple physical units. Operating VMs saves tons of money that it would cost to run multiple physical machines as it relates to the costs associated with physical space to store the devices, cooling and peripheral hardware costs. Another benefit of virtual machines is the ability to run older operating systems without having to change computers and without having to reboot their systems. Also, VMs allow for single computers to run 32-bit and 64-bit versions of the same operating system so that applications that run better in 32-bit mode can be run without the need for a separate computer. Ultimately, VMs can perform multiple tasks at the same time and allow for more work to be done on a single physical machine while saving money on physical hardware investments.

Resource Requirements

The resource requirements for virtualization include:

  • Fast multicore processors
  • A lot of RAM:  the more memory the better due to limitations of the motherboard & VMM (host operating system)
    • Preferred use of 64-bit processors & a 64-bit compatible VMM
      • Not subjected to 4GB RAM limit set by 32-bit architecture
  • Hardware-assisted virtualization processors
    • BIOS/UEFI firmware should support this feature as well
    • Must be enabled in the system BIOS/UEFI
      • If not, might cause VMs to run very slow
      • Also, some VMMs might not be supported
  • Use 2 or more displays if several VMs will run at the same time
  • Even though the VM is created using an actual OS rather than a reproduction
    • The physical hardware used for VMM must meet or exceed minimum requirements for the VMM

Emulator Requirements

Due to emulators having to simulate an entire operating system in addition to the hardware used with the operating system, the emulator requirements for virtualization include:

  • More RAM than original hardware being emulated
  • Faster processors than original hardware being emulated

Security Requirements

Even though virtual machines are essentially computers inside of computers, VMs still need to be treated like actual physical computers in terms of securing the virtual device. The security requirements for virtualization include:

  • Network Traffic Monitoring:  Hypervisors must monitor the network traffic of multiple VMs running on single computers or servers.  An extensible switch module is a feature that enables operating systems to monitor this traffic.
  • Updates & Patches:  Antivirus software needs to be installed, updated, patched, and kept current because the host machine cannot scan the VM for viruses.
  • Backing Up VMs:  Virtualized storage needs to be backed up with tools made for VMs.  These backups need to include the VMs configuration files & virtual disks to allow for the VM to be restored if needed.  Virtual machine checkpoints (also known as virtual machine snapshots) are typically included in most VMMs/hypervisors and they save the current state, data, and hardware configurations of the VM while it is running.
  • Security:  VMMs that allow for sandboxing (isolation) of individual VMs offer better security against attacks.
  • Other Recommendations:  The use of firewalls, anti-malware, remote administration by using secured VPNs should be implemented. Also connections between VMs such as clipboards or file sharing should be limited.

Network Requirements

Due to virtual machines being computers inside of computers, in order for a VM (guest) to communicate like a physical computer (host), a VMM must have a network adapter that is bridged (connected) to the network adapter of the physical machine.  The VM’s virtual NIC must also have a MAC address and IP address assigned to it by an administrator to allow for network communication. The use of authentication servers can also be used to determine, verify, or deny credentials to a user attempting to log into secured networks.

Hypervisor

A hypervisor (or virtual machine monitor, VMM) is a computer software, firmware or hardware that creates and runs virtual machines.  A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine.  A virtual machine is a software emulation of the hardware in a working computer. The VMM sets up emulated motherboard chipsets, USB controllers, hard disk host adapters, video cards, and other components of an actual computer as part of the virtual machine (VM), along with setting aside either an expandable or fixed amount of hard disk space. After a hypervisor creates and configures a VM, you install the operating system and apps desired into the VM to have a working emulated computer or virtual machine.  The hypervisor is used to start the virtual machine and, depending on the RAM, processor speed, and features, and available hard disk space in the physical computer, the hypervisor can run several virtual machines at the same time.

There are two types of hypervisors:

  • Type 1 Hypervisor:  a VMM that works directly with the host computer hardware, rather being installed inside an existing operating system.  Type 1 hypervisors are often referred to as “bare-metal” hypervisors.
  • Type 2 Hypervisor:  is a VMM that runs inside an operating system and carves out RAM and disk space from an already-running system.
Type 1 & Type 2 Hypervisor Conceptual Diagrams

With a Type 2 hypervisor, guests are one-level removed from the hardware and therefore run less efficiently than do guest on Type 1 hypervisors.

To turn a hypervisor on or off, there a few options:

  • Search for “Turn Windows Features On or Off”
  • Access the Windows Features via
    • Control Panel > Programs > Programs & Features
    • Then select Turn Windows Features On or Off from menu on left
Hyper-V in Windows 10