By submitting your personal information, you agree to receive emails regarding relevant products and special offers from TechTarget and its partners. You also agree that your personal information may be transferred and processed in the United States, and that you have read and agree to the Terms of Use and the Privacy Policy.

OpenStack not only provides the software building blocks to build a private cloud, it’s also licensed under Apache 2.0, which means there are no software licensing costs. Major industry vendors such as Rackspace, Citrix, Dell, Cisco and Microsoft participate in the OpenStack project. The OpenStack development team is committed to an open, modular design that supports open standards and all major virtualization platforms -- Microsoft Hyper-V, Citrix XenServer, KVM and VMware ESX.

Building and maintaining an open source private cloud isn’t for every company; however, if you have the infrastructure and development staff, it’s worth the effort.

A common concern with moving corporate data to a public cloud involves the multi-tenant structure and often is a driver behind building a private stack or cloud. The OpenStack project has a vulnerability management team as well as teams to address audits and cloud security improvements, a definite indication that security is a priority to the project. While these are all positive aspects of OpenStack, the most important elements are the software components it provides.

Understanding OpenStack cloud components

The OpenStack architecture includes several high-level components, including compute servers, a message queue, a relational database, networking services, application programming interfaces (APIs) and a management dashboard. Redundant copies of components are used for resiliency and availability; persistent data is kept in a distributed data store.

OpenStack is a shared-nothing system and components communicate using a messaging queue based on Advanced Message Queue Protocol (AMQP) and implemented with RabbitMQ. Cloud controllers use SQLAlchemy, a Python toolkit for relational databases, so any compatible relational database can provide persistent storage for cloud controllers. The OpenStack architecture provides three network configurations based on subnets, DHCP and VLANs, which allow users to have virtual private network access to projects.

Installing and configuring OpenStack

When you are ready to install OpenStack, you have the option to use ISO images; scripts; or a manual, step-by-step installation method. The step-by-step method assumes you are familiar with tools like git-hub and apt-get as well as with configuring a relational database like MySQL or PostgresSQL.

Once you have the software installed, you’ll need to configure OpenStack using a series of configuration files, most important of which is nova.conf. (Nova refers to the compute services within OpenStack.) It’s in this configuration file that you would specify your settings for virtualization, networking, relational database, image server information, directory services and API connection parameters. You’ll also need to configure the Identity Service, known as Keystone, and define users and roles.

OpenStack’s storage service, or Swift, is installed as a separate component. Remember: OpenStack developers recommend as least five nodes for a production cluster. An optional component, the OpenStack Dashboard, provides a Web interface to the OpenStack API.

Remaining error-free when building an OpenStack cloud

If you think there are a lot of moving parts in OpenStack, you’re right. Each time you install a component or configure a setting, you are open to error. Setting configuration parameters is a common source of problems; admins often misconfigure network settings, improperly authenticate credentials, disable daemons on compute servers or run the wrong type of image for the system.

If you think there are a lot of moving parts in OpenStack, you’re right. Each time you install a component or configure a setting, you are open to error.

Other problems can occur with instances; for example, an instance stuck in a pending state can be caused by a missing or corrupt file that supports the virtual machine, disk, kernel or ramdisk. By setting the logging option to debug, you might be able to gather enough details about the problematic process to isolate the root cause.

The OpenStack cloud system also has a complex set of dependencies. The documentation provides detailed descriptions of which packages are required for particular components and how to obtain them by using package management utilities such as apt-get. Following this should help mitigate the risk of creating unmet dependencies.

Running a private cloud requires a substantial amount of effort, time and infrastructure know-how. OpenStack is a well-supported open source cloud project that provides a robust platform complete with the compute, storage, image and identity management components.

About the author:Dan Sullivan, M.Sc., is an author, systems architect and consultant with over 20 years of IT experience with engagements in advanced analytics, systems architecture, database design, enterprise security and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail and education, among others. Dan has written extensively about topics ranging from data warehousing, cloud computing and advanced analytics to security management, collaboration, and text mining.

Working with OpenStack storage: Tips on Cinder, Swift and the cloud

GUIDE SECTIONS

0 comments

E-Mail

Username / Password

Password

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy