www.suse.com
Best Practices Guide
SUSE
®Cloud Installation: Best
Practices Using a SMT, Xen and
Ceph Storage Environment
Written by B1 Systems GmbH
Table of Contents
Introduction... 3
Use Case Overview...3
Hardware Requirements... 4
Ceph Details... 5
Prerequisites... 6
Allocating Nodes... 7
Deployment... 9
Database... 10
Keystone... 11
Ceph... 12
Glance... 13
Nova... 14
Nova Dashboard... 15
Sources... 16
I n t r o d u c t i o n
The following best practices guide highlights the installation process of a SUSE® Cloud Environment for a production use case as described in the Use Case Overview section. It is based on SUSE Linux Enterprise Server 11 Service Pack 2, SUSE Cloud 1.0 and Subscription Management Tool (SMT) 11 for SUSE Linux Enterprise.
With this setup you will be able to provide a full Infrastructure-as-a-Service (IaaS) cloud environment to respond rapidly and more accurately to new requirements. Whether launching a new product, rolling out a new internal service, or just responding to a spike in user demand, SUSE Cloud equips you with a dynamic and flexible cloud environment. All needed repositories will be served by an internal SMT, installed and running on the SUSE Cloud Administration Server. Additionally, the Ceph Storage System provides better performance, reliability and scalability for data access.
This best practice guide gives just a quick overview of important steps in an installation. Please refer to the official “SUSE Cloud Documentation and Deployment Guide” to get more detailed information on the installation process. The download and documentation links can be found in the Sources section.
Note: A buggy configuration will lead to unpredictable states during or after installation, which can only be resolved by re-installation. Once you have installed Crowbar on your SUSE Cloud Administration Server, it is no longer possible to change the network configuration. The same situation applies to nodes running OpenStack components. Removing a node from a role (e.g., as Keystone server) will not stop and remove the service on the node itself. You have to reinstall the node via the Administration Server Dashboard to have a “clean” system.
Use Case Overview
With this use case SUSE Cloud will be deployed with the following components:
• SUSE Cloud Administration Server with Crowbar, TFTP, PXE Server, connected to a local SMT server
• SUSE Cloud Control Node, which includes a database, identity and authentication system (Keystone), image repository(Glance), and user interface (Dashboard)
• SUSE Cloud Compute Nodes: Servers that have nova-compute deployed, which will host cloud workloads. These servers are built on SUSE Linux Enterprise Server 11 SP2 with Xen.
• Ceph storage system (as volume provider and object storage)
• Networking with Nova VLAN Manager
Illustration 1: SUSE Cloud Infrastructure Overview
Hardware Requirements
To set up the environment you need at least five physical machines: (Please refer to Chapter 2.1 Requirements in the official “SUSE Cloud Deployment Guide.”)
• One system as SUSE Cloud Administration Server, which runs Crowbar (can run as VM for testing purposes only)
• One system as SUSE Cloud Control Node (can run as VM for testing purposes only)
• Two systems for Ceph (with at least one additional disk for Ceph storage)
• Two or more systems as SUSE Cloud Compute Nodes This setup has been tested with the following x86_64 hardware:
• Administration Server — 2 Core CPU, 8 GB RAM, 80 GB HDD for OS
• Control Node — 2 Core CPU, 8 GB RAM, 80 GB HDD for OS
• Storage Node — 2 2 Core CPUs, 8 GB RAM, 80 GB HDD for OS, 1000 GB HDD for storage
• Compute Node — 2 8 Core CPUs, 128 GB RAM, 80 GB HDD for OS
Ceph Details
Ceph, the unified, distributed storage system, is designed for performance, reliability and scalability. SUSE Cloud uses the block (RBD) and object storage (RADOS) components of Ceph as volume provider (for snapshots and volumes) and as object storage. To get clear-cut results you need to have an odd number of ceph-monitors (including the master monitor). Furthermore at least 2 ceph-osd nodes are needed to store the data redundantly.
The following illustration gives a more detailed view of the storage setup. Every physical node dedicated to Ceph can simultaneously act as storage node and monitor.
Illustration 2: Infrastructure—Ceph
P r e r e q u i s i t e s
Before we deploy the needed components, we need to install the SUSE Cloud Administration Server (SUSE Cloud Deployment Guide, 3.1 Installation). Since we are using a local SMT server, the following steps which are tagged as “optional” have to be finished, too:
• SMT Add-On installation (Deployment Guide, 3.1.1.7 SMT Configuration)
• Locally mirrored repositories (Deployment Guide, 3.1.2 Setting up the SMT Repositories)
After the installation script (/opt/dell/bin/install-chef-suse.sh) is finished configuring the Administration Server, Crowbar should be accessible through the dashboard:
Illustration 3: Administration Server Dashboard—Fresh Installation
A l l o c a t i n g N o d e s
After booting either the Control Node or Compute Nodes, via PXE, they will appear in the Administration Server Dashboard. Initially they get named by their MAC address and a leading “d” for “discovered.” Wait until the node is marked yellow. Now allocate the nodes:
• Choose the first node, which will be the SUSE Cloud Control Node
• Click on “Edit”
• Change alias and group according to your needs (we use “controller-node” and “controller” for this manual)
• Click on “Allocate”
Illustration 4: Administration Server Dashboard—Allocate Node
The SUSE Cloud Administration Server using Crowbar will now install SUSE Linux Enterprise Server 11 Service Pack 2 on the Control Node. After the installation has finished, the node will be marked green and is now ready to receive the OpenStack components. Repeat this step for every node you want to use in the cloud
environment. It is advisable to group the nodes by their use: for example, create separate groups for the control, storage and compute nodes.
After you have allocated all nodes, you can see them grouped in the Nodes Overview.
Illustration 5: Administration Server Dashboard—All Nodes are Allocated
D e p l o y m e n t
Using the SUSE Cloud Administration Server Dashboard you can create different configurations, called
“proposals,” for every component. All proposals of the same component get summarized by Crowbar in barclamps. To deploy an OpenStack component you have to create a proposal and apply this to a node. In the dashboard you can get a list of all existing barclamps for OpenStack:
Illustration 6: Administration Server Dashboard—OpenStack Barclamps
You need to deploy all OpenStack components in the listed order. After you apply a proposal, Crowbar needs some time to deploy the configuration. While the system is waiting for the configuration to complete, you will see both the proposal and the affected nodes marked as “work in progress” by yellow-green spinning dots. Always wait until the deployment of a proposal is finished before applying the next one.
Database
Create a new Database proposal and change the name and the description according to your needs. In the Node Deployment section you can drag and drop nodes from the Available Nodes column to the desired role. You will want to run the database service on the controller-node, so drag it to the role and remove all unwanted nodes.
Illustration 7: Administration Server Dashboard—Create Database Proposal
Do not change the SQL Engine as MySQL is not supported by SUSE Cloud 1.0. By clicking “Apply” the service will be configured on the assigned node. In addition to using the input fields there is always the option to edit the configuration in the raw edit mode by choosing the link “Raw” at the right side of the panel.
Note: Always save after editing in the raw edit mode before applying any other changes to the proposal.
Keystone
Create a new Keystone proposal. It is advisable to give all proposals the same name if they belong to the same setup (e.g., UseCase01), so it's easier to assign new services to existing proposals later.
Illustration 8: Administration Server Dashboard—Create Keystone Proposal
Choose the previously created Database proposal “UseCase01” as SQL Instance and assign the controller-node to this role. In this screen some log-in credentials can be chosen. You need them later to log in to the OpenStack Dashboard. Apply the proposal if you're finished with the configuration.
Ceph
Create a new Ceph proposal and click on “Raw” to start the raw edit mode. To tell Ceph which disks to use we have to insert them as “devices.” After that, save the proposal. Now assign the nodes to the following roles:
• Ceph-mon-master: controller-node
• Ceph-mon: ceph-node-01, ceph-node-02
• Ceph-osd: ceph-node-01, ceph-node-02
Illustration 9: Administration Server Dashboard—Create Ceph Proposal
Glance
Create a new Glance proposal. From all the options you can set in this proposal, the important ones for our use case are:
• Image Store Directory — In this directory Glance will store all uploaded images. You can define separate partitions or mounted directories here, too.
• Bind to All Addresses (API/Registry) — Set this to “true” to permit image uploads from outside the node Glance is running on.
Illustration 10: Administration Server Dashboard—Create Glance Proposal
After you are finished with the Glance configuration, drop the controller-node to this role, too, and apply the proposal.
Nova
Create a new Nova proposal. In this proposal we have to set the following values:
• Hypervisor — Set to Xen
• Allow Same-Network Traffic — Enable this to access the cloud from the public VLAN
Illustration 11: Administration Server Dashboard—Create Nova Proposal
Now drop the controller-node to the “Nova-multi-controller” role and add every node you want to use as compute node to the “Nova-multi-compute” role. Finally, apply this proposal.
Note: If you add more compute-nodes later, just boot them until they get discovered by Crowbar and add them to the “Nova-multi-compute” role. If they are not installed yet, Crowbar will do so and apply the role when finished.
Nova Dashboard
Create a new Nova Dashboard Proposal. As we want to run this service on the controller-node, too, drop it to the
“Nova-dashboard-server” role and apply the proposal.
Illustration 12: Administration Server Dashboard—Create Nova Dashboard Proposal
Note: Once this proposal is installed, the OpenStack deployment is finished. You are now able to log in to the OpenStack Dashboard, which is running on the controller-node (http://192.168.122.2:80 in this setup).
For details on uploading cloud images and managing your OpenStack Cloud (launch instances, administrator users, etc.), please refer to the official “SUSE Cloud User Guide for Administrators” (part of the official documentation).
S o u r c e s SUSE Cloud 1.0
• Official documentation: https://www.suse.com/documentation/suse_cloud10
• ISO Images: http://download.novell.com/protected/Summary.jsp?buildid=W1JGPzPqUUU ~ Subscription Management Tool 11
• Installation Guide: https://www.suse.com/documentation/smt11/
• ISO Images: http://download.novell.com/protected/Summary.jsp?buildid=5qJ9eEidDzs ~ SUSE Linux Enterprise Server 11 Service Pack 2
• ISO Images: http://download.novell.com/protected/Summary.jsp?buildid=h0AOp5AT-18~