21
Bob Callaway, PhD Cloud Solutions Group, NetApp @rdcallaw Creating Differentiated Storage Offerings Using Cinder Volume Types 1

Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Bob Callaway, PhD Cloud Solutions Group, NetApp @rdcallaw

Creating Differentiated Storage Offerings Using Cinder Volume Types

1

Page 2: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Agenda

¡  Why Offer Differentiated Storage Service Levels? ¡  Quick Overview of OpenStack Block Storage (Cinder) ¡  Cinder Volume Types

–  Definition –  Extra specs (with examples) –  QoS specs (with examples)

¡  How to differentiate using Cinder Volume Types ¡  Brief Demo ¡  Q & A

2

Page 3: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Why you should consider multiple service levels for block storage ¡ All workloads are not created equal ¡ Differentiation can lead to greater provider

efficiencies, revenue ¡ Cinder provides an consistent API to access

different types of storage through a common object model

3

Page 4: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Example of Differentiation Strategies

¡  Performance –  Media format, IOPS limits, thin/thick provisioning

¡  Data protection –  Basic, replicated, snapshot/backup intervals

¡  Environment-specific –  Storage protocol, vendor, driver

4

Page 5: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Amazon EBS Service Levels

5

Page 6: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Rackspace Cloud Block Storage Example

6

Page 7: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

OpenStack Block Storage Service (Cinder)

¡  Self-service management of block storage entities (volumes)

¡  Core OpenStack project; forked from Nova (was nova-volume)

¡  Typically deployed as part of a larger cloud; can be used alone

¡  Cinder is the “control plane”; not in the data path of storage traffic

7

Control Path

Data Path

Page 8: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

OpenStack Block Storage Service (Cinder)

8

cinder-api cinder-scheduler cinder-backup

REST

Cinder

cinder-volume Driver

cinder-volume Driver

cinder-volume Driver

Page 9: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Volume Type

¡ An abstract collection of criteria used to describe a particular service level

¡ Defined by cloud administrators as a list of key/value pairs

¡ Utilized by end users when volumes are created –  Volumes can be retyped after creation

9

Page 10: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

q Thin Provisioned q Deduplicated ü Hourly Backups ü Replicated ü Highly Available

ü Thin Provisioned ü Hourly Backups q Isolation q Isolation q Isolation q Isolation

Cinder Volume Types

Bronze Silver Gold

q  Thin provisioned q  Deduplication ü  Hourly Backups ü  Replicated q  Isolation ü  Highly Available

Volume Types: Names are arbitrary

Page 11: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Volume Types: Names are arbitrary

Page 12: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

How Volume Types Affect Volume Provisioning

12

Cinder-scheduler

I’d like a 520GB Silver

volume Cinder backend A

Driver capabilities Cinder backend B

Driver capabilities

Size, type Available capacity,

capabilities

Volume Type

Definition {netapp_dedup=True}

Provision in backend B

Page 13: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Volume Type: Default Capabilities ¡  Cinder backends periodically advertise capabilities

(key/value pairs) to the Cinder scheduler –  volume_backend_name

¡  The name of the backend as defined in cinder.conf –  vendor_name

¡  The name of the vendor who has implemented the driver (e.g. NetApp, ‘Open Source’)

–  driver_version ¡  The version of the driver (e.g. 1.0)

–  storage_protocol ¡  The protocol used by the backend to export storage to clients

(e.g. iSCSI, NFS, FC)

13

Page 14: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Volume Type: Extra Specs

¡ Driver/vendor specific capabilities

14

Extra Spec Type Description netapp:raid_type! String Limit the candidate volume list based on one of the following

raid types: raid4, raid_dp.

netapp:disk_type! String Limit the candidate volume list based on one of the following disk types: ATA, BSAS, EATA, FCAL, FSAS, LUN, MSATA, SAS, SATA, SCSI, XATA, XSAS, or SSD.

netapp_thin_provisioned! Boolean Limit the candidate volume list to only the ones that support thin provisioning on the storage controller.

netapp_dedup! Boolean Limit the candidate volume list to only the ones that have deduplication enabled on the storage controller.

§  This is not an exclusive list – and each vendor has their own… §  Refer to the Config Reference guide @ docs.openstack.org

Page 15: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Volume Type: QoS Specs

¡ Define Quality-of-Service (QoS) targets for volumes

¡ Can be enforced either at –  the hypervisor “frontend” –  the storage subsystem

“backend” –  both

15

Control Path

Data Path

Page 16: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Volume Type: QoS Specs - Limits

¡  Frontend: Limit by throughput –  Total bytes/sec, read bytes/sec, write bytes/sec

¡  Frontend: Limit by IOPS –  Total IOPS/sec, read IOPS/sec, write IOPS/sec

¡  Backend: Vendor specific fields –  HP 3PAR (IOPS, tput: min, max; latency, priority) –  Solidfire (IOPS: min, max, burst) –  NetApp* (QoS Policy Group) –  Huawei* (priority)

16

* defined through extra specs

Page 17: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Using Volume Types to Create Differentiated Storage Offerings

17

Volume Type

Extra Specs QoS Specs

Gold {netapp:disk_type=SSD, netapp_thick_provisioned=True}!

{}!

Silver {}! {total_iops_sec=500}!

Bronze {volume_backend_name=lvm}! {total_iops_sec=100}!

Page 18: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Using Volume Types to Create Differentiated Storage Offerings

18

Volume Type

Extra Specs QoS Specs

Archival {netapp_mirroring=True, netapp_compression=True}!

{read_bytes_sec=5000}!

Analytics {netapp_thick_provisioned=True}! {}!

Streaming {netapp:disk_type=SSD}! {}!

Temporal {netapp_thin_provisioned=True}! {total_iops_sec=100}!

Database {storage_protocol=iscsi}! {}!

Page 19: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

Demo

19

Page 20: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

20

Questions?

Page 21: Creating Differentiated Storage Offerings Using Cinder Volume … · 2019. 2. 26. · – Basic, replicated, snapshot/backup intervals ! Environment-specific – Storage protocol,

21