SlideShare a Scribd company logo
OpenStack Summit | Vancouver 2018
How to Survive an OpenStack Cloud
Meltdown with Ceph
Federico Lucifredi, Sean Cohen, Sébastien Han
OpenStack Summit Vancouver
May 22, 2018
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
What’s the Problem?
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
DatacenterDynamics
https://bit.ly/2IEC3t4
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
@hohocho
https://bit.ly/2IVor0b
TWS
https://bit.ly/2IAQXVv
Additional coverage
DataCenter
Knowledge
https://bit.ly/2x32Iyn
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
S3 Service Disruption
https://amzn.to/2melOup
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Redefining Disaster Recovery
● The problem space
○ Disaster recovery (DR)
○ High availability (HA)
○ Fault tolerance (FT)
○ And everyone’s favorite… Backup.
● Key metrics
○ Recovery point objective (RPO)
○ Recovery time objective (RTO)
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cloud Meltdown Prevention
State of the art
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Different failure domains
Ways to segregate your data:
● Ceph and failure domains:
○ Always build redundancy from racks (1 replica per rack)
○ Go as granular as you want (room, pod, pdu, row, rack...)
○ Between pools
● Different Ceph clusters in the same datacenter, but different facility
● Different Ceph clusters geographically spread
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Nova and Cinder snapshots
Operational Recovery (Human error, Database
corruptions, Malicious code etc…)
● NOT a backup, just for convenience
● Difference:
○ Nova: new image in Glance
○ Cinder: internal snapshot with layering
● Snapshot are fast and transparent, no data moving
the network
● Always use a qemu-guest-agent in your virtual
machine
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder Ceph backup
● Efficient Ceph to Ceph backups
● Always incremental - block differential
● Works between:
○ Ceph Pools (not recommended)
○ Ceph clusters
● Deeper Workload backup with change
block tracking based style on RBD Diff,
available via 3rd party vendors
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Disaster Recovery with RBD Mirroring
RBD Mirroring - Ceph Jewel
Ceph Jewel release (Apr 2016):
● Added ‘rbd-mirror’ daemon to synchronise Ceph images from one cluster to another
● Relies on two new RBD image features:
○ journaling: enables journaling for every transaction on the image
○ mirroring: tells the rbd-mirror daemon to replicate images
● Images have states: primary and non-primary (promote and demote calls)
● 1:1 relationship between daemons but cross-replication possible
RBD Mirroring - Ceph Luminous
Ceph Luminous release
(Aug 2017, current):
● RBD-Mirror, multiple instances
with failover
● Only a single instance is
active
● Multiple secondary sites
(unidirectional)
● Delayed replication (for
unwanted change)
RBD Mirroring - Ceph Mimic
Ceph Mimic release (rc1 May 2018):
● RBD-Mirror, multiple active
instances
● ‘Simple’ algorithm for chunking
● Naive chunking policy, divides m
daemons and n images in a way
● Dashboard V2 mirroring
integration
● Delayed deletion
● Clone non-primary images (for
Glance)
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Disaster Recovery with RBD Mirroring
EASIER WAYS SAFEGUARD DATA IN OPENSTACK DEPLOYMENTS
TripleO
ceph-ansible
CLUSTER ONE DR1
BLOCKBLOCK
rbd-mirror
images
data
OS
images
data
OS
RBD MIRRORING DEPLOYED WITH TRIPLEO
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder Replication w/RBD Mirroring
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder RBD Replication
● New in Queens release: Tripleo
deployment of RBD-mirror daemon
using ceph-ansible
● Replication is enabled per-volume
● Cinder assumes Ceph cluster
mirroring is configured and
functioning
● Underlying configuration can
mirror to multiple sites, cinder can
be configured to reflect this
configuration and allow multiple
failover targets
● Failover changes cinder runtime
configuration and promotes each
volume to the secondary.
● Upcoming feature to promote a
secondary to primary
● A/A replication in RBD merged this
cycle
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder Replication Failover / Promote
What’s available today?
● Ocata release - RBD Cinder Volume Replication driver
○ Volume based added rather than just pool level (based on Cinder Volume Types)
○ Both clusters are expected to be
configured with rbd-mirror with keys in place and image mirroring
enabled on the pool.
○ The RBD driver will enable replication per-volume if the volume type requests it.
○ Supports Multiple mirroring clusters
● After failing backend A over to backend B, there is was no mechanism in Cinder to promote
backend B to the master backend in order to then replicate to a backend C. We also lacked some
management commands to help rebuild after a disaster if states get out of sync.
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder Replication Promotion Failback
● Add support for promoting a failed over backend
○ Cinder's failover support allows us to test a disaster recovery configuration by
initiating a failover operation and verifying that the driver correctly passes
control of the replicated volumes to a secondary site.
○ With the recent merge of the RBD replication in the Cinder driver, this failover
is now supported for ceph-backed cinder deployments.
○ Cinder also provides a failback operation to allow an administrator to undo a
previous failover.
Rocky Release focus
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder Replication Promotion Failback
● Add support for Active/Active replication in Cinder RBD driver
○ This allows you to configure multiple volume backends that are all a member
of the same cluster participating in replication.
○ The new feature breaks failover_host into the two requisite parts (Failover
and Failover_completed) in order to support both single-backend and
multiple backends configured as active/active.
Rocky Release focus
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder RBD Replication
Gaps
● Nova attached volumes are no longer connected
● Cannot replicate a multi-attach volume or multi-attach a
replicated volume
● No “gate testing” yet if the promotion works
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Use your RBD Backups for DR
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Cinder RBD Backup with RBD Mirroring
When something goes wrong:
● Re-configure Cinder Backup to point to the mirrored cluster
● Force detach the volume
● Restore the backup to a new volume
● Attach the volume again to the virtual machine
○ If boot from volume:
■ Reset-state (should be in failed state)
■ Start the virtual machine again
● Best Practice - use Export and import backup metadata
○ Exporting and storing this encoded string metadata allows you to completely restore the
backup, even in the event of a catastrophic database failure.
■ $ cinder backup-export BACKUP_ID
■ $ cinder backup-import METADATA
Ceph Cinder Backup recovery procedure
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Protecting the Edge
● Edge sites hosting content for
low-latency delivery
● Remote POPs running virtual
network functions
● Micro data centers capturing
IOT telemetry fo real-time
processing
Micro Data
Center
Edge
CDN
Primary Data Center
Remote
POP
(NFV)
Remote
POP
(NFV)
Edge
CDN
Edge
CDN
Micro Data
Center
Protecting the Edge
Compute and Storage supporting key Apps at the edge
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Distributed NFVi
Protecting Virtual Network Functions at the Edge
Source: Brian Lavallée @ Ciena
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Distributed Compute Nodes architecture
Protecting Virtual Network Functions at the Edge
RS1: 10 compute nodes RS2: 10 compute nodes RSX: 14 compute nodes
Distributed Compute
Controller nodes
Compute and Storage nodes
RS = Remote Site
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Distributed Compute Nodes with Ceph
Protecting Virtual Network Functions at the Edge
● To ensure performance, Ceph storage nodes need to communicate with Computes on
a low latency and high bandwidth network.
● What means Ceph storage nodes are collocated with the computes on the same Local
Area Network (LAN) in an Hyper-Converged manner.
● In Distributed NFV, Ceph storage is used as a back-end for:
○ Nova: stateless VNF’s requires ephemeral storage on Ceph
○ Cinder: statefull VNF’s requires persistent storage use Cinder volumes
○ Glance: use Ceph in the Compute zone as a backend to spawn VNFs quickly (as
you do not want to rely on image transfer delay between 2 remote sites)
○ Leverage Ceph “copy on write” to speed-up the spawing process.
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Distributed Compute Nodes with Ceph
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Distributed Compute Nodes with Ceph
Protecting Images the Edge
● Distributed NFV use case also requires to support multi-backend (multiple Ceph
clusters) for Glance , where the image is uploaded once and replicated on all the POPs
using Ceph.
● With Ceph storage nodes in each compute zone, without having to use additional
physical servers for the control plane, one solution being to support the collocation of
Ceph MON and Ceph OSD on the same physical servers .
● Benefits
○ Reduces hardware footprint since we have a centralized control plane
○ Brings the ability to manager multiple Ceph cluster from the centralized control
plane
○ Brings resilience with multiple AZs
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Distributed Compute Nodes with Ceph
Protecting Images the Edge
● Using a third party proxy
○ Project MixMatch
■ Combines resources across federated OpenStack deployments
■ The Proxy Service will forward REST API requests to a remote service
provider which is federated using Keystone-to-Keystone Federation (K2K).
■ The proxy learns the location of resources and is able to forward requests
to the correct service provider.
■ This allows OpenStack services to use resources provided by other
federated OpenStack deployments, ex. Nova attach a remote volume.
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Introducing Glance Multi-backend - Rocky release work in progress
● Ability to store Glance images in different storage backends
● Multi-store support opens the door to a handful of image replication and backend targeting use
cases which can provide additional value related to fault tolerance, image locality and policy
based image hosting.
● Allowing Glance Metadata to manage the location awareness in a the centralized control plane,
where store drivers need to express the different storage backends.
● Support multiple Ceph clusters (one per backend) where one backend will represent a
distributed site
● Allow to specify specific Glance backend at the edge - for example CDN specific image.
● Glance does not need to deal with how to sync images between clusters, rather than add the
store logic to support it.
● Additional work needed in Stein release for Store drivers to interact with Glance.
Distributed Compute Nodes with Ceph
Protecting Images the Edge
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Object Replication
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Ceph Rados Gateway (RGW)
RGW Multisite replication (Global Clusters)
● Global object storage clusters with a single namespace
● Enables deployment of clusters across multiple locations
● Locally immediately consistent, remote eventually consistent
● Clusters synchronize
○ allowing users to read from or write to the closest one
● Active-active replication
○ Metadata operations reserved for the master
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Where we going?
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
• “archive”
• Time-based
• Manual retrieval
Roadmap: Ceph Rados Gateway sync to S3
Ability to sync Ceph Rados Gateway private object store to public S3 Cloud providers (e.g:
Amazon S3).
● Tiering to cloud
● Tiering to tape
• “Cloudsync”
• No policy support
Mimic
May 2018
Future • Tiering
• Heat-based data migration
• Migrate back on access
Nautilus
H1 2019
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Roadmap: RBD Mirror
Ability to asynchronously synchronize volume images across multiple Ceph clusters
● Streaming changes live to a secondary site (DR)
● Volumes are ready to consume and can be immediately be pressed into production
• active/passive HA
• Triple-O support
• 1:many replication
Luminous
August 2017
• Adaptive balancingMimic
May 2018
• active/active HA
• scale-out
• Naive balancing
Future
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Plan Before the Meltdown
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Putting it all together
● Cloud Meltdown A3 (can happen anywhere to anyone, anytime)
● The Good news, it is preventable (different failure domains from snaps and backups
combined with block and object replication)
● The secret: Design you Apps with HA. Architect OpenStack and Ceph properly.
● Distribute your data using the latest Cinder Replication with Ceph block and object
replication
● Extend your RBD Backups for DR using Ceph replication
● Use Ceph to to protect your Edge footprint by leveraging Ceph/Glance multi-backend
support
● Automate and test it!
● Next Cloud Meltdown your cloud users may hardly even notice...
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
0xF2
leseb_
SeanCohen_RH
THANK YOU
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Backup slides
(bwahahaha)
OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
Backups - If your cluster is gone
Controller-node
config file
backup
config
volume
config
cinder-api
AMQP
cinder backup
RBD backup
drivercinder volume
volume driver
code
Procedure to resume activity:
● Force detach volumes from instances
● Reconnect all OpenStack services to consume
the backup cluster (Glance, Nova, Cinder)
● Restart them
● Re-attach volumes to your instances
Resume activity, rebuild the initial cluster and sync
back everything with rbd-mirroring.
RBD Mirroring Setup
● Use symlinks to point to other cluster configuration
● Routable connectivity between sites
● Deploy the rbd-mirror daemon on each cluster
● Same pools configuration
● Add peering pool
● Add RBD image settings
○ Enable journaling on image
○ Mirror pool or specific images
Considerations:
● LibRBD-only, no current kRBD support
● Bluestore and EC pool for block (multiple pools, mirror only EC pool, leave metadata pool alone)
RBD mirroring write path

