Technical. AMD Reference Architecture for SeaMicro SM15000 Server and Ubuntu OpenStack 14.04 LTS (Icehouse) Table of Contents



Similar documents
AMD SEAMICRO OPENSTACK BLUEPRINTS CLOUD- IN- A- BOX OCTOBER 2013

Deploying workloads with Juju and MAAS in Ubuntu 13.04

Ubuntu Cloud Infrastructure - Jumpstart Deployment Customer - Date

HP Reference Architecture for OpenStack on Ubuntu LTS

Release Notes for Fuel and Fuel Web Version 3.0.1

How To Build A Cloud Server For A Large Company

Ubuntu OpenStack on VMware vsphere: A reference architecture for deploying OpenStack while limiting changes to existing infrastructure

Getting Started with OpenStack and VMware vsphere TECHNICAL MARKETING DOCUMENTATION V 0.1/DECEMBER 2013

Installation Runbook for Avni Software Defined Cloud

How To Install Openstack On Ubuntu (Amd64)

CloudCIX Bootcamp. The essential IaaS getting started guide.

Cloud.com CloudStack Community Edition 2.1 Beta Installation Guide

NOC PS manual. Copyright Maxnet All rights reserved. Page 1/45 NOC-PS Manuel EN version 1.3

SUSE Cloud Installation: Best Practices Using a SMT, Xen and Ceph Storage Environment

How To Deploy An Openstack Private Cloud On An Nc Dx1000 Micro Server

Building a Penetration Testing Virtual Computer Laboratory

SUSE Cloud Installation: Best Practices Using an Existing SMT and KVM Environment

Ubuntu OpenStack Fundamentals Training

Introduction to VMware EVO: RAIL. White Paper

VM-Series Firewall Deployment Tech Note PAN-OS 5.0

Pluribus Netvisor Solution Brief

Virtual Appliance Setup Guide

Accelerate Cloud Initiatives with Cisco UCS and Ubuntu OpenStack

How To Speed Up A Flash Flash Storage System With The Hyperq Memory Router

Reboot the ExtraHop System and Test Hardware with the Rescue USB Flash Drive

SUSE Cloud 2.0. Pete Chadwick. Douglas Jarvis. Senior Product Manager Product Marketing Manager

rackspace.com/cloud/private

Parallels Cloud Server 6.0

Installation Guide Avi Networks Cloud Application Delivery Platform Integration with Cisco Application Policy Infrastructure

Cloud on TEIN Part I: OpenStack Cloud Deployment. Vasinee Siripoonya Electronic Government Agency of Thailand Kasidit Chanchio Thammasat University

Exinda How to Guide: Virtual Appliance. Exinda ExOS Version Exinda, Inc

Rackspace Private Cloud Reference Architecture

Elasticsearch on Cisco Unified Computing System: Optimizing your UCS infrastructure for Elasticsearch s analytics software stack

FOR SERVERS 2.2: FEATURE matrix

How To Use Openstack On Your Laptop

Altor Virtual Network Security Analyzer v1.0 Installation Guide

Reference Design: Scalable Object Storage with Seagate Kinetic, Supermicro, and SwiftStack

GRAVITYZONE HERE. Deployment Guide VLE Environment

SECURE, ENTERPRISE FILE SYNC AND SHARE WITH EMC SYNCPLICITY UTILIZING EMC ISILON, EMC ATMOS, AND EMC VNX

ProphetStor Federator Runbook for Mirantis FUEL 4.1 Revision

StarWind iscsi SAN: Configuring Global Deduplication May 2012

Mirantis

Springpath Data Platform with Cisco UCS Servers

Solving I/O Bottlenecks to Enable Superior Cloud Efficiency

Parallels Cloud Server 6.0

Pharos Control User Guide

Storage Sync for Hyper-V. Installation Guide for Microsoft Hyper-V

HP SDN VM and Ubuntu Setup

Installation Guide July 2009

Guide to the LBaaS plugin ver for Fuel

Cisco for SAP HANA Scale-Out Solution on Cisco UCS with NetApp Storage

ServerPronto Cloud User Guide

Openstack. Cloud computing with Openstack. Saverio Proto

Unitrends Virtual Backup Installation Guide Version 8.0

BLACK BOX. Quick Start Guide. Virtual Central Management System (VCMS) Works with LES Series Console Servers. LES-VCMS. Customer Support Information

QuickStart Guide for Managing Computers. Version 9.2

Private cloud computing advances

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: COMPETITIVE FEATURES

PARALLELS SERVER 4 BARE METAL README

Backup & Disaster Recovery Appliance User Guide

PHD Virtual Backup for Hyper-V

Preparation Guide. How to prepare your environment for an OnApp Cloud v3.0 (beta) deployment.

