System & Network Administration Virtualization PDF
Document Details
Uploaded by Deleted User
Vietnam National University Ho Chi Minh City International University
Le Hai Duong
Tags
Summary
This document provides an overview of system and network administration, focusing on virtualization. It discusses various aspects of virtualization, including hypervisors, containerization, and virtual machine images. The author, Le Hai Duong, PhD, likely presents this material for postgraduate students or professionals in the field.
Full Transcript
System & Network Administration Virtualization Le Hai Duong, PhD. ([email protected]) Overview ❏ Run multiple operating system instances (“guest”) concurrently on the same physical hardware ❏ From the user’s point of view, a virtual server behaves like a full-fledged physica...
System & Network Administration Virtualization Le Hai Duong, PhD. ([email protected]) Overview ❏ Run multiple operating system instances (“guest”) concurrently on the same physical hardware ❏ From the user’s point of view, a virtual server behaves like a full-fledged physical server ❏ Led to the rise of on-demand, Internet-connected virtual servers: the infrastructure we now know as cloud computing ❏ A new era of OS abstraction arises in the form of containers Virtualization vs Containerization ❏ virtualization (server virtualization)→ guest operating systems run within the context of virtualized hardware ❏ OS-level virtualization → containerization Hypervisor ❏ Hypervisor (virtual machine monitor) → software layer that mediates between virtual machines (VMs) and the underlying hardware ❏ e.g., ❏ VMware ESX, XenServer, FreeBSD bhyve ❏ the Linux kernel-based virtual machine (KVM) converts the Linux kernel into a hypervisor Hypervisor (conti.) ❏ Full virtualization → fully emulate the underlying hardware, defining virtual replacements for all the basic computing resources: hard disks, network devices, interrupts, motherboard hardware, BIOSs, and so on ❏ runs guests without modification ❏ incurs a performance penalty because the hypervisor must constantly translate between the system’s actual hardware and the virtual hardware exposed to guests ❏ separate the task of maintaining multiple environments (virtualization) from the task of simulating the hardware within each environment (emulation) ❏ e.g., The most common emulation package used in these systems is an open source project called QEMU Hypervisor (conti.) ❏ Paravirtualization → modified guest operating systems detect their virtualized state and actively cooperate with the hypervisor to access hardware ❏ improves performance by an order of magnitude or more ❏ guest operating systems need substantial updates to run this way ❏ e.g., Xen hypervisor Hypervisor (conti.) ❏ Hardware-assisted virtualization (a.k.a accelerated virtualization) → CPU features ( Intel VT and AMD-V) facilitate virtualization ❏ CPU and memory controller are virtualized by the hardware ❏ Performance is very good ❏ Guest operating systems need not know that they’re running on a virtualized CPU Type 1 vs. type 2 hypervisors bare-metal or native hypervisor → User-space applications that run on top runs directly on the hardware without a of another general-purpose OS (e.g., supporting OS (e.g., XenServer, VMware Workstation, VirtualBox) VMware ESXi) Live Migration ❏ Virtual machines can move between hypervisors running on different physical hardware in real time without interruptions in service or loss of connectivity ❏ memory dance → hypervisor copies changes from the source to the destination, and as soon as the memory is identical between the two, the migration completes ❏ helpful for high-availability, load balancing, disaster recovery, server maintenance, and general system flexibility Virtual machine images ❏ Templates of configured operating systems that a hypervisor can load and execute ❏ Can take a snapshot of a virtual machine to create an image ❏ Images are portable among systems even if their actual hardware differs ❏ There are conversion tools that port images among hypervisors Containerization ❏ OS-level virtualization does not use a hypervisor ❏ Rely on kernel features that isolate processes from the rest of the system ❏ Each process “container” or “jail” has a private root filesystem and process namespace ❏ Contained processes share the kernel and other services of the host OS, but cannot access files or resources outside of their containers ❏ Resource overhead of OS-level virtualization is low, offer near-native performance ❏ Precludes the use of multiple operating systems ❏ E.g., Linux’s LXC, Docker containers, and FreeBSD jails ❏ The containers-on-VMs architecture is standard for containerized applications that need to run on public cloud instances Packer ❏ A tool for building virtual machine images from a specification file ❏ Can build images for a variety of virtualization and cloud platforms ❏ Instead of manually applying changes to images, you modify a template that describes the image in abstract terms ❏ Packer configurations are JSON files Vagrant ❏ A wrapper that sits on top of virtualization platforms such as VMware, VirtualBox, and Docker ❏ It is not itself a virtualization platform ❏ Simplify virtual environment provisioning and configuration ❏ Its mission is to quickly and easily create disposable, preconfigured development environments that closely mirror production environments