49
Manila OpenStack Shared Filesystems Management Nov 8-11, 2016 SUSECON Washington D.C

Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

ManilaOpenStack Shared Filesystems Management

Nov 8-11, 2016

SUSECON

Washington D.C

Page 2: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Today’s presenters

Anika Suri

Technical Alliance Manager, NetApp

Cameron Seader

Technology Strategist, SUSE

Page 3: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Agenda

Introduction to OpenStack

What is Manila?

Why use Manila?

Use Cases

Newton Updates

Distributions Integration

SUSE Demo

Upcoming in Ocata

Q&A3

Page 4: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

© 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

Page 5: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 6: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots
Page 7: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

OpenStack Foundation October 2016 SurveyShare of deployments in production is 20% greater than a year ago

Page 8: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 9: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 10: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

OpenStack Foundation 2016 SurveyProject adoption for emerging projects forecasts growth (October 2016)

Page 11: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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 )

Page 12: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 13: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 14: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 15: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 16: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 17: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 18: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Use Cases

18

Multi-Tier Applications

Page 19: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Standalone Share File Services Management

Replace Legacy Systems

Improve SLA

Integrate with Automation Frameworks

19

Page 20: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Enterprise Applications

Lower Cost, Heterogeneous Infrastructure

Application Porting: Move Workloads to OpenStack

20

Page 21: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

DevOps/Continuous Integration

Pluggable Infrastructure

Storage Service Catalog

Analytics

Containers

Snapshots & Clones

Consistency Groups

21

Page 22: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 23: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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)

Page 24: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Newton Update

Page 25: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Manila features in Newton

Page 26: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 27: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Share Instances

27

Needed for features like:

share migrations

replication

Page 28: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 29: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 30: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 31: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 32: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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.

Page 33: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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.

Page 34: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 35: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Distributions Integration

Page 36: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 37: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Manila in SUSE OpenStack Cloud 7

37

Page 38: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Update to Ocata

Page 39: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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?

Page 40: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 41: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Q&A

Page 42: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Backup

Page 43: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Sahara Integration

43

Page 44: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 45: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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 ....

Page 46: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 47: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

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

Page 48: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

Extend & Shrink

48http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html

Page 49: Manila Shared Filesystems Management; Forging …...Finer-grained client access rules for Authorization (e.g. LDAP) Share can be associated to multiple security services Snapshots

External CI for all drivers

49And others ...