Acano solution. Virtualized Deployment R1.1 Installation Guide. Acano. February B

Install Guide for JunosV Wireless LAN Controller

Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice.

CommandCenter Secure Gateway

How To Set Up Egnyte For Netapp Sync For Netapp

Project Documentation

XenClient Enterprise Synchronizer Installation Guide

Private Cloud in Educational Institutions: An Implementation using UEC

Clodoaldo Barrera Chief Technical Strategist IBM System Storage. Making a successful transition to Software Defined Storage

Virtualization, SDN and NFV

Mit Soft- & Hardware zum Erfolg. Giuseppe Paletta

MaxDeploy Hyper- Converged Reference Architecture Solution Brief

Introduction to Junos Space Network Director

Plexxi Control Installation Guide Release 2.1.0

CDH installation & Application Test Report

Deploying Red Hat Enterprise Virtualization On Tintri VMstore Systems Best Practices Guide

Offline Scanner Appliance

Dell High Availability Solutions Guide for Microsoft Hyper-V

Step-by-Step Guide. to configure Open-E DSS V7 Active-Active iscsi Failover on Intel Server Systems R2224GZ4GC4. Software Version: DSS ver. 7.

HCIbench: Virtual SAN Automated Performance Testing Tool User Guide

Privileged Cloud Storage By MaaS JuJu

Citrix Lab Manager 3.6 SP 2 Quick Start Guide

Microsoft Exchange Solutions on VMware

Mobile Cloud Computing T Open Source IaaS

PowerVC 1.2 Q Power Systems Virtualization Center

FlexArray Virtualization

SYNNEFO: A COMPLETE CLOUD PLATFORM OVER GOOGLE GANETI WITH OPENSTACK APIs VANGELIS KOUKIS, TECH LEAD, SYNNEFO

1 Keystone OpenStack Identity Service

Active Fabric Manager (AFM) Plug-in for VMware vcenter Virtual Distributed Switch (VDS) CLI Guide

Veeam Cloud Connect. Version 8.0. Administrator Guide

Introduction to Virtual Datacenter

MaxDeploy Ready. Hyper- Converged Virtualization Solution. With SanDisk Fusion iomemory products

Getting Started with ESXi Embedded

Intel Cloud Builder Guide to Cloud Design and Deployment on Intel Platforms

Hadoop on OpenStack Cloud. Dmitry Mescheryakov Software

Remote/Branch Office IT Consolidation with Lenovo S2200 SAN and Microsoft Hyper-V

F-Secure Internet Gatekeeper Virtual Appliance

System Administration Training Guide. S100 Installation and Site Management

Transcription:

Technical OVERVIEW AMD Reference Architecture for SeaMicro SM15000 Server and Ubuntu OpenStack 14.04 LTS (Icehouse) September 2014 www.seamicro.com Table of Contents Introduction.................................................................2 SeaMicro SM15000 Server Overview..............................................3 Canonical Ubuntu OpenStack LTS 14.04 Overview...................................4 Scalability...................................................................4 Reference Architecture.........................................................5 Installation..................................................................8 Disk Assignment...........................................................8 Multi-Chassis Scalability.....................................................10 Ubuntu Pre-setup..........................................................10 Ubuntu Overview: 3 Easy Steps...............................................10 Setup Juju...............................................................12 Deploy OpenStack.........................................................15 Deploying Your First Virtual Machine Instance......................................18 Uploading an OS Image.....................................................18 Deploying an Instance from Horizon............................................18 Deployment DONE!........................................................19 Links to More Documentation..................................................19 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 1

Introduction AMD has partnered with Canonical to provide an OpenStack solution that is tested, easy to install and scales to hundreds of thousands of virtual machines. The solution leverages the unique capabilities of the SeaMicro SM15000 server, one of the industry s highest density and energy efficient server systems and Ubuntu OpenStack. The SeaMicro SM15000 server combines compute, storage and networking into a 10 rack unit system. Furthermore, the SeaMicro SM15000 server consumes up to 50 percent less power than traditional data center servers. The OpenStack Project has the ambitious goal of becoming a widely adopted cloud operating system that can build out massively large pools of compute, storage and networking managed through an integrated dashboard. OpenStack OpenStack is an open source project and currently provides tremendous flexibility with seemingly endless combinations of options and technologies. The flexibility does come at a cost, resulting in complexity when it comes to installation, deployment and upgrades. AMD and Canonical have created a solution that abstracts away the complexity, making OpenStack simple and easy to deploy. Simplifying OpenStack: Works Out of the Box The complexity of OpenStack has been one of the primary reasons for its slow adoption and feature maturation. OpenStack is a distributed software system with many interdependencies. The different technologies are developed by a series of interrelated projects and can result in architectural complexity. Overcoming this complexity is a challenge to vendors who intend to expand the use of OpenStack. The AMD and Canonical solution provides an out of the box solution with the following benefits: Complete OpenStack private cloud that can scale to hundreds of thousands of virtual machines Integrated compute, storage and networking in a single system for simplified infrastructure deployment Simplified hardware management for adding, provisioning, updating or recycling physical servers dynamically Scalable services orchestration for deploying workloads 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 2

