Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
ManilaOpenStack Shared Filesystems Management
Nov 8-11, 2016
SUSECON
Washington D.C
Today’s presenters
Anika Suri
Technical Alliance Manager, NetApp
Cameron Seader
Technology Strategist, SUSE
Agenda
Introduction to OpenStack
What is Manila?
Why use Manila?
Use Cases
Newton Updates
Distributions Integration
SUSE Demo
Upcoming in Ocata
Q&A3
© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---4
What is OpenStack?
• Fully open-source software platform
for cloud computing written in Python
• Comprised of interrelated components
that control hardware pools of CPU,
storage, and networking resources
• Provides building blocks to create an
IaaS cloud through web dashboard,
CLI, or through a rich RESTful API
• Global collaboration: Developers and
Operators. Open design, source and
standards.
• Huge market momentum
The OpenStack Community
5 © 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---
Year 6
60054,391179 SUPPORTING COMPANIES
COMMUNITY MEMBERS
COUNTRIES
20M+LINES OF CODE
38OPENSTACK POWERED PRODUCTS
104PRODUCTS IN THE MARKETPLACE
665AVERAGE MONTLYCONTRIBUTIONS
5.2M+CUMULATIVECONTRIBUTIONS
Source: OpenStack Foundation Austin Summit Keynote: April 2016
OpenStack Foundation October 2016 SurveyShare of deployments in production is 20% greater than a year ago
OpenStack High Level Architecture
Orchestration
Dashboard
Networking
Identity
ImageBlock
Storage
Compute
(Virtual)
Object
Storage
Telemetry
Shared
File Systems
© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---8
9 NetApp Insight © 2016 NetApp, Inc. All rights reserved. NetApp Confidential – Limited Use Only
Of all storage sold is for file-based use cases* Per IDC
OpenStack Foundation 2016 SurveyProject adoption for emerging projects forecasts growth (October 2016)
NetApp is the founder of, leading contributor to, and most widely deployed option for Manila
OpenStack Foundation 2016 Survey
11 NetApp Insight © 2016 NetApp, Inc. All rights reserved. NetApp Confidential – Limited Use Only
Shared File System Drivers in Use (April 2016 )
Manila: The OpenStack Shared File Service Program
Multitenant, secure file share as a service
12
OpenStack Compute
Hypervisor
Manila
Shares Provider
Finance R&D Marketing
Provide access
to Guests 1 & 7
to the existing
“R&D” File Share
1 3 42
5 7 86
Create a new
“Marketing” File
Share between
Guests 6 & 8
Manila: Overview of Key Concepts
13
Share (an instance of a shared filesystem)
User specifies size, access protocol, “share type”
Can be accessed concurrently by multiple instances
Share access rules (ACL)
Defines which clients can access the share
Specified by IP in CIDR notation
Share network
Defines the Neutron network & subnet through which instances
access the share
A share can be associated with a single share network
Manila: Overview of Key Concepts
14
Security service
Finer-grained client access rules for Authorization (e.g. LDAP)
Share can be associated to multiple security services
Snapshots
Read-only copy of share contents
New share can be created from a snapshot
Backend
Provider of shares; a share resides on a single backend
Driver
Vendor or technology-specific implementation of backend API
Manila History
Beginnings
Kilo Driver Modes
DevStack Plug-in
Storage Pools
Default Share Type
Manage/Unmanage
Manila UI
Liberty Support Availability Zones
Consistency Groups
Windows SMB Driver
Various Driver Updates (cDOT)
Oversubscription in thin provisioning
15
Manila Today -
● Number of Drivers: 23
● Blueprints Completed: 14
● Specs* new with Newton:
○ 13 specs proposed
○ 5 accepted
■ Share Migration Improvements
■ Store auth secrets in access map
■ Share networks span subnets
■ Share revert-to-snapshot
■ Hierarchical Port Binding
* https://review.openstack.org/#/q/project:openstack/manila-specs
Manila Operation and Deployment Options with NetApp
17
Single Storage Virtual Machines (SVMs) / Multiple SVMs driver_handles_share_servers=False/Tue
Deployment choice
Direct or Intermediated
Network Plugins
Standalone Network Plugin
Nova Network Plugin
Neutron Network Plugin
Use Cases
18
Multi-Tier Applications
Standalone Share File Services Management
Replace Legacy Systems
Improve SLA
Integrate with Automation Frameworks
19
Enterprise Applications
Lower Cost, Heterogeneous Infrastructure
Application Porting: Move Workloads to OpenStack
20
DevOps/Continuous Integration
Pluggable Infrastructure
Storage Service Catalog
Analytics
Containers
Snapshots & Clones
Consistency Groups
21
Sahara Integration
Use cases
Stores binaries for job templates - NFS is ideal for this case
Input and output data sources - Manila-provisioned HDFS and NFS offers more
options
Mount NFS share API
Binaries and data I/O from an NFS share path
New development in Sahara this cycle
Mount shares at cluster creation or auto-mount when a share is used for EDP
Manila-provisioned HDFS
Data sources and data processing on Sahara-external clusters
Testing and process verification of extant Manila features this cycle
NFS Hadoop driver (run jobs on your NFS shares)22
Sahara Integration - Current Implementations
API to mount NFS shares to
clusters (job binaries and data
sources)
Data sources on Manila-
provisioned HDFS
23
Images by Weiting Chen (Intel)
Newton Update
Manila features in Newton
New in Newton
● Snapshot instance admin APIs
● Extend share and extend snapshot APIs enhancements
● Scheduler improvements for thin provisioning, driver filter
and Goodness weigher
● Access list api enhanced to return access key
● Network gateway & MTU DB support; port-binding support
● Many share migration and data service fixes and
improvements*
● Share replication improvements*
* Experimental Features
http://docs.openstack.org/releasenotes/manila/newton.html
Share Instances
27
Needed for features like:
share migrations
replication
Share migrations
• Share Migration allows a share to
be migrated from one host pool to
another hostpool through the
"manila migrate <share>
<host#pool>" command, as well as
allowing to perform migration
between different backends.
• Basic Implementation
• The Fallback approach to migration
is rsync, slow, inneficient
• Vendors can utilize API for
optimized migration
28
Availability zones
The availability zones support which
was inherited from Cinder was
reworked in the Liberty cycle:
• Added public API extension
• Allow to preserve AZ if creating a
share from a snapshot and set AZ in
Share API or Share Manager.
• AZs will benefit share replication and
also give end users control of the
locality of their data w.r.t. consumers
of the data.
29
Manila State of the Art: Share Replication
Non Disruptive Operations High Availability
Availability Zones
Failures within an AZ
High Availability Solution Clustered Storage
Failure of an AZ
High Availability Solution Share Replication
30
LVM Driver
Manually Create PV, VG
Choice of filesystem, default ext3
CIFS and NFS Shares
Create, Delete Snapshots
Create share from snapshot
Extend Share
lvcreate -m (mirrors)
Mostly for test purposes
Simplest reference driver
Restriction
26 shares per server
Max number of Virtual PCI
interfaces (Nova)31
PV PV PV
Mirror Leg 1 Mirror Leg 2 Log
Volume Group
LV
Manila Share
NFS CIFS
Some Production Considerations...
Don’t use Reference Implementation drivers in production!
● Generic driver is unstable and not cut for scale
Core vs. Experimental and Microversioned APIs
Experimental Features:
● Consistency Groups
● Consistency Group Snapshots
● Share Migration and Data Services
● Share Replication
Experimental APIs may be changed at will, even removed.
Microversions allow new implementations to break backwards
compatibility while maintaining support for earlier versions of the
APIs.
Newton share driver work
New drivers: Docker, Tegile IntelliFlash, Hitachi HSP,
NexentaStor● NetApp cDOT driver hybrid aggregate support
● NetApp cDOT driver snapshot manage/unmanage support
● CephFS Native Driver (Read-only share support)
● CephFS Native Driver returns access key
● Huawei added share replication support
● EMC Unity driver added NFS/CIFS plugin
● Hitachi HNAS CIFS support
● GlusterFS new volume XML schema support
● GPFS driver NFS Ganesha support
● ZFSonLinux manage-snapshot support
● Oracle ZFSSA driver supports manage/unmanage shares
● Various fixes and enhancements to HPE 3PAR, Hitachi HSP, Huawei,
Native CephFS, NetApp cDOT, ZFSonLinux, and Windows drivers.
Supporting work for Manila in other projects
● TripleO heat templates and puppet manifests using new
composable/custom roles infrastructure to support overcloud
deployment with NetApp and native CephFS backends.
● Ganesha work on dynamic update of exports via d-bus○ Lack of this capability was holding up use of Ganesha by Docker driver
○ Glusterfs and GPFS drivers use today
○ CephFS driver will use Ganesha for NFS gateway
● Tempest library stable interfaces to improve CI stability
● Security Vulnerability Management (when CVE’s hit), Barbican example
● Monitoring, Troubleshooting and Telemetry
● Kolla have added the support for deploying Manila (for running Manila
services containerized).
● Fuxi – Enable Docker Manila use for shared persistent volume
Distributions Integration
Manila in SUSE OpenStack Cloud
The Manila service was tech preview in SUSE Cloud 5
Fully supported in SUSE OpenStack Cloud 6 & 7
Crowbar deployment tool integration
Controller HA
NetApp driver
Custom driver possible
36
Manila in SUSE OpenStack Cloud 7
37
Update to Ocata
Ocata focus and beyond
● New spec process has been proposed to provide more focus○ Have fewer features in flight, more finished
● Begin journey to scalable, active-active services○ consistent model for avoiding races
○ How to scale out services across multiple nodes while still avoiding races
○ Exploit composable role TripleO infra
● High Availability & Disaster Recovery○ Replication, Backup, Snapshots
○ Common understanding of AZs and failure domains for services, resources,
networks, ...
● Migration, Data Service, Storage/Network protocol independence○ Single node, scale-out services
○ Continue to refine AZs in manila■ What are are the relevant failure domains?
■ How to map these to independent services, networks, resources?
GET INVOLVED WITH MANILA!
https://github.com/openstack/manila
https://github.com/openstack/python-manilaclient
https://github.com/openstack/manila-ui
https://github.com/openstack/manila-image-elements
https://wiki.openstack.org/wiki/Manila
https://launchpad.net/manila
#openstack-manila on IRC (Freenode)
Weekly meetings @ Thursday, 15:00 UTC40
Q&A
Backup
Sahara Integration
43
REST API Microversions
44http://docs.openstack.org/developer/manila/devref/api_microversion_dev.html
http://docs.openstack.org/developer/manila/devref/api_microversion_history.html
Example:
● client 1 with server 1 => version 2.3
● client 1 with server 2 => version 2.3
● client 2 with server 1 => version 2.5
● client 2 with server 2 => version 2.10
Experimental APIs
45
Expected to change at any time
can be removed without
deprecation period
Usage: needs to set header “X-
OpenStack-Manila-API-
Experimental: true”
http://docs.openstack.org/developer/manila/devref/experimental_apis.html
http://developer.openstack.org/api-ref-share-v2.html
@api_version(min_version='2.1', max_version='2.9')
def show(self, req, id):
.... stuff ....
@api_version(min_version="2.4",
experimental=True)
def my_api_method(self, req, id):
.... stuff ....
Consistency Groups (CGs)
grouping different shares together for the purpose of application
data protection (focus of snapshots for disaster recovery)
example use case: database data and log files are on different shares
• when doing snapshots for both shares, the data on the shares must be consistent
supported actions
• create CG with mutliple shares
• create snapshot of CG
• create CG from snapshot
46
Oversubscription
47
tunable for setting provisioned capacity and a
subscription ratio added
addresses 'infinite' and 'unknown' drivers reported
capacity that may lead to oversubscription
thin_provisoning support needed
Extend & Shrink
48http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html
External CI for all drivers
49And others ...