Reference Architecture For OpenStack - Kaminario

Transcription

WHITE PAPERKaminario K2 ReferenceArchitecture for OpenStackand MongoDBApril 2017TABLE OF CONTENTS2Executive Summary3Introduction to K25What is OpenStack6Kaminario K2 and OpenStack7Solution Overview8Solution Environment9K2 Preparations for OpenStack11Getting Ready for Deployment11Deploying the First Instance17Inserting Data to MongoDB18Convert a Standalone to a Replica Set19Convert a Replica-Set to a Sharded Cluster20Benchmark Procedure21Benchmark Results30Benchmark Conclusions31K2 Cinder Driver Installation and Configuration34Appendix A - Deploying Ubuntu OpenStack40About Kaminario

WHITE PAPERExecutive SummaryEnterprises’ constant growth and activity drive data usage. The on-demand approach of modern businesses andapplications, where customers and different business units demand agility and simplicity, is pushing the envelope ofcapacity and performance more than ever before. Businesses will rise and fall on their ability to deliver market needs inthe fastest way possible.OpenStack, an open source platform for cloud management is the leading Infrastructure-as-a-service (IaaS) platformthat powers many of these business-critical applications. As an IaaS platform, OpenStack environments are very likelyto generate a random blend of I/O requests and create heavy workloads that can swamp storage systems.MongoDB is the leading NoSQL database that is widely used by a wide range of businesses to support theinfrastructure for modern applications and environments where relational databases cannot deliver the agility,flexibility and scalability of various types of data.The Kaminario K2 all-flash array is the perfect storage platform for hosting and powering as-a-Service and cloud-scale environments. Running VisionOS , the K2 array has a unique scalable architecture that can independently scaleperformance and capacity, matching the demanding and challenging requirements of cloud-scale infrastructure. K2delivers a consistent level of throughput, IOPS and low latencies needed to support the demanding blend of storageI/O workloads of any environment thanks to its adaptive block size algorithm.This reference architecture covers K2’s benefits for OpenStack environments running virtualized servers, withMongoDB as the hosted application infrastructure. Detailed performance and scalability test results are provided fora range of OpenStack operations, showing that K2 performs well under different types of MongoDB workloads withno degradation in performance or efficiency. Best Practices and high-level installation steps are also covered in thereport, showing the process to deploy such an environment.2

WHITE PAPERIntroduction to K2Kaminario is leading the revolution of enterprise flash storage by creating the industry’s most scalable, intelligent andcost-effective all-flash storage array in the market. Built from the ground up to take advantage of the most modern flashSSD capabilities, the K2 all-flash storage array is the only product to feature a true scale-out and scale-up architecturethat allows organizations to grow capacity and performance based on their needs. This architecture ensures both dataavailability and a consistent level of high throughput, IOPS and low latencies needed to support the demanding randomI/O generated by business-critical systems including mixed-workloads such as OpenStack.Figure 1: Kaminario K2 Scalable ArchitectureThe K2 all-flash array is an appliance which is a combination of tested and packaged hardware, software and services.K2’s Gen6 hardware platform is based on leading off-the-shelf enterprise components that enable K2’s software-definedarchitecture and software stack. The K2 runs Kaminario VisionOS , the next-generation flash operating system stack,that provides the core software and advanced data services framework.VisionOS enables modular components and services that demonstrate a superior value proposition across a real scaleout storage platform, both in innovation and in ease of use: DataShrink – Data reduction features and capabilities are mandatory for economics of flash storage. Withdifferentiating inline, global, adaptive and selective deduplication, together with inline byte aligned compression,thin provisioning and zero detection, Kaminario is able to establish itself a cost-efficiency leader of flash storage.3

WHITE PAPER DataProtect – Kaminario values its customers’ data more than anything. Native array based snapshots and replicationallow for returning to any point in time in any site. Data-at-rest AES256 encryption makes sure that data is keptprivate and safe at all times. A highly resilient design of no single point of failure, non-disruptive upgrades (NDU) anda robust RAID scheme facilitate 99.999% of data availability. DataManage –The K2 can be managed by various means. Internal management includes an intuitive web-based GUI,a scriptable CLI and a fully programmable RESTful API platform. DataConnect –K2’s RESTful API allows for external applications of the IT eco-system to easily integrate andseamlessly manage the K2. This eco-system is constantly growing and includes: VMware vSphere, Microsoft VSS,OpenStack, Flocker (containers) and Cisco UCS director.Figure 2: Kaminario VisionOS4