Figure 1: OpenStack Logical Architecture Figure 1 provides a visual view of OpenStack s logical architecture and demonstrates the complexity of creating and managing an OpenStack cloud. Users deploying the AMD and Canonical reference architecture for OpenStack can avoid this complexity and accelerate their cloud deployments. OpenStack is designed to be massively scalable where services can be added with the deployment of additional servers. While attractive from a conceptual perspective, the complexity of the logical architecture requires a high level of expertise in server, storage and networking. AMD and Canonical have simplified the deployment and management of OpenStack with revolutionary innovations in compute, storage and networking and a robust set of tools that abstracts the key functions and automates key tasks. Administrators are then able to focus their time and energy to completing valuable tasks rather than troubleshooting or fixing complex configuration issues. SeaMicro SM15000 Server Overview Hardware choice is a key decision in a successful and scalable OpenStack deployment. AMD s SeaMicro SM15000 server is uniquely optimized for OpenStack with its integration of compute, storage and networking. The server is one of the highest-density, most energy-efficient servers on the market. In 10 rack units, it links 512 compute cores, 160 gigabits of I/O networking and more than five petabytes of storage with a 1.28 terabyte high-performance supercompute fabric, called SeaMicro Freedom Fabric. The SM15000 server eliminates top-of-rack switches, terminal servers, hundreds of cables and thousands of unnecessary components for a more efficient and simple operational environment. The AMD SeaMicro SM15000 also supports the Freedom Fabric Storage products, enabling a single system to connect with more than five petabytes of storage capacity in two racks. This approach delivers the benefits of expensive and complex solutions such as network attached storage (NAS) and storage area networking (SAN) with the simplicity and low cost of direct attached storage. 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 3

Canonical Ubuntu OpenStack LTS 14.04 Overview Ubuntu OpenStack is a tightly integrated, fully supported set of applications consisting of: OpenStack (Icehouse release) Ubuntu server MAAS (Metal As A Service) Juju Landscape Ubuntu OpenStack provides SeaMicro SM15000 integration with support for the system s RESTful application programming interface (API). AMD s SeaMicro SM15000 server is the only dense server that natively provides RESTful APIs without requiring a separate management application, while accelerating automation and simplifying management by creating standard interfaces to provision compute, storage and networking resources. Juju Juju is an orchestration tool that is the best way to deploy, manage and scale Ubuntu OpenStack. Juju uses libraries of charms that enable organizations building clouds to deploy, connect, configure and scale out services instantly with only a few simple commands. Juju charms also help ensure that cloud services are deployed in line with industry best practices, increasing quality, security and performance for end users and customers. MAAS The intelligent provisioning tool makes it easy to set up large-scale or hyperscale hardware to run Ubuntu s OpenStack cloud applications. Through MAAS, hardware can be dynamically provisioned, so physical servers can be added, commissioned, or recycled with no disruption to the rest of the network. MAAS takes care of hardware-specific tasks such as burn-in tests, firmware and RAID upgrades, as well as checking if hardware is certified for Ubuntu. Together with Juju, MAAS makes it fast and easy to turn a network of physical servers into a production-ready, scale-out infrastructure. Landscape Landscape is a systems monitoring and management tool from Canonical that is optimized for cloud. In large-scale environments, requirements such as security updates, compliance, and audit are still required. Landscape allows systems administrators to monitor, troubleshoot and manage up to tens of thousands of Ubuntu machines (either physical or virtual), as easily as managing just one. Updates can be delivered to all machines as a group, assets can be tracked and monitored, and systems can be rolled back in seconds if an issue arises. Landscape also has powerful, built-in reporting capabilities to aid security compliance and audit requirements. (Note: Landscape is not included in the Reference Architecture.) Scalability The AMD and Canonical solution is thoroughly tested and has completed the largest known demonstration of OpenStack scalability ever known. The demonstration highlighted how OpenStack can quickly and reliably provision on-demand computing services at scale. The test provisioned 168,000 virtual machines on 576 physical hosts. The first 75,000 virtual machines were deployed in six hours and thirty minutes. The solution is available today and is the most scalable, automated application for deploying OpenStack in hyperscale environments. More details on this demonstration are available here. 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 4