More Related Content

PPTX
OpenStack Glance
PDF
Multiple Sites and Disaster Recovery with Ceph: Andrew Hatfield, Red Hat
PDF
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
PPTX
Issues of OpenStack multi-region mode
PPTX
Everything You Need To Know About Persistent Storage in Kubernetes
PDF
OpenStack Ironic - Bare Metal-as-a-Service
PDF
Podman rootless containers
PDF
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
OpenStack Glance
Multiple Sites and Disaster Recovery with Ceph: Andrew Hatfield, Red Hat
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Issues of OpenStack multi-region mode
Everything You Need To Know About Persistent Storage in Kubernetes
OpenStack Ironic - Bare Metal-as-a-Service
Podman rootless containers
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...

What's hot (20)

PDF
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
PDF
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John Haan
PDF
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
PDF
AvailabilityZoneとHostAggregate
PDF
BlueStore: a new, faster storage backend for Ceph
PDF
OpenStack超入門シリーズ Novaのディスク周りあれこれ
PDF
Building a redundant CloudStack management cluster - Vladimir Melnik
PDF
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
PPTX
OpenStack High Availability
PDF
ゼロからはじめるKVM超入門
PDF
Ceph RBD Update - June 2021
PDF
Ceph Block Devices: A Deep Dive
PDF
SDN입문 (Overlay and Underlay)
PPTX
OpenStack概要 ~仮想ネットワーク~
PDF
Monitoring in CloudStack
PDF
Ceph Tech Talk: Ceph at DigitalOcean
PDF
MinIO January 2020 Briefing
PDF
Deep dive into Kubernetes Networking
PDF
ML2/OVN アーキテクチャ概観
PDF
OpenStack DRaaS - Freezer - 101
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Basic and Advanced Analysis of Ceph Volume Backend Driver in Cinder - John Haan
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
AvailabilityZoneとHostAggregate
BlueStore: a new, faster storage backend for Ceph
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Building a redundant CloudStack management cluster - Vladimir Melnik
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack High Availability
ゼロからはじめるKVM超入門
Ceph RBD Update - June 2021
Ceph Block Devices: A Deep Dive
SDN입문 (Overlay and Underlay)
OpenStack概要 ~仮想ネットワーク~
Monitoring in CloudStack
Ceph Tech Talk: Ceph at DigitalOcean
MinIO January 2020 Briefing
Deep dive into Kubernetes Networking
ML2/OVN アーキテクチャ概観
OpenStack DRaaS - Freezer - 101
Ad