WHITE PAPERWhat is OpenStackGeneral OverviewEstablished at 2010, OpenStack is a free and open source platform that collects many smaller projects together toenable cloud computing management in an Infrastructure-as-a-service (IaaS) manner.The core of OpenStack is built from several projects which are integrated within a single platform. Every project isresponsible for managing a different type of resource (Compute, Networking, Storage, etc.) and all together buildOpenStack. This modular design gives OpenStack its power of scalability and flexibility.Just like the Kaminario K2, OpenStack enables enterprises and service providers to start small and scale by addingresources as they are required.OpenStack can be deployed as a private cloud on-premises; it could also be deployed as a public cloud for cloudcomputing service providers, or, as a combination of both – a hybrid cloud.Modular DesignThe modular design of OpenStack is based on many projects, with the more relevant listed below: Nova - provides compute capability for OpenStack by managing virtual machines upon demand. Neutron – provides advanced network services and management. Cinder - provides persistent block storage services deployed instances. The Kaminario K2 Cinder Driver is the keyfunction that enables the Cinder module the option to manage the Kaminario K2. Glance – Provides a repository for disk images. Keystone – Provides identity service used by OpenStack for authentication and authorization. Horizon – Provides a web-based management UI for OpenStack.The Kaminario K2 Cinder DriverThe Kaminario K2 Cinder Driver provides integration between OpenStack and The Kaminario K2 by using the OpenStackCinder service. With this integration, users can deploy virtual machines (Instances) and services on top of Kaminario K2volumes, enabling high performance to applications and services with full-redundancy and high-availability.The Kaminario K2 Cinder Driver communicates with K2 via the K2 RESTful API service. Using the K2 RESTful API is a fastand reliable method to trigger different CRUD operations remotely.5

WHITE PAPERKaminario K2 and OpenStackKaminario’s VisionOS is the perfect companion for OpenStack. In environments like OpenStack where resourcesrequirements are not easy to predict, the Kaminario K2 is a perfect fit. Given its ability to scale-up and scale-out, theKaminario K2 can always grow along an OpenStack deployment and handle the dynamic demands from the storage layer.The Kaminario K2 is an optimal solution for OpenStack due to the following:Kaminario K2 Data reduction Deduplication – Whenever you deploy an instance in OpenStack, you can always scale it to a larger number ofinstances. For example, you can start with a single instance of MongoDB and then later convert it into a Replica-Setto improve high-availability and redundancy. The Kaminario K2 deduplication mechanism can eliminate duplicateddata in the most efficient way by utilizing its adaptive size deduplication mechanism. Compression – Whether your instances are running databases, web-applications or any other services, all data iscompressed by the Kaminario K2 always-on compression mechanism.Kaminario K2 Performance Optimized for mixed workloads: a global adaptive block algorithm allows the system to automatically adapt tosupport OLTP, OLAP, virtualized and VDI environments without compromising IOPS or bandwidth.Kaminario K2 Scalability K2 is the only storage array on the market today that supports both scale-up and scale-out, enabling organizationsto start small and grow seamlessly. This flexibility eliminates the need to compromise on how to non-disruptivelyexpand and grow the array based on the customer requirements.Kaminario K2 iSCSI VLAN Support Networking in OpenStack can be sophisticated and may include many VLANs. The Kaminario K2 support up to 256unique VLANs.Kaminario K2 LAG support Each K2 storage controller (K-Node) has two 25Gb Ethernet ports, and these two ports (which must be within thesame K-Node) can be logically aggregated into a single logical port, otherwise known as a Link Aggregation Group(LAG), port channel or port bonding. A LAG makes management easier and improves connectivity redundancy.6