To simplify, the reference architecture is based on a single SM15000. Depending on how virtual machines are configured, a single SM15000 can scale to the following: >3500 tiny VM instances, each with 1 virtual CPU and 1GB of RAM >1600 small VM instances, each with 1 virtual CPU and 2GB of RAM >800 medium VM instances, each with 2 virtual CPUs and 4GB of RAM >350 large VM instances, each with 4 virtual CPUs and 8GB of RAM >150 xlarge VM instances, each with 8 virtual CPUs and 16GB of RAM 28-56TB of root and ephemeral storage for VM instances 4-48TB of persistent block storage for VM attachment (Note: May vary based on presence and configuration of external disk enclosures) 1-32TB of object storage for VM images and snapshots (Note: May vary based on presence and configuration of external disk enclosures, as well as configured replication level.) Reference Architecture Conceptual Overview This reference architecture provides a private cloud in a box based on the SeaMicro SM15000 server. The deployment includes the cloud controller, a tenant/administrator dashboard (Horizon), persistent block storage (Cinder), object storage for snapshots and virtual machine images (Swift), and preserves the majority of compute capacity for hosting tenant VMs (Nova). Figure 2 shows the recommended node layout for the reference architecture described in this document. Two of eight possible network card slots are populated with dual 10 Gigabit Ethernet cards giving a total of 40Gbps of uplink bandwidth to the system. Four storage cards are populated in the system, each with eight internal disks and optionally, an external disk enclosure. An additional six storage cards can be added depending on the storage needs. Among the 64 compute cards, three are provisioned as controller nodes, each running the core OpenStack services including Nova, Glance, Keystone, Swift, and Horizon. Three nodes are provisioned as block storage nodes by running Cinder Volume software. The remaining 57 compute nodes run the Nova Compute service, and thus are available for virtual machine instances. The private cloud capacity using the server node layout displayed in Figure 2 is detailed in Table 1. Table 1: Private Cloud Capacity on a Single SM15000 Server Category Qty Description Cloud Controllers 3 SeaMicro SM15000 server Nova Nodes 57 AMD Opteron EE-4365 (Piledriver) Intel Xeon E3-1265Lv2 (Ivy Bridge) Intel Xeon E3-1265Lv3 (Haswell) Cinder Nodes 3 Object Storage Capacity 64 TB Up to 5 petabytes capacity Server NICs (GbE) 128 Up to 8 NICs per server or 512 NICs for the entire system System I/O 80 Gbps Up to 320 Gbps system I/O Rack Space 1/4 10 rack units used for entire reference architecture Power Consumption 55 Watts per server 3.5 kw average power use 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 5

Figure 2: SeaMicro SM15000 Server Node Layout Storage Overview Within the SM15000 chassis, storage targets are assigned on demand to servers. A storage target is defined as either being a full disk, also called a raw disk, or a volume, which is a partition of a disk. The storage recommendation that follows discusses a configuration using volumes, which means that multiple nodes will share disks. Cinder volume nodes within the chassis are used to allocate persistent block storage to any VMs that need incremental storage. While the reference architecture specifies 2 HDDs per Cinder volume node, some environments may benefit from a larger pool of persistent block storage. To support that, external disk enclosures can be connected to the system in order to assign more disks to each Cinder node. All Swift storage components are deployed on the controller nodes building a pool of object storage for the cluster. This method of installation is called Swift compact mode. Like with Cinder, this reference architecture specifies 2 hard disk drives (HDD) per node, but the total pool of storage can be expanded significantly by using external disk enclosures. Swift specifically will be covered in a future version of the reference architecture. Table 2: Storage Comparison Local Cinder Swift (object) Use Cases Boot & log, low DBs, persistent data sets, File downloads, web serving, performance workloads snapshots, additional storage VM images for instances Storage Lower performance, Higher performance, robust High aggregate bandwidth. Characteristics SPOF if RAID is not used againstdisk failure and storage No SPOF on a single drive controller failure dueto replication (3x by default) in application layer Expansion LVM expansion Cinder can utilize multiple Simple - add disks. Swift concatenation. Drawback backends: handles disk addition in the is that this increases http://docs.openstack.org/ application layer is that this increases admin-guide-cloud/content/ exposure to drive failure, managing-volumes.html# Care must be taken to avoid and if not limited to multi_backend situations where swift data internal disks, can nodes share disks or JBODs result in performance A drawback can cause poor in a way that makes replication mismatches across drives utilization as space can be ineffective wasted Ideal Media Type HDD SSD/HDD External (JBOD) HDD 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 6