Similar to How to Survive an OpenStack Cloud Meltdown with Ceph (20)

PDF
Dude where's my volume, open stack summit vancouver 2015
PDF
Easy multi-tenant-kubernetes-rwx-storage-with-cloud-provider-openstack-and-ma...
PDF
Ceph openstack-jun-2015-meetup
PDF
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
PDF
Free GitOps Workshop + Intro to Kubernetes & GitOps
PDF
To Russia with Love: Deploying Kubernetes in Exotic Locations On Prem
PDF
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
PDF
OpenNebulaConf 2014 - Using Ceph to provide scalable storage for OpenNebula -...
PDF
CEPH DAY BERLIN - WHAT'S NEW IN CEPH
PPTX
rhte-2023-myths-about-openshift-virtualization-joachim-von-thadden.pptx
PDF
Deep dive into OpenStack storage, Sean Cohen, Red Hat
PDF
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
PDF
Making Service Deployments to AWS a breeze with Nova
PDF
The road to enterprise ready open stack storage as service
PPTX
Rook - cloud-native storage
PDF
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
PPTX
OpenEBS hangout #4
PDF
Workday's Next Generation Private Cloud
PPTX
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
PDF
OpenStack Best Practices and Considerations - terasky tech day
Dude where's my volume, open stack summit vancouver 2015
Easy multi-tenant-kubernetes-rwx-storage-with-cloud-provider-openstack-and-ma...
Ceph openstack-jun-2015-meetup
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Free GitOps Workshop + Intro to Kubernetes & GitOps
To Russia with Love: Deploying Kubernetes in Exotic Locations On Prem
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
OpenNebulaConf 2014 - Using Ceph to provide scalable storage for OpenNebula -...
CEPH DAY BERLIN - WHAT'S NEW IN CEPH
rhte-2023-myths-about-openshift-virtualization-joachim-von-thadden.pptx
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Making Service Deployments to AWS a breeze with Nova
The road to enterprise ready open stack storage as service
Rook - cloud-native storage
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
OpenEBS hangout #4
Workday's Next Generation Private Cloud
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
OpenStack Best Practices and Considerations - terasky tech day
Ad

