Uploaded by Hoàng Minh Nguyễn Lưu

Cinder40Min-v2

advertisement
All you need to know about
OpenStack Block Storage in less
than an hour
Dhruv Bhatnagar
Nirendra Awasthi
Agenda
2
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
OpenStack Architecture
3
Copyright © 2017 Veritas Technologies.
Different types of Storage in OpenStack
Ephemeral
• Non-persistent
• Life Cycle coincides with an instance
• Usually local FS/QCOW file
Object
• Typically ”cheap and deep”
• Commonly SWIFT
• Use cases: photos, mp4 etc
4
Copyright © 2017 Veritas Technologies.
Shared FS
• Example: NFS
• Manilla
Block
•
•
•
•
Foundation for the other types
Think raw disk
Typically higher performance
Cinder
What is Cinder
“…. short description of Cinder is that it virtualizes the management of block storage
devices and provides end users with a self service API to request and consume those
resources without requiring any knowledge of where their storage is actually deployed
or on what type of device…”
5
Copyright © 2017 Veritas Technologies.
What is Cinder used for….
• Enables user to manage their storage
– Create volume
– Create Snapshot
– Backup
– Attach/Detach
• Cinder provides
– commands and
– API’s to interact with vendors’ storage backend
– persistent storage to VM’s
• Exposes vendors storage hardware to the cloud
6
Copyright © 2017 Veritas Technologies.
Agenda
7
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
Rest API
Cinder Architecture
Cinder Scheduler
Cinder Backup
Cinder API
Messaging Bus (AMQP)
Cinder Volume
(Backend)
8
Copyright © 2017 Veritas Technologies.
Cinder Volume
(Backend)
Cinder Volume
(Backend)
Agenda
9
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
CLI Commands
• List Cinder services
– openstack volume service list
10
Copyright © 2017 Veritas Technologies.
Add Cinder Backend (cinder.conf)
• Enable Multi Backend Support by adding different sections for each cinder driver
• “enabled_backends” parameter used to set which backends to enable
• Any changes to cinder configuration needs cinder services to be restarted afterwards
11
Copyright © 2017 Veritas Technologies.
CLI Commands
• List Volume types
– openstack volume type list
12
Copyright © 2017 Veritas Technologies.
Volume Types
• Created by Admin
• After creating a new Volume Type
– Update “volume_backend_name” key to hold the value of the Backend Name
– Create a volume out of this new volume type to enable Vendor provided backend features
13
Copyright © 2017 Veritas Technologies.
CLI Commands
• Show Details of a volume type
– openstack volume type show <Volume-Type>
• List Volumes
– openstack volume list
14
Copyright © 2017 Veritas Technologies.
Volume status
Status
Description
creating
available
reserved
attaching
detaching
in-use
maintenance
deleting
awaiting-transfer
error
error_deleting
backing-up
restoring-backup
error_backing-up
The volume is being created.
The volume is ready to attach to an instance.
The volume is reserved for attaching or shelved.
The volume is attaching to an instance.
The volume is detaching from an instance.
The volume is attached to an instance.
The volume is locked and being migrated.
The volume is being deleted.
The volume is awaiting for transfer.
A volume creation error occurred.
A volume deletion error occurred.
The volume is being backed up.
A backup is being restored to the volume.
A backup error occurred.
error_restoring
A backup restoration error occurred.
error_extending
An error occurred while attempting to extend a volume.
downloading
uploading
retyping
extending
The volume is downloading an image.
The volume is being uploaded to an image.
The volume is changing type to another volume type.
The volume is being extended.
15
Copyright © 2017 Veritas Technologies.
CLI Commands
• Create Volumes
– openstack volume create test-vol-1 --size 50
• openstack help volume create
• Attach Cinder volume to a nova instance
– openstack server add volume <instance-id> <vol-id>
16
Copyright © 2017 Veritas Technologies.
Agenda
17
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
Cinder Interactions (Creating a Volume)
Cinder Client
Cinder Scheduler
Cinder API
Messaging Bus (AMQP)
Cinder Volume
(HyperScale)
18
Copyright © 2017 Veritas Technologies.
Cinder Volume
(HyperScale)
Cinder Volume
(HyperScale)
Cinder Interactions (Attach a volume)
iSCSI is just an
example.
Several other
protocols are
supported as
well
Nova
VM
Cinder
VM
/dev/vda
Storage Controller
KVM
iSCSI Initiator
19
Copyright © 2017 Veritas Technologies.
iSCSI Target
Volume API
https://developer.openstack.org/api-ref/block-storage
20
Copyright © 2017 Veritas Technologies.
Agenda
21
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
Advanced features
• Snapshot
– A snapshot is a point-in-time copy of the data that a volume contains
– A snapshot would live on the same storage backend as the active volume
• Quota
– Admins set this limit on volume, backup and snapshot capacity depending on policy settings
• Volume transfer
– Transfer a volume from one user to another user
• Encryption
– Encryption is done by Nova using dm-crypt which is a transparent disk encryption subsystem in Linux kernel
• Backup
– Full and incremental backups are supported
– Supported providers are Swift, Ceph, NFS, GlusterFS, POSIX, Google Cloud and IBM TSM
22
Copyright © 2017 Veritas Technologies.
Volume Migration
• Move data between two backends with same volume type
• Two backends can be located on same or different cinder nodes
# cinder migrate [--force-host-copy [<True|False>]] [--lock-volume
[<True|False>]] <volume> <host>
23
Copyright © 2017 Veritas Technologies.
Volume Retype
• Move between two backends with different volume types
• Two backends can be located on same or different Cinder Volume
node
# cinder retype [--migration-policy <never|on-demand>] <volume>
<volume-type>
24
Copyright © 2017 Veritas Technologies.
Volume Groups
• Concept introduced in Newton
• Different volumes used by the same applications / workloads to be grouped and
managed together
• Operations supported
– Create, delete, update, show and list groups
25
Copyright © 2017 Veritas Technologies.
Glance Store and Create a VM
26
Copyright © 2017 Veritas Technologies.
Glance Image Volume Cache
• When Image is downloaded, a volume cache is created
• Every create boot volume call will clone a volume instead of downloading the image
again
• Configuration:
– image_volume_cache_enabled = True
– image_volume_cache_max_size = SIZE_IN_GB
– image_volume_cache_max_count = MAX_COUNT
– And then Launch VMs via “boot from volume” option
27
Copyright © 2017 Veritas Technologies.
Using Cinder as Backing Store for Glance
• Backend should support fast cloning capabilities
• Every “Create Volume from Image” call checks for availability of image in backend
• If image is not present, it is downloaded and converted to raw
• If image is present, image is cloned to new volume
– Performance is improved 30 times when compared to downloading the same image 2nd time
– Backends supporting de-duplication will perform even better
28
Copyright © 2017 Veritas Technologies.
Agenda
29
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
Cinder Drivers
• What do they do?
– Map requests from Cinder to external Storage Platform
• LVM
• Various other Storage Controllers
• Distributed File Systems
• Currently about 100 drivers in github
– https://github.com/openstack/cinder/tree/master/cinder/volume/drivers
– https://wiki.openstack.org/wiki/CinderSupportMatrix
30
Copyright © 2017 Veritas Technologies.
Cinder Drivers
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
31
Block Device Driver (local)
Blockbridge (iSCSI)
CloudByte (iSCSI)
Coho (NFS)
Datera (iSCSI)
Dell Equallogic (iSCSI)
Dell Storage Center (iSCSI/FC)
Disco (disco)
DotHill (iSCSI/FC)
DRBD (DRBD/iSCSI)
EMC VMAX (iSCSI/FC)
EMC VNX (iSCSI/FC)
EMC XtremIO (iSCSI/FC)
EMC ScaleIO (scaleio)
Fujitsu ETERNUS (iSCSI/FC)
GlusterFS (GlusterFS)
HGST (NFS)
HPE 3PAR (iSCSI/FC)
HPE LeftHand (iSCSI)
HPE MSA (iSCSI/FC)
Copyright © 2017 Veritas Technologies.
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
HPE XP (FC)
Hitachi HBSD (iSCSI/FC)
Hitachi HNAS (iSCSI/NFS)
Huawei (iSCSI/FC)
IBM DS8000 (FC)
IBM Flashsystem (iSCSI/FC)
IBM GPFS (GPFS)
IBM Storwize SVC (iSCSI/FC)
IBM XIV (iSCSI/FC)
Infortrend (iSCSI/FC)
Lenovo (iSCSI/FC)
LVM (iSCSI) - Reference
NetApp ONTAP (iSCSI/NFS/FC)
NetApp E Series (iSCSI/FC)
Nexenta (iSCSI/NFS)
NFS (NFS) – Reference
Nimble Storage (iSCSI)
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Oracle Zfssa (iSCSI/NFS)
Pure Storage (iSCSI/FC)
ProphetStor (iSCSI/FC)
Quobyte (quobyte)
RBD (Ceph) - Reference
Scality SOFS (scality)
Sheepdog (sheepdog)
SMBFS (SMB)
SolidFire (iSCSI)
Tegile (iSCSI/FC)
Tintri (NFS)
Violin (FC)
VMware (VMDK)
Virtuozzo Storage (NFS)
Windows (SMB)
X-IO technologies (iSCSI/FC)
Veritas HyperScale
Veritas Access
Minimum driver features
• Drivers must implement support for the core features:
– Volume Create/Delete
– Volume Attach/Detach
– Snapshot Create/Delete
– Create Volume from Snapshot
– Copy Image to Volume
– Copy Volume to Image
– Clone Volume
– Extend Volume
32
Copyright © 2017 Veritas Technologies.
Commodity Storage Drawbacks / Limitations
• HA
• Scale
• QoS
• Data Dedup
• Efficient Tiering
33
Copyright © 2017 Veritas Technologies.
Vendor specific features
• Different vendor backend enable different use cases
• Backend are selected by cinder scheduler
• Every backend is created while thinking of specific set of capabilities
• The vendor specific features are thus exposed via
– Custom volume types
– Extensions
34
Copyright © 2017 Veritas Technologies.
Provides ability to choose
• Plugin architecture, multiple choices for backend storage
• Don’t have to choose just one
• Use the storage that fits your needs
• Mix of proprietary and open-source choices
35
Copyright © 2017 Veritas Technologies.
Agenda
36
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
Integrating Storage Management with OpenStack
37
Copyright © 2017 Veritas Technologies.
HyperScale: OpenStack Integration
Compute
Volume
extension
Scheduler
Collector
Volume
Dashboard
41
Copyright © 2017 Veritas Technologies.
HyperScale and Cinder
• High Availability with DAS
• Automated snapshot management
• Predictable Performance
• Hyper Scale
• Zero Backup Window
• Real Time Storage Insight
• Storage Cost Saving
39
Copyright © 2017 Veritas Technologies.
Key Takeaways
• Manage Block Storage via self service APIs
• Cinder provides CLI to create and manage OpenStack volumes
• Cinder backends can be configured through cinder.conf config file
• VM spawn time can be optimized using either image volume cache or cinder as glance
store
• Cinder volume drivers are pluggable interfaces to map Cinder requests to storage
platform
40
Copyright © 2017 Veritas Technologies.
Agenda
41
1
What is Cinder
2
Architecture & Services
3
Concepts, Configuration and CLI
4
Service Interactions
5
Advanced Features
6
Cinder Drivers
7
Veritas HyperScale and Cinder
8
Q&A
Copyright © 2017 Veritas Technologies.
Thank you!
Nirendra Awasthi
Dhruv Bhatnagar
Copyright © 2017 Veritas Technologies. All rights reserved. Veritas and the Veritas Logo are trademarks or registered trademarks of Veritas Technologies or its affiliates in the
U.S. and other countries. Other names may be trademarks of their respective owners.
This document is provided for informational purposes only and is not intended as advertising. All warranties relating to the information in this document, either express or
implied, are disclaimed to the maximum extent allowed by law. The information in this document is subject to change without notice.
Download