Network Overview Since the SM15000 server has integrated Layer 2 networking, Neutron networking is not required for this reference architecture. Each server in the SM15000 system has eight network interface cards (NIC) available. These NICs can be bonded together to create higher bandwidth NICs or used individually. Each OpenStack node requires two NICs to be configured. First NIC is assigned to communication with other OpenStack nodes Second NIC is configured for external network traffic Four 10 GbE NICs from two different interface cards are included in the reference architecture for network traffic entering and leaving the SM15000 server. The SM15000 server supports up to 16 x 10 GbE NICs. High Availability The SeaMicro SM15000 server provides high availability with no single point of failure. All of the components are hot swappable for easy field replacement. For OpenStack, high availability must be addressed for each key service. Cloud Controller The cloud controller provides central management for the OpenStack deployment. The reference architecture includes three computing nodes with each running the key management services listed below. This provides resiliency in the event the controller node experiences a disruption. Multiple cloud controllers also provide resiliency for the database used and the messaging queue. Horizon: Front-end web GUI Nova: VM instance management Cinder: Persistent block storage Glance: Image and snapshot management Swift: Object storage Keystone: Authentication Hardware Specifications The SeaMicro SM15000 server provides 64 servers, storage and integrated Layer 2 networking in a 10-rack unit chassis. The servers are interconnected with the patented Freedom Fabric ASIC that provides 1.28 Tbps of bandwidth. No top of rack switch or additional networking equipment is required. The SM15000 server has the capacity for up to 16 10 GbE input/output ports for traffic to enter or leave the system. The specific configuration is described in Table 3. Table 3: Hardware Details Category Qty Description Notes System Type 1 SeaMicro SM15000 server Integrated compute, storage, networking in 10 RU CPU 64 AMD Opteron EE-4365 Intel CPU Options: Intel Xeon E3-1265Lv2 Intel Xeon E3-1265Lv3 Memory 4 TB 4 GB for 64 servers Intel Xeon CPU limited to 32 GB Disks 16 500 GB capacity RAID optional Server NICs 512 8 NICs per server Two used for reference architecture (standard per SM15000 server) System I/O 80 Gbps Two 2-port 10 GbE MX cards Capacity for 320 Gbps Rack Space 1/4 10 rack units used for entire reference architecture Power Consumption 3.5 kw 55 Watts per server 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 7

Installation Preparing the SeaMicro Chassis Before getting started with OpenStack installation, we recommend you prepare the SeaMicro chassis for the environment. Detailed instructions of how to do this are found in the SM15000 system documentation, and include the following tasks: 1. Upgrading to the latest version of SeaMicro OS 2. Configuring the management IP 3. Assigning disks to servers 4. Configuring VLANs on server NICs if desired Disk Assignment To keep the blueprint simple, we have chosen to go with a one-to-one raw mapping of the disks to the Compute Cards. The setup has to be done on the SeaMicro Chassis as follows: Changing S-Card to raw Disk mode storage set mgmt-mode disk slot 0 no-confirm storage set mgmt-mode disk slot 1 no-confirm storage set mgmt-mode disk slot 2 no-confirm storage set mgmt-mode disk slot 3 no-confirm storage set mgmt-mode disk slot 4 no-confirm storage set mgmt-mode disk slot 5 no-confirm storage set mgmt-mode disk slot 6 no-confirm storage set mgmt-mode disk slot 7 no-confirm Optimal Configuration to assign Raw disks to Servers Run these commands in config mode config storage assign 0/0 0 disk 0/0 storage assign 1/0 0 disk 0/1 storage assign 17/0 0 disk 0/2 storage assign 16/0 0 disk 0/3 storage assign 32/0 0 disk 0/4 storage assign 33/0 0 disk 0/5 storage assign 49/0 0 disk 0/6 storage assign 48/0 0 disk 0/7 storage assign 2/0 0 disk 1/0 storage assign 3/0 0 disk 1/1 storage assign 19/0 0 disk 1/2 storage assign 18/0 0 disk 1/3 storage assign 34/0 0 disk 1/4 storage assign 35/0 0 disk 1/5 storage assign 51/0 0 disk 1/6 storage assign 50/0 0 disk 1/7 storage assign 4/0 0 disk 2/0 storage assign 5/0 0 disk 2/1 storage assign 21/0 0 disk 2/2 storage assign 20/0 0 disk 2/3 storage assign 36/0 0 disk 2/4 storage assign 37/0 0 disk 2/5 storage assign 53/0 0 disk 2/6 storage assign 52/0 0 disk 2/7 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 8

