-
Getting Started (38)
- Connecting to your OpenVPN server
- Setting up OpenVPN server on your instance
- Bluemix Private Cloud Components
- What Should I Do Prior to Detaching a Volume?
- Virtual python environments and you: A developer's primer
- Technical FAQ
- IBM Bluemix Private Cloud Building Blocks (Community Edition)
- Building Blocks for IBM Bluemix Private Cloud with Red Hat
- IBM Bluemix Private Cloud with Red Hat - Product Overview
- General Product Overview
- Resizing an Instance (Non-live)
- Set Up Network Connectivity Between Multiple Cloud Environments, Using the Private Network
- Customer Guide for Windows Activation
- View More ( 7 )
Common Technical Questions
- Adding or removing subscribers to a ticket
- How do I view my bill?
- How do I report an issue?
- How do I escalate a ticket?
- Bluemix Private Cloud Status Pages
- Transferring A Domain From Blue Box
- View More ( 2 )
Common Administrative Questions
- Box Panel User Guide
- Box Panel, Site Controller, and IBM Bluemix Private Cloud Local
- Building Up to OpenStack — QEMU and Your Cloud
- Building Up to OpenStack II -- Improving Cloud Performance
- Cloud 101 -- Optimized Load Balancing
- User's Guide to Cloud Images (IBM Bluemix Private Cloud with Red Hat)
- User's Guide to Cloud Images (Community Edition)
- IBM Bluemix Private Cloud Image Release Notes
- View More ( 4 )
User Guides
-
Troubleshooting (19)
- Instance in error status: libvirt error
- Why does it take 4-5 seconds to SSH to my instance?
- Why can't I SSH to an instance, or ping it?
- Error: 'Server doesn't support microversions' When Running Nova Commands
- Cloud Foundry: Invalid Availability Zone Error
- Attempt to Create a Router is Failing
- How Many Simultaneous Connections can HAProxy Handle?
- When using any of the OpenStack CLIs on Windows, I get authentication failure errors
- Why are all the floating IPs that were assigned to me not available?
- Why can't I delete my project/tenant from the Horizon dashboard?
- Error: No valid host was found
- Why Can't I See My New vCPUs Listed in Horizon?
- Error: Failure prepping block device
- Why Can’t I Delete A Security Group?
- Troubleshooting FAQ
- Why Can't I Ping Across My Tenant Networks?
- Why can't I use L2pop when I want my vIP instances to failover?
- View More ( 11 )
-
Open Stack (15)
- How to Launch an Instance from a Volume
- Importing a VHD image that uses linux volume management for its root directory
- OpenStack Network Concepts
- Creating an Instance with a Specific Fixed IP
- OpenStack Mitaka CLI Notes
- Why Choose OpenStack?
- OpenStack Storage Concepts
- Ursula and OpenStack
- How to Create An Instance With Static IP
- Quotas
- How to Isolate Tenants (Projects)
- External reference materials
- View More ( 3 )
User Docs
-
Horizon [GUI] (10)
- Creating Additional Networks in OpenStack Using the Horizon Panel
- Using Horizon for Snapshots
- Allocating and Attaching a Public (Floating) IP to an Instance
- Creating a volume from the Horizon dashboard
- Horizon for Administrators
- Launching an instance from the Horizon dashboard
- Launching an instance from the Horizon dashboard (OpenStack Newton release)
- How do I set a reverse DNS (PTR) record for an IBM Bluemix Private Cloud instance?
- Using Horizon
- Horizon Troubleshooting FAQ
-
Nova [Compute] (13)
- How do I set an initial username and password on a Windows instance in OpenStack?
- Instance Live Migration
- How to Create an Instance and Make it Available Publicly Using the Command Line
- What happens behind the scenes when I boot a virtual machine, and how can I make it boot faster?
- How Can I Restrict Floating IPs?
- Can I create an instance and add files to it using config drive?
- How can I create an instance with the Nova command line client?
- How can I define flavor vCPU topology?
- How to deploy an instance to a specific hypervisor node
- What is the maximum spec I can set for a flavor?
- Migrating an instance to a new cloud
- Metadata Service in OpenStack Neutron and Nova
- How can I get hypervisor statistics?
-
Neutron [Networking] (22)
- How Can I Check My Network IP Availability?
- How can you isolate project networks connected to a shared router?
- How can I find the time a floating IP was associated or disassociated from an instance?
- Load Balancing Methods
- Multi-tier Router Configuration Within Your IBM Bluemix Private Cloud
- How do I set up DNS records pointing to OpenStack instances?
- Routing Internal Traffic Between Projects
- Add a Specific Fixed Private IP to an Instance
- Configuring DNS for Instances
- Configuring multiple network interfaces for your own cloud images
- How to configure a highly-available IP
- Creating virtual networks on IBM Bluemix Private Cloud
- When creating port failed, how could I do ?
- How Can I See My IPs?
- How Can I Update DNS?
- VPN, VLAN, and Direct Link
- Using BYOFIP Connectivity Between IBM Bluemix Private Cloud and a Customer Site
- Introduction to Load Balancer as a Service (LBaaS)
- Using the CLI to Set Up Security Groups
- IBM Blue Box Network Use Cases
- Where Are the First Two IPs?
-
Glance [Images] (6)
-
Cinder [Block Storage] (13)
- What causes read-only Cinder volumes and how can I fix them?
- Cinder Volume Stuck
- Alternative Method For Block Storage Volume Encryption (using an Ubuntu Guest VM)
- Creating Encrypted Volumes with Cinder is Not Supported
- Managing Block Storage
- Creating a volume with the command line
- Is creating a volume from an instance snapshot supported?
- How Can I Resize a Cinder Volume?
- Which Cinder Volume Types are supported in Cloud Instance?
- How to Move from Ephemeral Disk to Cinder Storage
- Can I enable volume full clone more than copy-on-write clone?
- How to Force a Snapshot on an Attached Volume
- What do I do if the Cinder client returns 'ERROR: Unable to establish connection' message and fails to connect?
-
Keystone [Identity] (8)
- OpenID Connect Federation on IBM Bluemix Private Cloud
- Keystone SAML Federation on IBM Bluemix Private Cloud
- Role-Based Access Control
- Managing Users and Projects
- Keystone to Keystone (K2K) Federation on IBM Bluemix Private Cloud
- Projects and Security Groups
- Custom Domains within Keystone V3
- Getting Started with Keystone Federated Identity
-
Heat [Orchestration] (7)
-
Ceilometer [Telemetry] (1)
What happens behind the scenes when I boot a virtual machine, and how can I make it boot faster?
- by Ulysses Kanigel ● January 9, 2017
-
Tags:
nova
instance
VM
virtual
boot
time
speed
slow
fast
glance
image
size
What happens behind the scenes on a compute node when I boot a virtual machine?
Here’s an example of a typical 7-second build with a 618MB Red Hat Enterprise Linux 7.2 QCOW2 image, already cached on the compute node, prepared with virt-sparsify
and virt-sysprep
, and the default m1-medium
flavor:
19:38:45.816 lock is acquired to build & run instance (0s to acquire lock)
19:38:45.946 resources are claimed (Memory, Disk, CPU)
19:38:46.045 network build starts
19:38:46.168 IP allocated
... misc nova virt API tasks run
19:38:46.905 qemu-img create runs
19:38:47.047 libvirt driver retrieves network info, device mapping info
19:38:48.606 VM starts
... instance power state is synchronized with controller database
19:38:52.196 network virtual interface plugged in
19:38:52.299 VM instance build complete
If it’s taking longer than this, here are a few possible causes:
- your image may be large
- you may be running pre or post-instance creation scripts
- you may be associating multiple networks/IPs
- the image may not be cached yet on the compute node you’re deploying to
Instance provisioning always takes longer the first time, because the image has to be copied from your Glance image store to the compute node. After the first time, provisioning from the same image on the same compute node will be quicker.
How can I make instances boot faster?
- Set your grub timeout to 0 seconds.
- Ensure that your images are only as large as they need to be.
- On each compute node, keep one long-term instance that uses the same backing image as the new instance you’re spinning up. This technique ensures that the
glance-image
cache in base on each compute node is populated. - When running your Nova boot command, hard code the UUID for the image, network, and flavor. This technique can trim 4 seconds or so from your boot time.
- If you’re using Chef and want to further optimize image creation and boot time, check out Brian O’Connell’s excellent series of detailed articles on doing just that: http://infrastructuredevops.com/categories/#bluebox