More from Sean Cohen (8)

PDF
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
PDF
3-2-1 Action! Running OpenStack Shared File System Service in Production
PDF
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
PDF
Manila, an update from Liberty, OpenStack Summit - Tokyo
PDF
When disaster strikes the cloud: Who, what, when, where and how to recover
PDF
Deterministic capacity planning for OpenStack as elastic cloud infrastructure
PDF
Kvm forum 2013 - future integration points for oVirt storage
PDF
Integration of Storage, OpenStack & Virtualization
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
3-2-1 Action! Running OpenStack Shared File System Service in Production
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
Manila, an update from Liberty, OpenStack Summit - Tokyo
When disaster strikes the cloud: Who, what, when, where and how to recover
Deterministic capacity planning for OpenStack as elastic cloud infrastructure
Kvm forum 2013 - future integration points for oVirt storage
Integration of Storage, OpenStack & Virtualization

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Cloud computing and distributed systems.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Electronic commerce courselecture one. Pdf
Approach and Philosophy of On baking technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Cloud computing and distributed systems.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Encapsulation_ Review paper, used for researhc scholars
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Modernizing your data center with Dell and AMD
Electronic commerce courselecture one. Pdf

How to Survive an OpenStack Cloud Meltdown with Ceph

  • 1. OpenStack Summit | Vancouver 2018 How to Survive an OpenStack Cloud Meltdown with Ceph Federico Lucifredi, Sean Cohen, Sébastien Han OpenStack Summit Vancouver May 22, 2018
  • 2. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 What’s the Problem?
  • 3. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 DatacenterDynamics https://bit.ly/2IEC3t4
  • 4. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 @hohocho https://bit.ly/2IVor0b TWS https://bit.ly/2IAQXVv Additional coverage DataCenter Knowledge https://bit.ly/2x32Iyn
  • 5. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 S3 Service Disruption https://amzn.to/2melOup
  • 6. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
  • 7. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Redefining Disaster Recovery ● The problem space ○ Disaster recovery (DR) ○ High availability (HA) ○ Fault tolerance (FT) ○ And everyone’s favorite… Backup. ● Key metrics ○ Recovery point objective (RPO) ○ Recovery time objective (RTO)
  • 8. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018
  • 9. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cloud Meltdown Prevention State of the art
  • 10. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Different failure domains Ways to segregate your data: ● Ceph and failure domains: ○ Always build redundancy from racks (1 replica per rack) ○ Go as granular as you want (room, pod, pdu, row, rack...) ○ Between pools ● Different Ceph clusters in the same datacenter, but different facility ● Different Ceph clusters geographically spread
  • 11. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Nova and Cinder snapshots Operational Recovery (Human error, Database corruptions, Malicious code etc…) ● NOT a backup, just for convenience ● Difference: ○ Nova: new image in Glance ○ Cinder: internal snapshot with layering ● Snapshot are fast and transparent, no data moving the network ● Always use a qemu-guest-agent in your virtual machine
  • 12. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder Ceph backup ● Efficient Ceph to Ceph backups ● Always incremental - block differential ● Works between: ○ Ceph Pools (not recommended) ○ Ceph clusters ● Deeper Workload backup with change block tracking based style on RBD Diff, available via 3rd party vendors
  • 13. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Disaster Recovery with RBD Mirroring
  • 14. RBD Mirroring - Ceph Jewel Ceph Jewel release (Apr 2016): ● Added ‘rbd-mirror’ daemon to synchronise Ceph images from one cluster to another ● Relies on two new RBD image features: ○ journaling: enables journaling for every transaction on the image ○ mirroring: tells the rbd-mirror daemon to replicate images ● Images have states: primary and non-primary (promote and demote calls) ● 1:1 relationship between daemons but cross-replication possible
  • 15. RBD Mirroring - Ceph Luminous Ceph Luminous release (Aug 2017, current): ● RBD-Mirror, multiple instances with failover ● Only a single instance is active ● Multiple secondary sites (unidirectional) ● Delayed replication (for unwanted change)
  • 16. RBD Mirroring - Ceph Mimic Ceph Mimic release (rc1 May 2018): ● RBD-Mirror, multiple active instances ● ‘Simple’ algorithm for chunking ● Naive chunking policy, divides m daemons and n images in a way ● Dashboard V2 mirroring integration ● Delayed deletion ● Clone non-primary images (for Glance)
  • 17. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Disaster Recovery with RBD Mirroring EASIER WAYS SAFEGUARD DATA IN OPENSTACK DEPLOYMENTS TripleO ceph-ansible CLUSTER ONE DR1 BLOCKBLOCK rbd-mirror images data OS images data OS RBD MIRRORING DEPLOYED WITH TRIPLEO
  • 18. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder Replication w/RBD Mirroring
  • 19. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder RBD Replication ● New in Queens release: Tripleo deployment of RBD-mirror daemon using ceph-ansible ● Replication is enabled per-volume ● Cinder assumes Ceph cluster mirroring is configured and functioning ● Underlying configuration can mirror to multiple sites, cinder can be configured to reflect this configuration and allow multiple failover targets ● Failover changes cinder runtime configuration and promotes each volume to the secondary. ● Upcoming feature to promote a secondary to primary ● A/A replication in RBD merged this cycle
  • 20. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder Replication Failover / Promote What’s available today? ● Ocata release - RBD Cinder Volume Replication driver ○ Volume based added rather than just pool level (based on Cinder Volume Types) ○ Both clusters are expected to be configured with rbd-mirror with keys in place and image mirroring enabled on the pool. ○ The RBD driver will enable replication per-volume if the volume type requests it. ○ Supports Multiple mirroring clusters ● After failing backend A over to backend B, there is was no mechanism in Cinder to promote backend B to the master backend in order to then replicate to a backend C. We also lacked some management commands to help rebuild after a disaster if states get out of sync.
  • 21. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder Replication Promotion Failback ● Add support for promoting a failed over backend ○ Cinder's failover support allows us to test a disaster recovery configuration by initiating a failover operation and verifying that the driver correctly passes control of the replicated volumes to a secondary site. ○ With the recent merge of the RBD replication in the Cinder driver, this failover is now supported for ceph-backed cinder deployments. ○ Cinder also provides a failback operation to allow an administrator to undo a previous failover. Rocky Release focus
  • 22. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder Replication Promotion Failback ● Add support for Active/Active replication in Cinder RBD driver ○ This allows you to configure multiple volume backends that are all a member of the same cluster participating in replication. ○ The new feature breaks failover_host into the two requisite parts (Failover and Failover_completed) in order to support both single-backend and multiple backends configured as active/active. Rocky Release focus
  • 23. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder RBD Replication Gaps ● Nova attached volumes are no longer connected ● Cannot replicate a multi-attach volume or multi-attach a replicated volume ● No “gate testing” yet if the promotion works
  • 24. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Use your RBD Backups for DR
  • 25. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Cinder RBD Backup with RBD Mirroring When something goes wrong: ● Re-configure Cinder Backup to point to the mirrored cluster ● Force detach the volume ● Restore the backup to a new volume ● Attach the volume again to the virtual machine ○ If boot from volume: ■ Reset-state (should be in failed state) ■ Start the virtual machine again ● Best Practice - use Export and import backup metadata ○ Exporting and storing this encoded string metadata allows you to completely restore the backup, even in the event of a catastrophic database failure. ■ $ cinder backup-export BACKUP_ID ■ $ cinder backup-import METADATA Ceph Cinder Backup recovery procedure
  • 26. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Protecting the Edge
  • 27. ● Edge sites hosting content for low-latency delivery ● Remote POPs running virtual network functions ● Micro data centers capturing IOT telemetry fo real-time processing Micro Data Center Edge CDN Primary Data Center Remote POP (NFV) Remote POP (NFV) Edge CDN Edge CDN Micro Data Center Protecting the Edge Compute and Storage supporting key Apps at the edge
  • 28. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Distributed NFVi Protecting Virtual Network Functions at the Edge Source: Brian Lavallée @ Ciena
  • 29. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Distributed Compute Nodes architecture Protecting Virtual Network Functions at the Edge RS1: 10 compute nodes RS2: 10 compute nodes RSX: 14 compute nodes Distributed Compute Controller nodes Compute and Storage nodes RS = Remote Site
  • 30. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Distributed Compute Nodes with Ceph Protecting Virtual Network Functions at the Edge ● To ensure performance, Ceph storage nodes need to communicate with Computes on a low latency and high bandwidth network. ● What means Ceph storage nodes are collocated with the computes on the same Local Area Network (LAN) in an Hyper-Converged manner. ● In Distributed NFV, Ceph storage is used as a back-end for: ○ Nova: stateless VNF’s requires ephemeral storage on Ceph ○ Cinder: statefull VNF’s requires persistent storage use Cinder volumes ○ Glance: use Ceph in the Compute zone as a backend to spawn VNFs quickly (as you do not want to rely on image transfer delay between 2 remote sites) ○ Leverage Ceph “copy on write” to speed-up the spawing process.
  • 31. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Distributed Compute Nodes with Ceph
  • 32. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Distributed Compute Nodes with Ceph Protecting Images the Edge ● Distributed NFV use case also requires to support multi-backend (multiple Ceph clusters) for Glance , where the image is uploaded once and replicated on all the POPs using Ceph. ● With Ceph storage nodes in each compute zone, without having to use additional physical servers for the control plane, one solution being to support the collocation of Ceph MON and Ceph OSD on the same physical servers . ● Benefits ○ Reduces hardware footprint since we have a centralized control plane ○ Brings the ability to manager multiple Ceph cluster from the centralized control plane ○ Brings resilience with multiple AZs
  • 33. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Distributed Compute Nodes with Ceph Protecting Images the Edge ● Using a third party proxy ○ Project MixMatch ■ Combines resources across federated OpenStack deployments ■ The Proxy Service will forward REST API requests to a remote service provider which is federated using Keystone-to-Keystone Federation (K2K). ■ The proxy learns the location of resources and is able to forward requests to the correct service provider. ■ This allows OpenStack services to use resources provided by other federated OpenStack deployments, ex. Nova attach a remote volume.
  • 34. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Introducing Glance Multi-backend - Rocky release work in progress ● Ability to store Glance images in different storage backends ● Multi-store support opens the door to a handful of image replication and backend targeting use cases which can provide additional value related to fault tolerance, image locality and policy based image hosting. ● Allowing Glance Metadata to manage the location awareness in a the centralized control plane, where store drivers need to express the different storage backends. ● Support multiple Ceph clusters (one per backend) where one backend will represent a distributed site ● Allow to specify specific Glance backend at the edge - for example CDN specific image. ● Glance does not need to deal with how to sync images between clusters, rather than add the store logic to support it. ● Additional work needed in Stein release for Store drivers to interact with Glance. Distributed Compute Nodes with Ceph Protecting Images the Edge
  • 35. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Object Replication
  • 36. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Ceph Rados Gateway (RGW) RGW Multisite replication (Global Clusters) ● Global object storage clusters with a single namespace ● Enables deployment of clusters across multiple locations ● Locally immediately consistent, remote eventually consistent ● Clusters synchronize ○ allowing users to read from or write to the closest one ● Active-active replication ○ Metadata operations reserved for the master
  • 37. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Where we going?
  • 38. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 • “archive” • Time-based • Manual retrieval Roadmap: Ceph Rados Gateway sync to S3 Ability to sync Ceph Rados Gateway private object store to public S3 Cloud providers (e.g: Amazon S3). ● Tiering to cloud ● Tiering to tape • “Cloudsync” • No policy support Mimic May 2018 Future • Tiering • Heat-based data migration • Migrate back on access Nautilus H1 2019
  • 39. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Roadmap: RBD Mirror Ability to asynchronously synchronize volume images across multiple Ceph clusters ● Streaming changes live to a secondary site (DR) ● Volumes are ready to consume and can be immediately be pressed into production • active/passive HA • Triple-O support • 1:many replication Luminous August 2017 • Adaptive balancingMimic May 2018 • active/active HA • scale-out • Naive balancing Future
  • 40. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Plan Before the Meltdown
  • 41. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Putting it all together ● Cloud Meltdown A3 (can happen anywhere to anyone, anytime) ● The Good news, it is preventable (different failure domains from snaps and backups combined with block and object replication) ● The secret: Design you Apps with HA. Architect OpenStack and Ceph properly. ● Distribute your data using the latest Cinder Replication with Ceph block and object replication ● Extend your RBD Backups for DR using Ceph replication ● Use Ceph to to protect your Edge footprint by leveraging Ceph/Glance multi-backend support ● Automate and test it! ● Next Cloud Meltdown your cloud users may hardly even notice...
  • 42. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 0xF2 leseb_ SeanCohen_RH THANK YOU
  • 43. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Backup slides (bwahahaha)
  • 44. OpenStack Summit | Vancouver 2018OpenStack Summit | Vancouver 2018 Backups - If your cluster is gone Controller-node config file backup config volume config cinder-api AMQP cinder backup RBD backup drivercinder volume volume driver code Procedure to resume activity: ● Force detach volumes from instances ● Reconnect all OpenStack services to consume the backup cluster (Glance, Nova, Cinder) ● Restart them ● Re-attach volumes to your instances Resume activity, rebuild the initial cluster and sync back everything with rbd-mirroring.
  • 45. RBD Mirroring Setup ● Use symlinks to point to other cluster configuration ● Routable connectivity between sites ● Deploy the rbd-mirror daemon on each cluster ● Same pools configuration ● Add peering pool ● Add RBD image settings ○ Enable journaling on image ○ Mirror pool or specific images Considerations: ● LibRBD-only, no current kRBD support ● Bluestore and EC pool for block (multiple pools, mirror only EC pool, leave metadata pool alone)