storage assign 6/0 0 disk 3/0 storage assign 7/0 0 disk 3/1 storage assign 23/0 0 disk 3/2 storage assign 22/0 0 disk 3/3 storage assign 38/0 0 disk 3/4 storage assign 39/0 0 disk 3/5 storage assign 55/0 0 disk 3/6 storage assign 54/0 0 disk 3/7 storage assign 8/0 0 disk 4/0 storage assign 9/0 0 disk 4/1 storage assign 25/0 0 disk 4/2 storage assign 24/0 0 disk 4/3 storage assign 40/0 0 disk 4/4 storage assign 41/0 0 disk 4/5 storage assign 57/0 0 disk 4/6 storage assign 56/0 0 disk 4/7 storage assign 10/0 0 disk 5/0 storage assign 11/0 0 disk 5/1 storage assign 27/0 0 disk 5/2 storage assign 26/0 0 disk 5/3 storage assign 42/0 0 disk 5/4 storage assign 43/0 0 disk 5/5 storage assign 59/0 0 disk 5/6 storage assign 58/0 0 disk 5/7 storage assign 12/0 0 disk 6/0 storage assign 13/0 0 disk 6/1 storage assign 28/0 0 disk 6/2 storage assign 29/0 0 disk 6/3 storage assign 44/0 0 disk 6/4 storage assign 45/0 0 disk 6/5 storage assign 61/0 0 disk 6/6 storage assign 60/0 0 disk 6/7 storage assign 14/0 0 disk 7/0 storage assign 15/0 0 disk 7/1 storage assign 31/0 0 disk 7/2 storage assign 30/0 0 disk 7/3 storage assign 46/0 0 disk 7/4 storage assign 47/0 0 disk 7/5 storage assign 63/0 0 disk 7/6 storage assign 62/0 0 disk 7/7 Sizing and Data Redundancy This disk configuration is just a starting point. For more complex storage configurations, please contact AMD. 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 9

Multi-Chassis Scalability The principles described in this design and deployment document can be easily extended to support larger installations with multiple SM15000 chassis, however, multi-chassis designs are out of the scope of this document. For more information on larger OpenStack deployments please contact AMD. Installing and Configuring Using Ubuntu MAAS To automate and simplify the installation of OpenStack, Ubuntu MAAS and Juju are used. AMD recommends dedicating either a standalone server or a node inside of the SM15000 chassis to act as the MAAS controller and Juju deployment server. Depending on the network setup, this system will act as just a deployment server but can also take on the role of DNS and DHCP as well. To do this requires at least 2 network interfaces. In order to ensure connectivity between the MAAS system and the SeaMicro SM15000, make sure to double check that this system is also on the same VLAN as the nodes that are being used to boot. Ubuntu Pre-setup Ubuntu MAAS can be installed atop any stock Ubuntu image, but AMD recommends starting with a clean install for Ubuntu 14.04 Trusty. Ubuntu Overview: 3 Easy Steps 1. Install the MAAS server 2. Install Juju 3. Deploy Ubuntu Cloud Infrastructure with Juju Installing MAAS First run the update to ensure all the listings are up to date. sudo apt-get update -y sudo apt-get dist-update -y Proceed to install/upgrade your MAAS packages. This can take a while depending on Internet connection. sudo apt-get install maas maas-dhcp maas-dns -y This full install is usually around 220 MB Click/Enter OK after install is complete Create maas admin This step is required to allow you to login to the GUI and also initialize the environment. sudo maas-region-admin createsuperuser Now you can access the MASS web server at http://<hostname>/maas and login using the credentials created above. The MASS key can be found under Preferences for user account on the right top corner. This can also be retrieved via the CLI using the below command: sudo maas-region-admin apikey --username root 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 10

Setup Environment file This file is used to bootstrap the environment and also to separate environments if you choose to have more than one per host. Below is an example with all the required <parameters> listed. Find the API key under the user drop down under preferences then MAAS keys. root@maas:~# vim.juju/environments.yaml environments: maas: type: maas maas-server: 'http://<hostname>:80/maas' maas-oauth: '<MAAS_API_KEY_FROM_WEB_GUI>' admin-secret: <choose_secret> default-series: trusty Import the boot images MAAS will sync images once a week; you should start the initial import manually. There are two ways to start the import: through the web user interface, or through the remote API. Method 1: To do it in the web user interface, go to the Clusters tab and click the Import boot images button at the bottom of the list of cluster controllers. A message will appear to let you know that the import has started, and after a while, the warnings about the lack of boot images will disappear. It may take longer for the exact boot images you need to be downloaded. Give the import time to run; do not click the Import boot images button again until the script has had time to download several hundred megabytes from the archive server. Method 2: The other way to start the import is through the region-controller API, which you can invoke most conveniently through the command-line interface. To do this, connect to the MAAS API using the maas command-line client. See Logging in for how to get set up with this tool. Then, run the command: maas login maas http://<hostname>/maas/api/1.0 <MAAS API KEY> maas maas node-groups import-boot-images (Substitute a different profile name for my-maas-session if you have named yours something else.) This will initiate the download, just as if you had clicked Import boot images in the web user interface. 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 11

