• No results found

Virtual Hosting & Virtual Machines

N/A
N/A
Protected

Academic year: 2021

Share "Virtual Hosting & Virtual Machines"

Copied!
17
0
0

Loading.... (view fulltext now)

Full text

(1)

Virtual Hosting & Virtual Machines

Coleman Kane

[email protected]

(2)

Virtual Hosting

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Similar to the network partitioning schemes described

previously, there exist a menu of options that enable a

single piece of server hardware to be paritioned so as to

provide varying levels of isolation to the applications and

users served by this hardware.

(3)

Common Virt. Hosting Schemes

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Virtual hosting methods to be covered:

Environment:

Apache virtual-hosting, Java VM

OS Level:

chroot, Jails, User-mode-Linux

Hypervisors:

VirtualBox, VMWare, Xen

Emulation:

Bochs, VMWare & VirtualBox under special

configuration

(4)

Environment Virtual Hosting

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

In Environment Virtual Hosting, virtualization of the hosted

applications are configured within the space of another

(5)

Environment Virtual Hosting (cont.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Generally the following ground rules are true:

The administrator of the server hardware has full visibility

and control inside the virtual environments

The virtual applications may share, privileges, storage and

RAM, unless specifically configured not to

Virtual processes are still visible to each other on the

server-side

The shared nature of the infrastructure is generally opaque

to the end-user, but counter-measures must be authored

into the applications in order to ensure this remains true.

Compromising one virtual server can put all other virtual

(6)

Environment Virtual Hosting (dia.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

(7)

OS-Level Virtual Hosting

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

With OS-Level virtualization, you set up independent

deployments of whole application stacks which cannot

share each others’ configurations, libraries, modules, etc.

Configuration of the virtual environments hosting these

deployments will either be configured at the supervisor OS

level, or via specialized "no return" system calls which

request that the OS isolate all future execution and child

processes.

In the case of User Mode Linux, a wholly-contained

execution environment is created to run a different Linux

kernel as a subprocess of a parent kernel, as a new

(8)

OS-Level Virtual Hosting (cont.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Provides the following features beyond the Environment

virtual hosting

Can be rooted at a sub-path in the filesystem, restricted

from reads/writes outside of this zone

Requires a dedicated instance of the service for each

virtual host

Lacks dedicated allocation, still competes for system

resources, but executes with significantly limited visibility

to other services

Individual applications need not be specially configured,

and will be relatively isolated from one another

Networking and IPC may still be possible between isolation

(9)

OS-Level Virtual Hosting (dia.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Extra cost is incurred by duplicating applications which

were shared under application-level virtual hosting

(10)

Hypervisor

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

A hypervisor further pushes isolation logic up to the

hardware level. Requiring special hardware features, the

hypervisor can natively execute code while maintaining

lmost complete resource isolation between the instances.

With a few small exceptions, the virtual hosts will execute

as completely dedicated OS deployments, requiring

complete OS + application installation within the virtual

guest instances.

Parent OS is called "host", while the children are called

"guests".

(11)

Hypervisor (cont.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Execute most code natively, but expose a false hardware

representation to the "guest" OS

Selectively allocate HW devices to guests

Dedicate resources or limit resource with fine granularity

Abstracted hardware enables suspend, move, restore,

close, snapshot of running guest states

(12)

Hypervisor (dia.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

(13)

Emulator

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Emulators provide an environment which attempts to

implement, in software, an entire architecture. The goal is

to provide a method to execute the code in a manner which

most closely replicates the underlying system in which the

software would execute. Minimal assistance is provided by

the host operating system, and typically no kernel-level or

other supervisory hooks are required. The entire virtualized

HW & SW stacks live entirely in user-space.

(14)

Emulator (cont.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

All code is executed at the application layer

Absolutely zero access to the host operating system

Host can execute guest code which is incompatible with

host architecture (PPC on x86, etc.)

100% visibility into hardware-level operations

Very slow execution

(15)

Emulator (dia.)

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

(16)

Hybrid Implementations

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

VirtualBox & VMWare both offer hybrid implementations

of Hypervisors and Emulators. This enables these platforms

to adapt to presence/absence of hardwrae & software

(17)

Further Reading

Virtual Hosting Common Virt. Hosting Schemes Environment Virtual Hosting Environment Virtual Hosting (cont.) Environment Virtual Hosting (dia.) OS-Level Virtual Hosting OS-Level Virtual Hosting (cont.) OS-Level Virtual Hosting (dia.) Hypervisor Hypervisor (cont.) Hypervisor (dia.) Emulator Emulator (cont.) Emulator (dia.) Hybrid

Apache "VirtualHost" examples:

http://httpd.apache.org/docs/2.2/vhosts/examples.html

Best Practices for UNIX chroot() Operations:

http://www.unixwiz.net/techtips/chroot-practices.html

FreeBSD Handbook, Chapter 15. Jails:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html

User Mode Linux: http://usermodelinux.org/

VirtualBox Documentation: https://www.virtualbox.org/wiki/Documentation

Xen Project: http://www.xenproject.org/

QEMU Project: http://wiki.qemu.org/Main_Page (emu. for x86, PowerPC, SPARC 32/64, MIPS, ARM)

References

Related documents

Through using different cortical attributes and identifying the most of discriminative features by multiplex  6 , we found that the mean sulcal depth has the highest

Virtual Hosting Solutions deliver virtual servers as well as all necessary support services for their deployment including monitoring, backup, storage, operating systems

Option 2: Using a single physical machine to host multiple virtual machines and each virtual machine running Microsoft SQL Server database instance hosting a

It is when firms continue to offer products, which are highly critical to the customers, but also the absence of which will create high level of discontentment that they

 True Virtual Hosting - Allows multiple IP address and/or host names to be served through a single and/or host names to be served through a single Apache server... Virtual Hosting:

failed to repair it You should have known about the leak and failed to repair it We have made a previous allowance for leaks We had previously recommended that you replace the

In the Plurality with Runoff rule, if there exists a manipulation for an instance with certain weights, Algorithm 3 will succeed when given an extra manipulator with maximal weight..

We conclude that, regardless of the age, size and preoperative clinical condition of the patients, and regardless of the right ventricular load, temporary detachment of