Table of Contents

Copyright Statement

About the Sponsor

Harnessing the Power of the Cloud with SUSE

Introduction

The Cloud

Public, Private and Hybrid Clouds

OpenStack

SUSE OpenStack Cloud

Features

Hardware Requirements

High Availability

Virtualization

Storage

Ceph

Deployment and Management

Security and Support

Bimodal IT

Summary

PETROS KOUTOUPIS is currently a senior software developer at IBM for its Cloud Object Storage division (formerly Cleversafe). He is also the creator and maintainer of the RapidDisk Project (http://www.rapiddisk.org). Petros has worked in the data storage industry for more than a decade and has helped pioneer the many technologies unleashed in the wild today.

Copyright Statement

Geek Guides:

Mission-critical information for the most technical people on the planet.

Copyright Statement

© 2017 Linux Journal. All rights reserved. 

This site/publication contains materials that have been created, developed or commissioned by, and published with the permission of, Linux Journal (the “Materials”), and this site and any such Materials are protected by international copyright and trademark laws.

THE MATERIALS ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. The Materials are subject to change without notice and do not represent a commitment on the part of Linux Journal or its Web site sponsors. In no event shall Linux Journal or its sponsors be held liable for technical or editorial errors or omissions contained in the Materials, including without limitation, for any direct, indirect, incidental, special, exemplary or consequential damages whatsoever resulting from the use of any information contained in the Materials.

No part of the Materials (including but not limited to the text, images, audio and/or video) may be copied, reproduced, republished, uploaded, posted, transmitted or distributed in any way, in whole or in part, except as permitted under Sections 107 & 108 of the 1976 United States Copyright Act, without the express written consent of the publisher.  One copy may be downloaded for your personal, noncommercial use on a single computer. In connection with such use, you may not modify or obscure any copyright or other proprietary notice.

The Materials may contain trademarks, services marks and logos that are the property of third parties. You are not permitted to use these trademarks, services marks or logos without prior written consent of such third parties.

Linux Journal and the Linux Journal logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. If you have any questions about these terms, or if you would like information about licensing materials from Linux Journal, please contact us via e-mail at info@linuxjournal.com.

About the Sponsor

SUSE, a Micro Focus company, provides and supports enterprise-grade Linux and open-source solutions with exceptional service, value and flexibility. With partners and communities, we innovate, adapt and deliver secure Linux, cloud infrastructure and storage software to create solutions for mixed enterprise IT environments. We help customers harness the benefits and power of an open enterprise that can empower their possibilities.

Harnessing the Power of the Cloud with SUSE

PETROS KOUTOUPIS

Introduction

Data—it’s what drives the market, and its evolving need to be more accessible has led to the creation of this little thing we call the cloud. In the past decade alone, the paradigm shift toward a wider and more accessible network has forced both hardware vendors and service providers to rethink their strategies and cater to a new model of storing information and serving application resources. As more individuals and businesses connect themselves to the greater world, it becomes increasingly necessary to simplify the deployment and management of all of these cloud-exposed services. This is where the enterprise-grade SUSE OpenStack Cloud steps into the forefront, showcasing its advantages over competing solutions.

The Cloud

The cloud has become synonymous with all things data storage. It also equates to the many web-centric services accessing that same data storage, and it has evolved to mean so much more as well. Cloud computing provides more simplified access to server, storage, database and application resources, with users provisioning and using the minimum set of requirements as they see fit to host their application needs. This new form of computing has provided many already established and new businesses the tools they needed to migrate most, if not all, of their workloads from local data centers to public cloud service providers. And for those who prefer to host their workload either internally or partially in the public cloud, sometimes motivated by security, data sovereignty or compliance requirements, private and hybrid cloud offerings continue to provide the same amount of service, but all within your control. In fact, the private cloud is growing much faster than public cloud adoption in large enterprises for the reasons listed above.

Public, Private and Hybrid Clouds

Based on the standard cloud computing model, the public cloud enables service providers to provide resources that include applications and storage over the internet. Relative to each respective service provider, those services may be offered under a pay-per-usage model or for free.

The public cloud differentiates itself from the private cloud in that the private cloud typically is deployed in the data center and under an organization’s internal network using its cloud computing technologies—that is, it is developed for and maintained by the organization it serves. Private clouds are best for businesses with computing needs requiring them to be more in control of their environment. Private clouds also are intended for those who want to deliver new levels of efficiency and automation in their existing data centers while also protecting existing investments and driving down costs.

It’s easy to get caught up in this whole “public cloud thing”. This is even more the case when all you see and hear are the biggest players, which include Amazon (Amazon Web Service or AWS), Microsoft (Azure), Google (Google Cloud Platform) and IBM (Bluemix, formerly SoftLayer), pushing their services. But there is an even newer phenomenon taking hold of the cloud computing industry—that is, the rise of the private cloud and the hybrid cloud. The hybrid cloud provides a mixture of on-premises and internally hosted data centers, private and public cloud services, with transparent and seamless access across all deployments.

OpenStack

Modern frameworks exist to glue all the moving components of the cloud together (that is, storage, compute and networking). One such framework is OpenStack. If you haven’t heard of it already, you definitely are behind the times. OpenStack is an open-source framework designed to build and manage both public and private clouds. Its interrelated components control hardware pools of processing, storage and networking resources, all managed through a web-based dashboard, a set of command-line utilities or through a RESTful Application Program Interface (API).

OpenStack’s primary goal was to create a single and universal framework to deploy and manage various technologies in the data center dynamically. Originally started in 2010, an effort jointly launched by Rackspace Hosting and NASA, the project has since grown exponentially and attracted a wide number of supporters and users, and if you haven’t realized it by now, this includes SUSE. SUSE is a founding member and platinum sponsor of the OpenStack Foundation.

FIGURE 1. A General Overview of OpenStack (Image from the OpenStack Project Website)

Although OpenStack exports and publishes its own unique API, the project does strive to maintain compatibility with competing APIs, which includes Amazon’s Elastic Cloud Compute 2 (EC2) and Swift Storage Service (S3). The idea is to allow developers to migrate their technologies from competing ecosystems into OpenStack with little effort.

Some of the more commonly used components or modules to OpenStack include:

■ Nova (compute): to manage both bare-metal and hypervisor image deployments.

■ Neutron (networking): to manage networks and IP addresses.

■ Cinder (block storage): to manage the creation, attachment and detachment of block storage devices to computing server nodes.

■ Keystone (identity): to enable a common authentication system for all users across the cloud.

■ Glance (image): to manage disk and server images while also maintaining backups.

■ Swift (object storage): to manage object data sets across a horizontally distributed storage cluster.

■ Horizon (dashboard): the graphical interfaces used to manage all OpenStack cloud-based resources.

SUSE OpenStack Cloud

When it comes to Linux, it goes without saying that SUSE is one of the most influential companies to build and offer open-source solutions for the enterprise space. SUSE released the very first comprehensive Linux distribution in 1992, and in the years following, it continuously refined and adapted to the constantly changing market. SUSE’s success in the enterprise space in the late 1990s created a sharp focus on providing enterprise-grade open-source solutions backed by exceptional service and support. SUSE’s 24+ years of Linux engineering experience extends into the cloud with SUSE OpenStack Cloud.

SUSE OpenStack Cloud is built on top of the already industry-proven SUSE Linux Enterprise Server, and leveraging OpenStack, it offers an enterprise-grade private cloud solution. SUSE OpenStack Cloud is an automated cloud computing platform designed with emphasis on high availability (HA), virtualization, rapid deployment and ease of use.

Features

Powered by OpenStack Newton, SUSE OpenStack Cloud 7 is fully integrated with the entire SUSE product portfolio, which includes the Ceph-powered SUSE Enterprise Storage. It is designed to leverage your existing data-center infrastructure to deploy rapidly and manage a private cloud securely.

A SUSE OpenStack Cloud installation will contain the following:

■ A SUSE OpenStack cloud administration server.

■ One or more SUSE OpenStack cloud control nodes.

■ SUSE OpenStack cloud compute nodes.

■ SUSE OpenStack cloud storage nodes.

FIGURE 2. A General Overview of SUSE OpenStack Cloud Infrastructure (Image from SUSE OpenStack Cloud Documentation)

The administration server sets up the cloud and configures it while also provisioning the control, compute and storage nodes. Most of the services provided in this deployment are automated and managed with the Crowbar tool, which leverages the industry-proven automation framework provided by Chef. The administration server provides DHCP, DNS, NTP, PXE and TFTP services while also hosting the software repositories needed for node deployments.

The control nodes host all the needed OpenStack services to orchestrate virtual machines deployed on the compute nodes. The control nodes also monitor the resource state of each compute and storage node. This is where highly available enabled services are monitored across the cluster. The control nodes monitor storage capacities on the storage nodes, while also collecting CPU and networking data on the compute nodes (some of which can be used for billing purposes). These control nodes act as a central point for the cloud architecture by running multiple services. To avoid performance bottlenecks, multiple control nodes can be deployed in a cluster. This allows the same services to be appropriately distributed across the control nodes and also provides high availability protection for the control plane.

Compute nodes are physical servers used to host KVM and Xen virtual machines. Servers running ESXi also can be managed through integration with VMware vCenter. These machines need to be equipped with sufficient numbers of CPUs and also with enough RAM and storage to start multiple virtual machine instances. It is up to the control node(s) to distribute those virtual instances effectively across the pool of configured compute nodes.

The storage nodes are physical servers managing block, object or file (Ceph, CephFS or Swift) storage.

Hardware Requirements

SUSE OpenStack Cloud is fully supported on all SUSE Linux Enterprise Server certified hardware appliances. You can find this list on the SUSE YES CERTIFIED web page located at http://www.suse.com/yessearch.

To run the administration server, the requirements are an x86_64 server with the following:

■ An Intel Xeon or AMD Opteron or later, at least 2GHz with 512KB cache.

■ At least 8GB of RAM, but 32GB or higher is recommended.

■ No less than 40GB of hard disk space.

The control nodes need the same CPU and memory as the administration nodes, but it is recommended to run with no less than 30GB of disk space in production. Note that additional disk storage is required for virtual machine images, volumes and snapshots launched on the compute nodes.

The compute and storage nodes must run on the same x86_64 CPU architectures listed above but also must support the following:

■ Intel-VT or AMD-V virtualization extensions.

■ The recommended 16GB of RAM or higher.

■ At least 30GB or more of hard disk space.

High Availability

At the software layer, the goal of configuring for high availability is to provide continuous and uninterrupted service for sometimes critical business applications, all while masking both planned and unplanned outages. These include failures that can be a result of system crashes, network failures, storage issues and more. Downtime can cost a company time and resources and potentially a loss in business. The requirement for this is to identify any and all single points of failure and eliminate them by configuring redundant instances, sometimes even balancing the workload across these same redundant instances via a concept typically referred to as load balancing. High availability technologies are designed to detect failures quickly and recover from them automatically.

SUSE OpenStack Cloud 7 extends its HA capabilities beyond just the compute and control nodes and also includes protection for virtual machines and workloads. To reduce downtime and/or data loss, SUSE OpenStack Cloud allows you to deploy your control or compute nodes in an HA cluster. You are able to assign certain roles to the cluster instead of assigning them to individual nodes.

All HA-enabled roles are handled automatically by the clustering software made available by the SUSE Linux Enterprise (SLE) High Availability Extension. This HA extension uses the Pacemaker cluster stack, with Pacemaker as the cluster resource manager and the Corosync engine as the messaging layer. The sole purpose of this HA software stack is to ensure that a desired resource is running on at least one node within an active cluster. If that resource is not running on the designated preferred or master server node, it will fail over to a designated secondary or slave server node.

Now, in the event of a misbehaving or unresponsive node, this same cluster engine will fence that node from the active cluster. This is to ensure that it does not disrupt and/or corrupt running services or data sets. Included in this cluster stack is another tool called STONITH. When configured appropriately, it will attempt to recover the failing or misbehaving node, typically by attempting to force a reboot or a power down. These actions usually are accomplished outside the server’s loaded operating system and over a hardware-networked management interface called Intelligent Platform Management Interface (IPMI).

Virtualization

Virtualization is key to enabling the cloud. Originally it was deployed to make better use of physical servers by enabling the over-provisioning of resources and, in turn, re-using them at the end of the virtual server lifecycle. The idea behind it is a noble one. Why invest in allocating more server hardware and not utilize it to its full potential, when instead you can consolidate it all onto one or a few servers and share their resources? In turn, the costs to acquire new hardware, energy consumption and management are reduced significantly.

More important for cloud computing, virtualization provides an abstraction layer that enables users to define virtual servers programmatically. This enables self-service definition and scheduling of resources including virtual CPUs, virtual disks and virtual networks. This is frequently referred to as the software-defined infrastructure. End users now have the ability to create servers on demand, avoiding the usually lengthy delays associated with having a systems administrator provision real or virtual servers. This results in lower operational costs, which complement the lower acquisition costs that virtualization initially provided.

And as this technology plugs into a much larger ecosystem, these virtual resources are managed through a set of standardized APIs, allowing for more control of the overall infrastructure and letting the users run it the way they need it. It is more about self service and less about resource utilization.

As previously stated, SUSE OpenStack Cloud supports multiple hypervisors, which include KVM and Xen, the capability to be integrated within VMware vCenter and even z/VM support for IBM z-Systems mainframes. Each compute node can run only one hypervisor at a time, which can be chosen during the node’s deployment. The workload images loaded onto each instance are managed by OpenStack’s Glance component.

When a compute node fails, all virtual machines (VMs) running on that node will go down. Although it will not protect against failures of individual VMs, SUSE OpenStack Cloud’s HA setup for compute nodes helps minimize VM downtime by migrating and resurrecting those VMs onto other compute nodes. Additional measures are taken to monitor specific and vital services within each local compute node. For instance, if the nova-compute or libvirtd services fail on a given compute node, the Pacemaker resource agent will attempt to recover them automatically. If that recovery fails or if the node becomes unreachable (via the network), that node will be fenced from the cluster immediately, and all VMs will fail over to a different compute node.

The OpenStack Nova module manages all VM instances by providing a means for configuring, starting and stopping virtual machines.

With the introduction of SUSE OpenStack Cloud 7, container orchestration is now included to help with building new cloud-native workloads and supporting DevOps initiatives. This is achieved via Kubernetes as a Service capabilities managed by OpenStack Magnum. It enables any OpenStack user to set up a dedicated Kubernetes cluster to deploy containerized workloads easily. It has the added benefit of auto-scaling.

Storage

If you recall from earlier, SUSE OpenStack Cloud manages block, object and file storage across multiple storage nodes. You are able to run production workloads for block, object and file storage within a single cluster.

Access to virtual block devices is enabled and managed by OpenStack’s Cinder module. Cinder gives users the ability to define a block device and attach it to a single virtual machine. Cinder supports access to multiple back-end storage systems including Ceph’s RADOS Block Device (RBD) component. Other back ends are supported simultaneously, which include local disks (not recommended), VMware or network storage solutions from EMC, EqualLogic, Fujitsu and/or NetApp.

Object storage is provided by SUSE Enterprise Storage (Ceph) through the object storage gateway (RadosGW) or by the OpenStack Swift module. Access is through either the Amazon S3 or OpenStack RESTful APIs.

For file storage, the OpenStack shared filesystem (Manila) gives users the ability to create, enable and disable NFS or CIFS shares on top of external storage devices. SUSE OpenStack Cloud leverages CephFS to enable shared storage.

In SUSE OpenStack Cloud, all block and object storage is persistent, in that files and images are stored until they are deleted explicitly. A more temporary or ephemeral storage does exist for images attached to an instance. These ephemeral images exist only during the life of that instance and are deleted immediately when that virtual guest is terminated.

Both Swift and Ceph take HA into consideration within their design; therefore, not much more effort is required to make the storage highly available. With Swift, object data is replicated across multiple storage nodes. The amount of Replicas is user-definable but by default is configured to a minimum of three. In a Swift deployment, the number of storage nodes needs to be greater than the number of Replicas. Ceph also offers both data security and redundancy by storing object data across multiple storage nodes. A Ceph deployment will run in a similar fashion to that of Swift, where the data object will be replicated across the cluster of Ceph-enabled nodes. In order to enable Ceph, at least three dedicated nodes need to be configured.

The same cannot be said when accessing Cinder and Manila volumes, or any other data access services. While the storage framework underneath will be enabled for fault-tolerance, additional HA technologies must be employed to ensure uninterrupted availability of those volumes and services. This is where both Corosync and Pacemaker step into the equation.

Ceph

As mentioned earlier, Ceph treats and stores data as objects. This is unlike traditional (and legacy) data storage solutions, where data is written to and read from the storage volumes via sectors and at sector offsets (often referred to as blocks). Object storage simplifies the management of large data sets. It also scales as the quantity and size of those data sets grow. For these reasons, it has become the preferred method of storing data in cloud-enabled applications. This object-driven model enables Ceph for simplified scalability to meet consumer demand easily. These objects are replicated across an entire cluster of nodes, giving Ceph its fault tolerance and further reducing single points of failure. Ceph serves as the backbone to the SUSE Enterprise Storage (SES) platform.

To elaborate further on the built-in HA comments I made earlier, Ceph has been designed to self-heal and self-manage. All of this happens at a lower level and is transparent to the user or a client application.

For accessibility, Ceph exposes three interfaces into user space, the first of which is an object store. This object store is accessible via a RESTful interface and supports both OpenStack Swift and the Amazon Simple Storage Service (S3). Through this method, a web application can send direct PUT, GET and DELETE methods to the object store without having to rewrite application code or worry where the object gets stored. It is this Swift support that plugs directly into the SUSE OpenStack Cloud framework.

The second interface is a thinly provisioned block device (that is, the RBD). The goal behind it is to allow Ceph to slide right into existing computing environments. Applications and virtual environments accessing file/block volumes do not need to be re-architected but still would be able to leverage most of the features, functionality and resiliency that Ceph has to offer. An advantage to Ceph’s object-based model, the block device and the filesystem interfaces (see below) above it are well equipped for snapshots, clonings and better load-balancing support. This is where OpenStack’s Cinder manages the block device for both applications and virtual machine access.

The third and final interface is a filesystem (CephFS). Although at the end of the day the filesystem provides accessibility to storage back ends from virtual machines, similar to a block device, CephFS connects through a different OpenStack module—Manila. Instead of enabling users to define virtual block devices, Manila enables them to create virtual file folders that can be shared across multiple virtual machines. They are not limited to the single VM access of block devices. In this way, they work just as traditional network file servers. CephFS connects directly to the object store back end, which provides better performance and simplifies maintenance and debugging compared with creating a virtual machine to provide the file sharing capability through Cinder. Manila also can access a number of storage arrays to provide the back-end capacity.

Deployment and Management

Automation, automation, automation—the benefits of automation are felt as early as the installation process. Just select a disk drive and “go”. Within the span of a few minutes, the installer will install all relevant components, verify the installation and immediately reboot into the newly installed SUSE image. This could not get any easier. On first boot, you are greeted with the YaST2 (Yet another Setup Tool) configuration utility, and the configuration of the system continues to be simplified with more automation via predefined scripts.

FIGURE 3. The SUSE OpenStack Cloud Management Page

Once everything is deployed, all future management of the cloud itself is handled through the OpenStack Horizon dashboard accessible through the administration node’s IP address.

FIGURE 4. The SUSE OpenStack Cloud Overview Page

Security and Support

Let’s face reality here; no system is immune to attacks. Any OS is a potential gateway to attached applications, but as a result of its open-source nature, Linux is in a better position to identify and rectify issues. This is why SUSE continuously enhances the security of its solutions by pushing security patches and package updates, security certifications and maintaining a proper configuration of the SUSE firewall. The high standard for security from SUSE also extends to the cloud as all instances of SUSE deployments receive updates at the same time that updates are made available from SUSE and are all available to install using standard SUSE Linux Enterprise systems management tools. As of SUSE OpenStack Cloud 7, it is now possible to deliver non-disruptive upgrades to avoid system downtime and service interruption.

One huge advantage of working with SUSE is its first-class support. SUSE offers one-year or three-year subscriptions, including priority support, which entitles the customer to 24x7x365 email and technical support, advertised with one-hour response times.

Bimodal IT

In recent years, the topic of Bimodal IT has come to the forefront of OpenStack-related discussions. As defined by Gartner, Inc., Bimodal IT is “the practice of managing two separate but coherent styles of work: one focused on predictability; the other on exploration.” Mode 1 is optimized for the more predictable environments and is intended to run workloads on more traditional or legacy environments. Mode 2 is the more exploratory and experimental approach, typically used to enable new cloud-native application development environments. It essentially segregates the “good” technology, processes and skill sets (Mode 1) from the “experimental” (Mode 2).

Some OpenStack solutions cater only to new cloud workload development and hosting (Mode 2). This is not the case for SUSE OpenStack Cloud, where it has been designed to support the widest range of hypervisors and has the broadest hardware support by being built on SUSE Linux Enterprise Service. It is an ideal platform for new cloud-native workloads, but it also can help modernize existing data-center environments and protect existing investments by hosting or migrating more traditional and/or mission-critical workloads when it makes the best business sense to do so. It helps evolve existing data centers, delivering improved efficiency and automation, while helping to reduce costs.

Summary

When you make a long-term technology investment, you want to protect that investment from future issues. When it comes to private cloud adoption, choosing a cloud platform and operating system that provide best-in-class performance, reliability, availability and security backed by enterprise-class support will be a key to the long-term success and stability of your IT modernization strategy.

There is no doubt that SUSE OpenStack Cloud 7 fills that requirement to its fullest. With improved scalability, you can deploy SUSE OpenStack Cloud across multiple data centers to enable access to, manage and control multiple private clouds, all managed through a single and easy-to-use user interface.

Improve the productivity of your IT staff and free yourself from the burdens of managing complicated cloud infrastructures with SUSE OpenStack Cloud. Scale your workload to meet the needs of your users and do so with no disruptions or unnecessary downtime. And, do it all with the comfort of knowing that SUSE’s professional staff are always standing by to provide you with the best first-class support should you ever need it.■