Setup Juju Setup SSH keys: If keys have not already been created, create them at this time. ssh-keygen -t rsa Import key into MAAS GUI: Login to MAAS and go to username->preferences located at the top right of the screen. There will be a button labeled + Add SSH key use this and follow the on screen instructions. The public key is located here.ssh/id_rsa.pub Install Juju: sudo apt-get install software-properties-common -y sudo add-apt-repository ppa:juju/stable sudo apt-get update sudo apt-get install juju-core -y Setup DHCP and DNS using MAAS controller: You can use other DHCP and DNS servers, but for a more simple approach we recommend using the MAAS to control DHCP and DNS. To enable DHCP and DNS on your MAAS controller follow these steps: 1. Click on the Clusters label at the top of the screen 2. Click the add interface towards the bottom 3. Once on this screen, enter the details for the network you are wanting to serve. Note MAAS will NAT to all the servers it is allocated and therefore, becomes a router. If you want to separate it out please keep it unmanaged. 4. Also ensure you setup a static configuration with the same details via the CLI. vi /etc/network/interfaces auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 5. Restart the network 6. Start DHCP server and check that requests are being accepted on eth1 service maas-dhcp-server restart Enable console output for all states of MAAS import: The following command will insert a standard console line for all PXE templates located on the MAAS controller. To enable post PXE console, you will also need to assign the Global kernel parameter in the settings section. cd /etc/maas/templates/pxe/; sed -i '1s/^/SERIAL 0 9600\n/' * On the MAAS Web UI go to Settings and add the console=ttys0,9600n8 under Add Global Kernel Parameters Install latest version of SeaMicro Python Library: sudo apt-get install python-pip -y sudo pip install python-seamicroclient --upgrade 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 12

Import SeaMicro nodes to MAAS With nodes set to boot from a PXE image, they will start, look for a DHCP server, receive the PXE boot details, boot the image, contact the MAAS server and shut down. During this process, the MAAS server will be passed information about the node, including the architecture, MAC address and other details which will be stored in the database of nodes. You can accept and commission the nodes via the web interface. When the nodes have been accepted, the selected series of Ubuntu will be installed. To save time, you can also accept and commission all nodes from the commandline. This requires that you first login with the API key, which you can retrieve from the MAAS GUI if you have not done so already. maas maas nodes accept-all Probe and Enlist nodes automatically: Define uuid: uuid=$(maas maas node-groups list grep uuid cut -d'"' -f4) Probe and Enlist the SeaMicro Chassis Ensure you have pinged the inband or OOB seamicro connections so that the MAC address is populated in the arp cache before running probe and enlist. The probe and enlist command only accepts MAC address at this time. ping <chassis IP> arp grep <chassis IP> maas maas node-group probe-and-enlist-hardware $uuid model=seamicro15k mac=00:21:53:12:b6:00 username=admin password=seamicro power_control=restapi2 NOTE: Ensure you delete MAAS Master server from the enlisted servers in MAAS UI. Manually setup nodes power type (only if above probe and enlist step is not executed) Edit each system in MAAS and ensure it has the below settings entered. 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 13

Commision SeaMicro nodes to MAAS This is when the node is officially controlled and taken over by MAAS. Ensure all nodes complete this step and end with the status Ready Enable fast installer from the MAAS GUI Select all nodes using the top check box and then select enable fast installer from the drop down menu. Make sure to do this for page 2 if you are installing more than 49 nodes. Enable IP forwarding on MAAS Enable IP forwarding if you are using your MAAS server as your gateway so that Juju nodes can retrieve packages from external repositories. Edit using vi /etc/sysctl.conf as root, locate the line with net.ipv4.ip_forward = 1 uncomment this line or add it if it is not present. Run these commands to finish the process. sudo sysctl -p /etc/sysctl.conf iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Check that your nat is setup correctly. iptables -L -t nat 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 14

Bootstrap the environment using Juju First check the status to ensure the environment is not bootstrapped. root@maas:~# juju status maas ERROR Unable to connect to environment "". Please check your credentials or use 'juju bootstrap' to create a new environment. Error details: environment is not bootstrapped Bootstrap: juju bootstrap Create OpenStack configuration file Create a *minimal* deployment config. We'll name this file openstack.cfg and will use it afterward by specifying "--config=openstack.cfg" in "juju deploy" commands. keystone: # Set this here for testing only, otherwise randomly # generated and stored on-disk on keystone node admin-password: "openstack" nova-cloud-controller: network-manager: "FlatDHCPManager" cinder: # This must be a free block device that is writable on the cinder host. # Or use a file path and size as follows: # block-device: "/var/lib/nova- volumes/vol1.img 2G" block-device: "xvdb" overwrite: "true" Deploy OpenStack This will happen fairly quickly, but you should use juju status to get the true status. These commands just kick off the install. The installation is not complete until juju status reports the service as running. juju deploy mysql juju deploy rabbitmq-server juju deploy --config=openstack.cfg keystone juju deploy --config=openstack.cfg nova-cloud-controller juju deploy --config=openstack.cfg cinder juju deploy nova-compute juju deploy glance juju deploy openstack-dashboard juju deploy quantum-gateway NOTE: Wait approximately 15 minutes for all deployments to complete before continuing to create relationships listed below. The services can also be co-located on a single physical server by using the --to Juju# command, i.e., juju deploy openstack-dashboard --to 2 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 15

