Openstack Scaling and Capacity Planning Flashcards
What is the primary scaling approach used by OpenStack?
Horizontal scaling - adding more servers with identical configurations rather than upgrading to larger servers
What determines hardware failure likelihood in servers?
The chance of failure is highest at the start and end of its life cycle
What is the default CPU overcommit ratio in nova.conf?
0.6673611111111111
What are the four methods to segregate an OpenStack cloud?
Cells,
regions,
availability zones,
and
host aggregates
How does the OpenStack dashboard currently handle regions?
It uses only a single region, so one dashboard service should be run per region
What should be considered when estimating API service load?
Usage patterns,
user access patterns
VM lifetime,
and frequency of VM creation/termination,
What are the key considerations for hardware procurement in OpenStack?
Hardware should be stable, supported by OpenStack-compatible Linux distribution, and have the same CPU type to support instance migration
What is the purpose of burn-in testing?
Testing that stresses hardware to its limits to trigger early-stage failures, typically done through CPU or disk benchmarks over several days
How can you determine the scalability needs of your cloud?
By tracking metrics like
core count,
VM expectations,
storage requirements,
and applying ratios based on flavor templates
What are the default OpenStack flavors?
m1.tiny (1 core, 512MB RAM), m1.small (1 core, 2GB RAM), m1.medium (2 cores, 4GB RAM), m1.large (4 cores, 8GB RAM), m1.xlarge (8 cores, 16GB RAM)
What is the typical core capacity of a basic cloud controller server?
An eight core, 8GB RAM server typically handles up to a rack of compute nodes
What must be considered when horizontally scaling user-facing services?
They should be
load balanced using standard HTTP methods like
DNS round robin,
hardware load balancer, or
software like Pound or HAProxy
What special consideration must be made when load balancing the dashboard’s VNC proxy?
The VNC proxy uses
WebSocket protocol
which can be challenging for
L7 load balancers to handle
How can you calculate the expected number of VMs your cloud can support?
(Equation)
(overcommit fraction × cores) / virtual cores per instance
What role does nova-cells play in a cell-based deployment?
It manages the communication between the API cell and child cells
What are the shared services between all availability zones?
Keystone and all nova services
What metric should be considered when adding object storage nodes?
A weight should be specified that reflects the capability of the node
How does nova-scheduler handle compute nodes with different specifications?
It automatically handles differences in core count and RAM amounts
What is the main purpose of the API cell in a cells deployment?
It runs the nova-api service but no nova-compute services
What services can be configured to use multiple processes?
nova-api and glance-api through a flag in their configuration files
What types of separation does a region provide?
Discrete separation with separate API endpoints and no coordination between regions
How are availability zones defined in OpenStack?
They are defined locally on each server to identify the zone in which a specified compute host resides
What is a common use case for host aggregates?
To provide information for use with the nova-scheduler, such as grouping hosts that share specific flavors or images
What impact does leaving the OpenStack dashboard instances tab open have?
It refreshes the list of VMs every 30 seconds, potentially increasing load significantly
How should you handle service availability in a scaled cloud?
User-facing services should be load balanced using standard HTTP load-balancing methods
What is unique about the API cell’s configuration?
It’s the only cell that runs nova-api but doesn’t run nova-compute services
How are resource weights handled in object storage nodes?
A weight should be specified to reflect each node’s capability when adding new storage nodes
What is the recommended setup for dashboard services across regions?
Run one dashboard service per region since it only uses a single region