Openstack Scaling and Capacity Planning Flashcards

1
Q

What is the primary scaling approach used by OpenStack?

A

Horizontal scaling - adding more servers with identical configurations rather than upgrading to larger servers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What determines hardware failure likelihood in servers?

A

The chance of failure is highest at the start and end of its life cycle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the default CPU overcommit ratio in nova.conf?

A

0.6673611111111111

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the four methods to segregate an OpenStack cloud?

A

Cells,
regions,
availability zones,
and
host aggregates

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How does the OpenStack dashboard currently handle regions?

A

It uses only a single region, so one dashboard service should be run per region

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What should be considered when estimating API service load?

A

Usage patterns,
user access patterns
VM lifetime,
and frequency of VM creation/termination,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the key considerations for hardware procurement in OpenStack?

A

Hardware should be stable, supported by OpenStack-compatible Linux distribution, and have the same CPU type to support instance migration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the purpose of burn-in testing?

A

Testing that stresses hardware to its limits to trigger early-stage failures, typically done through CPU or disk benchmarks over several days

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How can you determine the scalability needs of your cloud?

A

By tracking metrics like
core count,
VM expectations,
storage requirements,
and applying ratios based on flavor templates

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the default OpenStack flavors?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the typical core capacity of a basic cloud controller server?

A

An eight core, 8GB RAM server typically handles up to a rack of compute nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What must be considered when horizontally scaling user-facing services?

A

They should be
load balanced using standard HTTP methods like
DNS round robin,
hardware load balancer, or
software like Pound or HAProxy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What special consideration must be made when load balancing the dashboard’s VNC proxy?

A

The VNC proxy uses
WebSocket protocol
which can be challenging for
L7 load balancers to handle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How can you calculate the expected number of VMs your cloud can support?
(Equation)

A

(overcommit fraction × cores) / virtual cores per instance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What role does nova-cells play in a cell-based deployment?

A

It manages the communication between the API cell and child cells

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the shared services between all availability zones?

A

Keystone and all nova services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What metric should be considered when adding object storage nodes?

A

A weight should be specified that reflects the capability of the node

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

How does nova-scheduler handle compute nodes with different specifications?

A

It automatically handles differences in core count and RAM amounts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the main purpose of the API cell in a cells deployment?

A

It runs the nova-api service but no nova-compute services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What services can be configured to use multiple processes?

A

nova-api and glance-api through a flag in their configuration files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What types of separation does a region provide?

A

Discrete separation with separate API endpoints and no coordination between regions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How are availability zones defined in OpenStack?

A

They are defined locally on each server to identify the zone in which a specified compute host resides

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is a common use case for host aggregates?

A

To provide information for use with the nova-scheduler, such as grouping hosts that share specific flavors or images

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What impact does leaving the OpenStack dashboard instances tab open have?

A

It refreshes the list of VMs every 30 seconds, potentially increasing load significantly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

How should you handle service availability in a scaled cloud?

A

User-facing services should be load balanced using standard HTTP load-balancing methods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What is unique about the API cell’s configuration?

A

It’s the only cell that runs nova-api but doesn’t run nova-compute services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

How are resource weights handled in object storage nodes?

A

A weight should be specified to reflect each node’s capability when adding new storage nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What is the recommended setup for dashboard services across regions?

A

Run one dashboard service per region since it only uses a single region

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What determines the processing power needed for cloud controller cores?

A

User access patterns, VM creation frequency, and average VM lifetime

30
Q

How does instance listing affect cloud controller load?

A

Frequent instance listing operations can significantly increase load on nova-api and its database

31
Q

What is the purpose of burn-in testing duration?

A

To run long enough (several days) to trigger potential early-stage hardware failures

32
Q

How should metadata keys be handled in host aggregates?

A

They should be set consistently and matched with instance type extra specs

33
Q

What is the relationship between cells in a deployment?

A

Cells are configured in a tree structure with an API cell at the top level

34
Q

How does OpenStack handle hardware diversity in compute nodes?

A

nova-scheduler manages differences in core count and RAM, but CPU speeds affect performance

35
Q

What should be considered when planning cloud controller capacity?

A

API service load, database server load, and queue server load based on usage patterns

36
Q

What is the recommended approach for scaling OpenStack services?

A

Horizontal scaling with identically configured services that communicate via message bus

37
Q

Why is hardware stability important in a cloud environment?

A

To provide a stable foundation for hosting volatile cloud resources and services

38
Q

What is the Configuration option that was deprecated regarding availability zones?

A

CONF.node_availability_zone was deprecated but still works

39
Q

What is the recommended hardware type for OpenStack deployment?

A

Standard value-for-money offerings that most hardware vendors stock