WHITE PAPERSolution OverviewTo demonstrate the integration of the Kaminario K2 Cinder driver with OpenStack, we will deploy a MongoDB 3.2based solution.Each of the instances we cover in this reference architecture is running on top of a Kaminario K2 volume. The instances’K2 volumes are managed by the Kaminario K2 Cinder driver which is responsible to communicate with K2 and to createvolumes, map volumes, delete volumes, create snapshots and more.At first, we will deploy a standalone MongoDB instance and load some data into it. Even at this step, right at the beginningof the process, we will show how the K2 data-reduction mechanism kicks in and provides major capacity saving.Then, we will convert the single instance into a Replica-Set of three (3) instances for redundancy and high-availabilityimprovements. At this step, we show how the Kaminario K2 data reduction has improved even better after data wasreplicated into the two new instances. At this stage, we have three (3) copies of the same data. As a next step, we willconvert the Replica-Set into a Sharded Cluster to improve performance, especially throughput.Figure 3: Instance layoutAt each configuration – Standalone, Replica-Set and Sharded Cluster, we will run a workload that performs both readsand writes in variable ratios. The benchmark is searching for documents based on a filter criteria and update the resultswith some random data.Furthermore, the solution covers some best practices and configuration recommendations for MongoDB, based onKaminario’s white paper: MongoDB on Kaminario K2.The OpenStack flavor used in this solution is Ubuntu’s OpenStack which makes use of Juju. Later in this referencearchitecture you may find some information on installing the Kaminario K2 Cinder Juju Charm and deployingUbuntu’s OpenStack.7

WHITE PAPERSolution EnvironmentThe environment used in this solution is based on Ubuntu’s flavor of Mitaka OpenStack and was built as described in thefollowing diagram:Figure 4: Solution’s diagramThe Kaminario K2 system that was used in this environment is a single K-Block system with SSDs of 480GB – the entrypoint of the Kaminario K2.Each of the six (6) physical nodes has the following spec: 2 x Intel Xeon E5649 CPU @ 2.53Ghz 96GB of RAM Ubuntu 14.04.05 LTS x64 (Trusty Tahr)More information on deploying Ubuntu’s OpenStack and installing the Kaminario K2 Cinder driver can be found atAppendix A – Deploying Ubuntu OpenStack.8

WHITE PAPERK2 Preparations for OpenStackCreating a Kaminario K2 userIt is highly recommended to create a dedicated user for the Cinder driver to access with to the K2. Login to theKaminario K2 using the security user and add a user with the mgmt-app role:Figure 5: Creating a Cinder user in the K2For further information on creating users in the K2 please see the Kaminario K2 User Guide document on theKaminario Customer Portal.9

WHITE PAPERNetwork configuration - Creating LAGsLink aggregation, also referred to as port bonding, port teaming, Ethernet trunking, and link bundling, applies tomethods of combining multiple Ethernet ports into a single logical port. When LAG is configured on K2, the twophysical 25GbE ports in a K-Node act as a single logical interface.Creating and using LAGs makes management simpler and improves high-availability.To create a LAG, follow the next steps:1.Login to the K2 web GUI and select the Connectivity tab.2.Select the IP Data Ports option from the sub-menu.3.Click the LAG button to open the new LAG screen.4.Set the MTU to 9000.5.Set the mode to Adaptive Load Balancing.6.Repeat steps 1-5 for the second LAG.Figure 6: K2 LAG Configuration10

WHITE PAPERGetting Ready for DeploymentAdd Support for UNMAP (TRIM)To support UNMAP (TRIM) in virtual guests, the Glance image from which the VMs are deployed should be configuredwith a SCSI Controller and a SCSI disk. To do so, use the following procedure:1.Get the ID of the relevant Glance Image:ubuntu@sol-ubuntu15: glance image-list2.Set the Image’s controller and disk bus to SCSI:ubuntu@sol-ubuntu15: glance image-update --property hw scsi model virtio-scsi--property hw disk bus scsi image id Deploying the First InstanceFirst, we will start with a standalone MongoDB instance and insert some data to it.Using the OpenStack Horizon GUI and the ‘Launch Instance’ wizard, we will create a new instance on a K2 volume,based on an Ubuntu 14.04 image.The first step of the wizard asks us to give a name for the new instance. Although the current instance is a stan

This modular design gives OpenStack its power of scalability and flexibility. Just like the Kaminario K2, OpenStack enables enterprises and service providers to start small and scale by adding resources as they are required. OpenStack can be deployed as a private cloud on-premises; it could also be deployed as a public cloud for cloud computing service providers, or, as a combination of both .