Establish Relationships for OpenStack nodes: juju add-relation keystone mysql juju add-relation nova-cloud-controller mysql juju add-relation nova-cloud-controller rabbitmq-server juju add-relation nova-cloud-controller glance juju add-relation nova-cloud-controller keystone juju add-relation cinder nova-cloud-controller juju add-relation cinder mysql juju add-relation cinder rabbitmq-server juju add-relation nova-compute mysql juju add-relation nova-compute:amqp rabbitmq-server:amqp juju add-relation nova-compute glance juju add-relation nova-compute nova-cloud-controller juju add-relation glance mysql juju add-relation glance keystone juju add-relation openstack-dashboard keystone Expose the services you want access to: This will allow outside requests to access these services and setup the correct firewall rules. juju expose openstack-dashboard juju expose nova-cloud-controller Access Horizon and start provisioning users and instances: This command will output the IP that should be used to connect to your cluster. Follow the rest of the document to provision your first instance and setup your flavors. juju status openstack-dashboard juju status # juju status openstack-dashboard environment: maas machines: "8": agent-state: started agent-version: 1.19.3 dns-name: xa3pt.maas instance-id: /MAAS/api/1.0/nodes/node-ec105f9c-f018-11e3-840c-002299b68047/ series: trusty services: openstack-dashboard: charm: cs:trusty/openstack-dashboard-4 exposed: true relations: cluster: - openstack-dashboard identity-service: - keystone units: openstack-dashboard/0: agent-state: started agent-version: 1.19.3 machine: "8" open-ports: - 80/tcp - 443/tcp public-address: xa3pt.maas 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 16

Adding units of storage and compute: You can now add the desired amount of storage and compute needed for your deployment of Openstack using the below juju commands: juju add-unit nova-compute juju add-unit cinder Juju core vs. juju: Canonical is in the process of transitioning Juju s programming infrastructure from python to Google s Go language. Python s juju (pyjuju) is installed by specifying the juju package, whereas Go s juju is installed by specifying the juju-core package. Accessing OpenStack Dashboard: To access the Horizon dashboard you can ssh to grab the IP or DNS if you have that setup in your environment. juju status openstack-dashboard grep -A1 machines SSH to that node using juju: juju ssh 8 Grab IP info: ifconfig grep "inet addr" You should be able to access this directly. If you are not able to access this direction we recommend forwarding it through the MAAS master node using rinetd. apt-get install rinetd Usage details available in config file: vi /etc/rinetd.conf 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 17

Deploying Your First Virtual Machine Instance Uploading an OS Image 1. Upload your image using the images tab on the OpenStack dashboard. Then specify your location and requirements and click create image 2. Starter image https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img Deploying an Instance from Horizon OpenStack s Horizon component offers a web interface that can be used by tenants to create and manage VM instances and block storage devices, and by administrators to maintain user accounts and other cluster properties. To create a VM instance using the OS image just uploaded, follow the steps below: 1. Click on + Launch Instance 2. Specify the image you just uploaded using the Openstack Dashboard 3. Specify instance name, flavor desired, and any other appropriate settings 4. Spawn image 5. Wait for instance to spawn 2014 Advanced Micro Devices, Inc. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. 18

Deployment DONE! Continue to customize and set up your cluster to fit your business needs. Try the juju GUI to see a visualization of your cluster, and create custom charms. This GUI can be deployed using juju. Links to More Documentation https://help.ubuntu.com/community/ubuntucloudinfrastructure https://juju.ubuntu.com http://www.zdnet.com/amd-seamicro-sm15000-server-sets-benchmark-record-for-hyperscale-openstackclouds-7000029395/ http://javacruft.wordpress.com/2014/06/18/168k-instances/ TO10 914 v16 AMD SeaMicro, Inc. 1 AMD Place, Sunnyvale, CA 94085 USA www.seamicro.com or www.amd.com 800 726-9540 2014 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo, AMD Opteron, SeaMicro, Freedom, and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions. Other names used are for identification purposes only and may be trademarks of their respective owners. 19