0%

Book Description

Design, deploy, and maintain your own private or public Infrastructure as a Service (IaaS), using the open source OpenStack platform. In this practical guide, experienced developers and OpenStack contributors show you how to build clouds based on reference architectures, as well as how to perform daily administration tasks.

Table of Contents

  1. Acknowledgments
  2. Preface
    1. Introduction to OpenStack
    2. Who This Book Is For
    3. How This Book Is Organized
    4. Why and How We Wrote This Book
    5. How to Contribute to This Book
  3. Provisioning and Deployment
    1. Automated Deployment
      1. Disk Partitioning and RAID
      2. Network Configuration
    2. Automated Configuration
    3. Remote Management
  4. Cloud Controller Design
    1. Hardware Considerations
    2. Separation of Services
    3. Database
    4. Message Queue
    5. Application Programming Interface (API)
    6. Extensions
    7. Scheduler
    8. Images
    9. Dashboard
    10. Authentication and Authorization
    11. Network Considerations
  5. Scaling
    1. The Starting Point
    2. Adding Controller Nodes
    3. Segregating Your Cloud
      1. Cells and Regions
      2. Availability Zones and Host Aggregates
    4. Scalable Hardware
      1. Hardware Procurement
      2. Capacity Planning
      3. Burn-in Testing
  6. Compute Nodes
    1. CPU Choice
    2. Hypervisor Choice
    3. Instance Storage Solutions
      1. Off Compute Node Storage – Shared File System
      2. On Compute Node Storage – Shared File System
      3. On Compute Node Storage – Non-shared File System
      4. Issues with Live Migration
      5. Choice of File System
    4. Overcommitting
    5. Logging
    6. Networking
  7. Storage Decisions
    1. OpenStack Storage Concepts
      1. Object Storage
      2. Block Storage
      3. File-level Storage
    2. Choosing Storage Back-ends
      1. Commodity Storage Back-end Technologies
    3. Notes on OpenStack Object Storage
  8. Network Design
    1. Management Network
    2. Public Addressing Options
    3. IP Address Planning
    4. Network Topology
      1. VLANs
      2. Multi-NIC
      3. Multi-host and Single-host Networking
    5. Services for Networking
      1. NTP
      2. DNS
  9. Example Architecture
    1. Overview
    2. Rationale
      1. Why Not Use the OpenStack Network Service (quantum)?
      2. Why Use Multi-host Networking?
    3. Detailed Description
    4. Optional Extensions
  10. Lay of the Land
    1. Client Command Line Tools
      1. Installing the Tools
      2. Administrative Command Line Tools
      3. Getting Credentials
      4. Command Line Tricks and Traps
      5. Servers and Services
      6. Diagnose your compute nodes
    2. Network
    3. Users and Projects
    4. Running Instances
  11. Managing Projects and Users
    1. Projects or Tenants?
    2. Managing Projects
      1. Adding Projects
    3. Quotas
      1. Set Compute Service Quotas
      2. Set Block Storage quotas
    4. User Management
    5. Creating New Users
    6. Associating Users with Projects
      1. Customizing Authorization
      2. Users that Disrupt Other Users
  12. User-facing Operations
    1. Images
      1. Adding Images
      2. Deleting Images
      3. Other CLI Options
      4. The Image Service and the Database
      5. Example Image Service Database Queries
    2. Flavors
      1. How do I modify an existing flavor?
    3. Security groups
    4. Block Storage
      1. Block Storage Creation Failures
    5. Instances
      1. Starting Instances
      2. Instance Boot Failures
      3. Instance-specific Data
    6. Associating Security Groups
    7. Floating IPs
    8. Attaching Block Storage
    9. Taking Snapshots
      1. Ensuring snapshots are consistent
    10. Instances in the Database
  13. Maintenance, Failures, and Debugging
    1. Cloud Controller and Storage Proxy Failures and Maintenance
      1. Planned Maintenance
      2. Rebooting a cloud controller or Storage Proxy
      3. After a Cloud Controller or Storage Proxy Reboots
      4. Total Cloud Controller Failure
    2. Compute Node Failures and Maintenance
      1. Planned Maintenance
      2. After a Compute Node Reboots
      3. Instances
      4. Inspecting and Recovering Data from Failed Instances
      5. Volumes
      6. Total Compute Node Failure
      7. /var/lib/nova/instances
    3. Storage Node Failures and Maintenance
      1. Rebooting a Storage Node
      2. Shutting Down a Storage Node
      3. Replacing a Swift Disk
    4. Handling a Complete Failure
    5. Configuration Management
    6. Working with Hardware
      1. Adding a Compute Node
      2. Adding an Object Storage Node
      3. Replacing Components
    7. Databases
      1. Database Connectivity
      2. Performance and Optimizing
    8. HDWMY
      1. Hourly
      2. Daily
      3. Weekly
      4. Monthly
      5. Quarterly
      6. Semi-Annually
    9. Determining which Component Is Broken
      1. Tailing Logs
      2. Running Daemons on the CLI
      3. Example of Complexity
    10. Upgrades
    11. Uninstalling
  14. Network Troubleshooting
    1. Using “ip a” to Check Interface States
    2. Network Traffic in the Cloud
    3. Finding a Failure in the Path
    4. tcpdump
    5. iptables
    6. Network Configuration in the Database
      1. Manually De-Associating a Floating IP
    7. Debugging DHCP Issues
    8. Debugging DNS Issues
  15. Logging and Monitoring
    1. Where Are the Logs?
      1. Cloud Controller
      2. Compute Nodes
      3. Block Storage Nodes
    2. How to Read the Logs
    3. Tracing Instance Requests
    4. Adding Custom Logging Statements
    5. RabbitMQ Web Management Interface or rabbitmqctl
    6. Centrally Managing Logs
      1. rsyslog Client Configuration
      2. rsyslog Server Configuration
    7. StackTach
    8. Monitoring
      1. Process Monitoring
      2. Resource Alerting
      3. OpenStack-specific Resources
      4. Intelligent Alerting
      5. Trending
  16. Backup and Recovery
    1. What to Backup
    2. Database Backups
    3. File System Backups
      1. Compute
      2. Image Catalog and Delivery
      3. Identity
      4. Block Storage
      5. Object Storage
    4. Recovering Backups
  17. Customize
    1. DevStack
    2. Middleware Example
    3. Nova Scheduler Example
    4. Dashboard
  18. Upstream OpenStack
    1. Getting Help
    2. Reporting Bugs
      1. Confirming & Prioritizing
      2. Bug Fixing
      3. After the Change is Accepted
    3. Join the OpenStack Community
    4. Features and the Development Roadmap
    5. How to Contribute to the Documentation
    6. Security Information
    7. Finding Additional Information
  19. Advanced Configuration
    1. Differences between various drivers
    2. Periodic tasks
    3. Specific configuration topics
      1. OpenStack Compute (Nova)
  20. Use Cases
    1. NeCTAR
      1. Deployment
      2. Resources
    2. MIT CSAIL
      1. Deployment
    3. DAIR
      1. Deployment
      2. Resources
    4. CERN
      1. Deployment
      2. Resources
  21. Tales From the Cryp^H^H^H^H Cloud
    1. Double VLAN
    2. “The Issue”
    3. Disappearing Images
    4. The Valentine’s Day Compute Node Massacre
    5. Down the Rabbit Hole
  22. Resources
  23. Glossary