O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Implementing Cloud Storage with OpenStack Swift

Book Description

Starting with the fundamentals and advancing to customizing techniques, this tutorial will give you all the OpenStack Swift skills you need, whether building your own cloud storage or using a third-party facility.

In Detail

Swift, OpenStack's cloud software project, allows users to build cloud storage, a method used widely to slash costs and improve usability. With Swift, not only can users build storage using inexpensive commodity hardware, but they can also use public cloud storage that is built using the same technology. This book will provide you with the skills to build and operate your own cloud storage or use a third-party cloud

You will start with the fundamentals of cloud storage, how OpenStack Swift is useful for cloud storage, and a review of Swift's architecture. Next, learn about installation, use, and managing Swift with step-by-step instructions and ample screenshots. Perform basic data transfers and access-control-list management using REST APIs. Hardware choice, Swift tuning, and use cases will round off your skills. This book is an invaluable tool if you want to get a head-start in the world of cloud storage using OpenStack Swift.

What You Will Learn

  • Understand OpenStack Swift architecture and how it can be used to build cloud storage
  • Install OpenStack Swift in a multi-cluster environment
  • Choose the right hardware configuration as per your system requirements
  • Tune Swift for your particular workload and use case
  • Explore what use cases OpenStack Swift is suitable for

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Implementing Cloud Storage with OpenStack Swift
    1. Table of Contents
    2. Implementing Cloud Storage with OpenStack Swift
    3. Credits
    4. Foreword
    5. About the Authors
    6. About the Reviewers
    7. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    8. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
      7. Downloading the example code
        1. Errata
        2. Piracy
        3. Questions
    9. 1. Cloud Storage: Why Can't I be like Google?
      1. Elements of cloud storage
        1. Reduced TCO
        2. Unlimited scalability
        3. Elastic
        4. On-demand
        5. Universal access
        6. Multitenanancy
        7. Use cases
        8. Application impact
          1. Cloud gateways
      2. Object storage
      3. OpenStack Swift
      4. Summary
    10. 2. OpenStack Swift Architecture
      1. The logical organization of objects
      2. The Swift implementation
        1. Key architectural principles
        2. Physical data organization
        3. Data path software servers
          1. A day in the life of a create operation
          2. A day in the life of a read operation
          3. A day in the life of an update operation
          4. A day in the life of a delete operation
        4. Postprocessing software components
          1. Replication
          2. Updaters
          3. Auditors
          4. Other processes
        5. Inline middleware options
          1. Auth
          2. Logging
          3. Other modules
      3. Additional features
        1. Large object support
        2. Metadata
        3. Multirange support
        4. CORS
        5. Server-side copies
        6. Cluster health
      4. Summary
    11. 3. Installing OpenStack Swift
      1. Hardware planning
      2. Server setup and network configuration
        1. Preinstallation steps
        2. Downloading and installing Swift
        3. Setting up storage server nodes
          1. Installing services
          2. Formatting and mounting hard disks
          3. RSYNC and RSYNCD
        4. Setting up the proxy server node
        5. The ring setup
          1. Starting services on all storage nodes
        6. Multiregion support
        7. The Keystone service
          1. Installing MySQL
          2. Installing Keystone
      3. Summary
    12. 4. Using Swift
      1. Installing the clients
      2. Creating a token using authentication
      3. Displaying metadata information for an account, container, or object
        1. Using the Swift Client CLI
        2. Using cURL
        3. Using the REST API
      4. Listing containers
        1. Using the Swift Client CLI
        2. Using cURL
      5. Listing objects in a container
        1. Using the Swift Client CLI
        2. Using cURL
        3. Using the REST API
      6. Updating the metadata for a container
        1. Using the Swift Client CLI
        2. Using the REST API
      7. Environment variables
      8. Pseudo-hierarchical directories
      9. Container ACLs
      10. Transferring large objects
      11. Amazon S3 API compatibility
        1. Accessing Swift using S3 commands
      12. Accessing Swift using client libraries
        1. Java
        2. Python
        3. Ruby
      13. Summary
    13. 5. Managing Swift
      1. Routine management
        1. Swift cluster monitoring
          1. Swift Recon
          2. Swift Informant
          3. Swift dispersion tools
          4. StatsD
          5. Swift metrics
      2. Logging using rsyslog
      3. Failure management
        1. Detecting drive failure
        2. Handling drive failure
        3. Handling node failure
          1. Proxy server failure
        4. Zone and region failure
      4. Capacity planning
        1. Adding new drives
        2. Adding new storage and proxy servers
      5. Migrations
      6. Summary
    14. 6. Choosing the Right Hardware
      1. The hardware list
      2. The hardware selection criteria
        1. Step 1 – choosing the storage server configuration
        2. Step 2 – determining the region and zone configuration
        3. Step 3 – choosing the account and container server configuration
        4. Step 4 – choosing the proxy server configuration
        5. Step 5 – choosing the network hardware
        6. Step 6 – choosing the ratios of various server types
        7. Step 7 – choosing additional networking equipment
        8. Step 8 – choosing a cloud gateway
      3. Additional selection criteria
      4. The vendor selection strategy
        1. Branded hardware
        2. Commodity hardware
      5. Summary
    15. 7. Tuning Your Swift Installation
      1. Performance benchmarking
      2. Hardware tuning
      3. Software tuning
        1. The ring considerations
        2. Data path software tuning
        3. Postprocessing software tuning
      4. Additional tuning parameters
      5. Summary
    16. 8. Additional Resources
      1. Use cases
        1. Service providers
        2. Web 2.0
        3. Enterprises
      2. Operating systems used for OpenStack implementations
      3. Virtualization used for OpenStack implementations
      4. Provisioning and distribution tools
      5. Monitoring and graphing tools
      6. Additional information
      7. Summary
    17. A. Advanced Features
      1. Commands
      2. List
        1. Examples
      3. Stat
        1. Examples
      4. Post
        1. Examples
      5. Upload
        1. Examples
      6. Download
        1. Examples
      7. Delete
        1. Examples
    18. Index