40
Q

How can you verify capacity requirements for cloud expansion?

A

By monitoring metrics detailed in Chapter 13, Logging and Monitoring

41
Q

What types of benchmark tests are recommended for burn-in testing?

A

CPU and disk benchmarks run over several days

42
Q

What is the main consideration when configuring services like nova-api for multiple processes?

A

Changes must be made through flags in their configuration files to enable work sharing between cores

43
Q

How does the euca-describe-availability-zones command differ in verbose mode?

A

Verbose mode shows internal availability zones while non-verbose mode hides them

44
Q

What happens to the internal availability zone in availability zone listings?

A

It’s hidden in non-verbose euca-describe-availability_zones output

45
Q

What is considered experimental in OpenStack’s segregation methods?

A

The cells feature is considered experimental

46
Q

What is the key difference in managing child cells vs. the API cell?

A

Child cells run all typical nova services except nova-api, while API cell runs only nova-api

47
Q

What are the components needed in a child cell deployment?

A

All typical nova-* services except nova-api, plus its own message queue and database service

48
Q

How can you calculate the storage requirements for your cloud?

A

Multiply the flavor disk size by the number of expected instances

49
Q

What is Table 5.2’s recommended use case for cells?

A

When you need a single API endpoint for compute or require a second level of scheduling

50
Q

What services are shared between child cells and the API cell?

A

Only Keystone and nova-api

51
Q

What considerations should be made for database loading in a scaled deployment?

A

MySQL load balancing options should be configured, and AMQP brokers should use built-in clustering support

52
Q

What is the primary difference between segregating with cells/regions versus availability zones/host aggregates?

A

Cells and regions segregate entire cloud deployments, while availability zones and host aggregates divide a single Compute deployment

53
Q

What is the AggregateInstanceExtraSpecsFilter used for?

A

To ensure instances are scheduled only on hosts in aggregates that define the same key to the same value

54
Q

What are the two filters that use allocation ratio values in host aggregates?

A

AggregateCoreFilter and AggregateRamFilter

55
Q

What is the recommended way to handle allocation ratios across multiple aggregates?

A

Each host should have only one allocation ratio for each resource, even when in multiple aggregates

56
Q

What was changed regarding availability zones for services like nova-scheduler and nova-network?

A

These services now span all availability zones instead of having their own

57
Q

What is CONF.internal_service_availability_zone used for?

A

It’s used when running operations like nova host-list, euca-describe-availability-zones verbose, and nova-manage service list

58
Q

What happened to CONF.node_availability_zone?

A

It was renamed to CONF.default_availability_zone and is now only used by nova-api and nova-scheduler services

59
Q

How should high-intensity and low-intensity computing loads be handled in the same cloud?

A

By setting different CPU and RAM allocation ratios through aggregate metadata and instance type extra specs

60
Q

What is the recommended abstraction method for allocation ratios?

A

Define an additional key-value pair like ‘overcommit’ with values ‘high,’ ‘medium,’ or ‘low’ rather than matching directly on allocation ratios

61
Q

What parameters should be monitored for key hardware specifications?

A

Storage performance (spindles/core), memory availability (RAM/core), network bandwidth (Gbps/core), and CPU performance (CPU/core)

62
Q

What types of separation can availability zones provide?

A

Physical isolation, redundancy, power supply separation, and network equipment separation

63
Q

How should compute nodes be added to an existing installation?

A

They can be simply added and will be automatically picked up by the existing installation

64
Q

What determines if a service can be installed on a new server for expansion?

A

Services that communicate only using the message queue internally can be easily added to new servers

65
Q

What is the advantage of using regions for site separation?

A

They allow for discrete separation with separate API endpoints while maintaining shared infrastructure

66
Q

What is the primary concern when having a host in multiple aggregates?

A

Avoiding conflicting allocation ratio values for the same resource across different aggregates

67
Q

What are the key metrics to monitor for cloud growth?

A

Resource usage and user growth patterns to determine when to procure additional resources

68
Q

What is the benefit of using non-identical hardware in OpenStack?

A

New nodes don’t need to be the same specification or vendor as existing nodes, providing flexibility in scaling

69
Q

How does nova-scheduler handle CPU differences in compute nodes?

A

It handles core count and RAM differences, but CPU speed differences will affect user experience

70
Q

What is the significance of WebSocket protocol in dashboard deployment?

A

It’s used by the VNC proxy and can cause challenges with L7 load balancers

71
Q

What are the three main building blocks for hardware procurement?

A

Compute, object storage, and cloud controller

72
Q

What factors affect cloud controller core requirements?

A

User patterns, VM creation frequency, and typical VM lifetime