Date post: | 27-Jan-2017 |
Category: |
Software |
Upload: | otn-systems-hub |
View: | 258 times |
Download: | 2 times |
Using Oracle VM VirtualBox as Your Development Platform CON8355
Jeff Savit Senior Technical Product Manager Oracle VM Product Management October 2, 2014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
3
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Oracle VM VirtualBox Introduction
Product Features
VirtualBox for developers
Example use case
Where to get more information
1
2
3
4
5
4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle VM VirtualBox Product Introduction
5
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle VM VirtualBox
Host Platforms
Guest Platforms
Oracle VM VirtualBox Desktop Virtualization
• For Windows, Linux, Solaris and Mac Hosts
• Huge Guest Coverage
• Easy to install and use
• Fast and powerful
• Free for Personal Use
Cross-Platform Virtualization
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• BYOD
• Desktop migration
• Legacy protection
• Solution delivery mechanism
• Software development
• Mobile demonstration units
Solutions
Cross Platform Virtualization Software
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Product Features
8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Simplicity VirtualBox Manager
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle VM VirtualBox Cross Platform Virtualization Software
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Simplicity Shared Folder Automounting
11
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Performance
• Processor: 1-32 vCPUs per guest; 32-bit and 64-bit guests; PAE support; with or without VT-x/AMD-V (EPT/Nested Paging, VPID supported)
• RAM: up to 1TB per guest • Storage: SATA, SAS, SCSI or IDE controllers; >100 disks; integrated iSCSI initiator • Network: up to 8 NICs per guest; Intel gigabit; virt-io; PCnet • Virtual USB Controller: USB 1.1 and 2.0 (3.0 planned for next major release); pass-through and virtual
devices • Audio: Intel High Definition Audio • Full ACPI Support: guests show real power status • Virtual CD/DVD: pass-through for CD/DVD writing, multiple concurrent • Display Adaptor: multi-monitor capable with graphics acceleration: OpenGL for Windows, Linux, Solaris
Guests; Direct3D for Windows; 2D Video acceleration, built-in RDP Server • Page Fusion: memory sharing with hints (Windows guests)
High Performance Virtual Hardware
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Host Platform
en0: 129.156.4.212 Built-in DHCP server for guests Gateway: 10.0.2.2
VirtualBox NAT Networking
• Guests sit on own private LAN • VirtualBox acts as a DHCP Server • VirtualBox NAT engine translates
addresses • Destination servers see traffic originating
from VirtualBox host • No configuration needed on Host or
Guest • Great when guests are clients • Not good for guests as servers • IPv4 only
Zero Guest Configuration
Guest Platform
vm1: 10.0.2.15
Guest Platform
vm2: 10.0.2.15
Guest Platform
vm3: 10.0.2.15
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Host Platform
en0: 129.156.4.212 Built-in DHCP server for guests Gateway: 10.0.2.2
VirtualBox Port Forwarding with NAT
• Guests connect out via NAT as usual
• Clients on the network can connect to host:port and be mapped to a guest:port
• No guest reconfiguration required when host moves across networks
For Mobile Server-based Guests
Guest Platform
vm1: 10.0.2.15
Guest Platform
vm2: 10.0.2.15
Guest Platform
vm3: 10.0.2.15
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Internal Networking
• Guests can see other guests on same internal network
• IPv4 or IPv6 • Host cannot see internal network • Network configuration needed • Functions even when Host
disconnected. • Can be used in conjunction with
Bridged • Good for multi-tier solutions
Totally Isolated Network
Host Platform
en0: 129.156.4.212
Guest Platform
vm1: 10.0.2.1
Guest Platform
vm2: 10.0.2.2
Guest Platform
vm3: 10.0.2.3
intnet
New
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Host-only Networking
• VirtualBox creates a private internal network for guests and host
• Host sees a new software NIC • IPv4 or IPv6 • VirtualBox provides a DHCP server • Guests cannot see outside world • Guests function even when host
disconnected • Great for development
Convenient Internal Networking
Built-in DHCP server for guests en0: 192.168.56.1
en0: 129.156.4.212
Guest Platform
vm1: 192.168.56.101
Guest Platform
vm2: 192.168.56.102
Guest Platform
vm3: 192.168.56.103
VBoxNet0
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox NAT Network
• Guests can see other guests on same internal network
• Guests connect out via NAT • Optional DHCP service • IPv4 or IPv6 • Host cannot see internal network • Port-forwarding supported • Functions even when Host
disconnected. • Good for multi-tier solutions • This new NAT engine is more flexible
and will replace the older one in a future release
Private Network with NAT services
Host Platform
en0: 129.156.4.212
Guest Platform
vm1: 10.0.2.1
Guest Platform
vm2: 10.0.2.2
Guest Platform
vm3: 10.0.2.3
VBoxNet0
New in 4.3
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Bridged Networking
• VirtualBox bridges to Host Network • Good for clients or server guests • IPv4 or IPv6 • Consumes IP addresses • May involve configuration of guest • Best for production environments
Guests are Full Network Citizens
Guest Platform
vm1: 129.156.4.10
Host Platform
en0: 129.156.4.212
Guest Platform
vm2: 129.156.4.11
Guest Platform
vm3: 129.156.4.12
New
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox
Storage
Client
Server
VirtualBox
Storage
VirtualBox
Storage
iSCSI
RDP
Powerful Deployment Options Client-side, Assisted Client-side, Server-side
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Guest
Hypervisor
vRDP Server
Guest Guest Guest
Standalone RDP Client
(e.g. Microsoft RDC, rDesktop)
Browser-based Flash RDP
Client
VirtualBox Remote Display
• High performance Remote Display Server
• Microsoft RDP compatible • Sits “beneath” guests • No RDP requirement on guest • Delivers boot-time display of VM
consoles • Companion Flash RDP client
Built-in access to virtual machine console
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power Export and Import appliances in OVF and OVA formats
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Session Recording
• Records the screen contents • 1 or more screens • WebM video format • Configurable quality • Easy to start/stop for recording
portions of sessions
Record movies of VM sessions
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Manager
Start – Starts from any state (boot or resume) – Start headless (<Shift> Start)
Show (bring to front) Pause Reset Close
– Save state – Send Shutdown signal – Poweroff
Discard saved state Show in filesystem Sort
Groups Operations
VBoxManage list groups
VBoxManage createvm --name <name>
[--groups <group>, ...]
VBoxManage modifyvm <uuid|name>
[--groups <group>, ...]
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power Online Snapshot creation AND deletion
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Virtual Machine Clones
• Full Clones – Full copy – Disk UUIDs automatically made unique – Optionally MAC addresses made unique – VirtualBox Manager and CLI
• Linked clones – VM config is copied – A snapshot is taken at source – The clone uses a child differencing disk with
source snapshot as parent
Easily duplicate virtual machines
Virtual Machine A
VM Configuration
Virtual Disks and Snapshots
Clone of Virtual Machine
Copy of VM Configuration
Copy of Virtual Disks and Snapshots
Virtual Machine A Clone of Virtual Machine
VM Configuration
Virtual Disks and Snapshots
Copy of VM Configuration
Differencing disk
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
User Mode
• Web Service interfaces • COM/XPCOM interfaces • Python interfaces and interactive shell
• Command line interface VBoxManage • Pluggable Virtual Device architecture and APIs
Kernel Mode
VirtualBox Hypervisor Windows, Linux, OS X, Solaris, FreeBSD
VirtualBox API layer language neutral programming interface
Teleportation
Web Services API
Portability Layer
cross platform
abstraction layer
Command line interface VirtualBox Console GUI
Virtual Devices
binary compatible
interface, 3rd Party plug-in
Resource Monitor VRDP Server
Powerful Software Development Kit (SDK)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power
• Powerful command line tools
# VBoxManage …
• Python shell
# python vboxshell.py
Command Line Interface
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power
• CPU throttle (can be useful but take care to ensure guest receives enough service) VBoxManage controlvm "Windows 7 (x64)" cpuexecutioncap 50
• Disk I/O limiter VBoxManage bandwidthctl "VM name" --name Limit --add disk --limit 20
VBoxManage storageattach "VM name" --controller "SATA" --port 0 --device 0 --type hdd --medium disk1.vdi --bandwidthgroup Limit
• Dynamic adjustments
Controllable Power
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power
Create folders and copy files into the guest filesystem VBoxManage copyto|cp <vmname>|<uuid> <source on host> <destination on guest> --username <name> --password <password> [--dryrun] [--follow] [--recursive] [--verbose]
Execute commands inside the guest from the host VBoxManage guestcontrol exec[ute] <vmname>|<uuid> <path to program> --username <name> --password <password> [--arguments "<arguments>"] [--environment "<NAME>=<VALUE> [<NAME>=<VALUE>]"] [--flags <flags>] [--timeout <msec>][--verbose] [--wait-for exit,stdout,stderr||]
Guest Automation
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power Guest Automation
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Developer challenges • “Write once, run anywhere” still not reality
– Need to build for and test on multiple platform combinations – Multi-platform products can require a lot of hardware to create, test, ship, support
• Test / experiment sandboxes – Takes time, human effort, physical resources to set one up on bare metal
• Or preserve an old environment that a customer is still running
– Hard to snapshot an entire environment or revert it to a known-good point • If it’s hard for me to fall back to a known point, I might be less adventurous trying things out
• Platform deployment challenges – Different kernel, library, compiler, product installer versions to build on and test to
32
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
How developers can use VirtualBox • Stand up virtual machines for each build/test case
– Script VM creation using VBoxManage to reduce effort, get reproducible VMs – Create families of VMs for complex apps (eg: database, app, and access VMs)
• “Build system” VMs to create binaries for different target systems – Different operating systems (eg: Linux, Solaris, Windows) – Different variants of the same OS (eg: Oracle Linux, Red Hat Linux, Ubuntu, SuSE, etc) – Different generations of the same variant (eg: Solaris 10, Solaris 11) – Different language environments (eg: different JVM, gcc versions, libraries)
33
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
How developers can benefit from VirtualBox • Test/regression/support VMs
– Same patterns as OS and software environment, plus ability to test • Different network topologies • Different memory (including stress states like “low memory”), disk, CPU configurations • Different security policies
– Run many tests in parallel to limit of capacity
• Be able to reproduce customer environment (within reason) • Other uses:
– Training, demos, new hire onboarding in a safe place – Document team workspaces
34
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
How developers can use VirtualBox • Safe experimentation:
– Import VMs from a library of “ready to run” VM appliances for each supported flavor – Take a VM snapshot before and after making an “interesting” change – Clone VMs for parallel test runs – Revert to a VM snapshot or clone at a given snapshot level – Export VM appliances for reuse – Use for:
• Program changes • Multi-host simulation • “What if” scenarios
35
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Example VirtualBox developer use cases
36
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle VM under VirtualBox Screen capture of (from left to right, top to bottom)
• Console of Oracle Linux VM running under Oracle VM Server (itself a VM)
•Console of Oracle Linux VM running Oracle VM Manager
•Console of two Oracle VM Server VMs
Notes:
•3rd level guests must be PVM guests, and don’t get virtual network connectivity
•iSCSI, NFS both work
•Live migration of 3rd level VMs between OVM servers works
37
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox for Virtual Machines Oracle VM, and Oracle Virtual Compute Appliance • Oracle VM Compute Appliance is Oracle’s Engineered System for Oracle VM
– Converged Infrastructure combining compute, networking, and storage with the Oracle VM virtualization product pre-installed • Two management nodes for orchestration and administration • Two or more Oracle VM Servers (“compute nodes”) • ZFS storage appliance • Oracle Virtual Networking and datacenter switches • Virtual Compute Appliance “orchestrator” discovers and provisions servers
• Wouldn’t it be nice to have a simulated environment for demo, test, etc? • VCA simulator uses VirtualBox to host VMs that run the management,
compute, storage and network components (and their iLOMs)
38
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Virtual Compute Appliance under VirtualBox Screen capture of host system running VirtualBox and showing:
•VirtualBox management panel
•Simulated iLOM
•Terminal windows driving scripts
39
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Virtual Compute Appliance under VirtualBox Shows provisioning process (including PXE boot) VCA uses to populate Oracle VM Server
Different networks map to “real” VCA networks for storage, management, iLOM, VM access, live migration
40
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Virtual Compute Appliance under VirtualBox Screen capture of host system running VirtualBox and showing:
•VirtualBox management panel
•Simulated iLOM
•Compute node being provisioned over (virtual) network with Oracle VM Server
•Terminal windows driving scripts
41
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Virtual Compute Appliance under VirtualBox Screen capture of host system running VirtualBox and showing:
•VirtualBox management panel
•Simulated iLOM
•Terminal windows driving scripts
42
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox for Developers • Powerful platform to run multiple VMs on the same host system • Features attractive to developers:
– Support for wide range of host and client VM operating systems – Snapshot, clone, revert – Export/import appliances – Powerful network configuration options – Advanced display support – Highly programmable and scriptable – Easy: it doesn’t get in your way; short learning curve
44
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Where to get more information
45
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Stay Connected
• Oracle.com/virtualization • @virtualbox • Facebook.com/OracleVMVirtualBox • Oracle VM Group • Blogs.oracle.com/virtualization
Join our communities, visit our websites for more information
46
Youtube.com/virtualization Focus on Virtualization and OpenStack
Download: edelivery.oracle.com/oraclevm Training: education.oracle.com/virtualization
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power
• Easy duplication of virtual machines • Full clones or linked clones • Automatic regeneration of UUIDs and
MAC addresses
VM cloning
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
2D Video App
VirtualBox Guest Additions
VirtualBox
Host OpenGL Libraries
OpenGL Hardware
Guest
Host
OpenGL/Direct3D App
VirtualBox Intercept Libraries
Performance Graphical Acceleration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Performance 2D Video Acceleration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Performance Graphical Acceleration using OpenGL and Direct3D
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power Multiple Virtual Monitors
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
VirtualBox Power Virtual Webcam
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Windows XP
Windows XP
Physical Memory
Windows XP
VirtualBox Power
• Page Fusion = Page Sharing + Hints • Less computationally expensive with immediate benefits • Higher density of Virtual Machines • Windows guests only at present
Page Fusion