Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage Niels de Vos Senior Software Engineer Red Hat Storage
Critical features for both Dev and Ops Self-Service Standards-based Multi-language Web-scale Automation Open Source Collaboration Seamless Enterprise Grade Secure
10,000 foot overview
Traditional, Stateful, and Microservices-based Apps Business Automation Container Integration Data & Storage Web & Mobile Container Container Container Self-Service Service Catalog (Language Runtimes, Middleware, Databases) Build Automation Deployment Automation OpenShift Application Lifecycle Management (CI/CD) Container Orchestration & Cluster Management (kubernetes) Networking Storage Registry Logs & Metrics Security Infrastructure Automation & Cockpit Enterprise Container Host Container Runtime & Packaging (Docker) Atomic Host Red Hat Enterprise Linux JBOSS EAP JBOSS DATA GRID JBOSS DATA VIRTUALIZATION JBOSS AM-Q JBOSS BRMS JBOSS BPM JBOSS FUSE RED HAT MOBILE 3 Scale
MODERN APPLICATIONS DRIVE A MODERN DATA ARCHITECTURE µsvc µsvc µsvc µsvc µsvc µsvc µsvc CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER PLATFORM Container Ready Data and Storage
STORAGE INNOVATION FOR CONTAINERIZED APPLICATIONS Ceph RBD Amazon EBS Azure Disk AUTOMATED CONFIGURATION SINGLE CONTROL PANEL GCE Disk iscsi NFS GlusterFS CHOICE OF PERSISTENT STORAGE
CONTAINER READY STORAGE CONTAINER NODE 1 CONTAINER NODE 1 NGINX Container NGINX Container CONTAINER NODE 2 CONTAINER NODE 3 NGINX Container MySQL Container
CONTAINER-NATIVE STORAGE OPENSHIFT NODE 1 APP CONTAINER MASTER OPENSHIFT NODE 2 OPENSHIFT NODE 3 APP Container APP Container RHGS Container RHGS Container Co-Locate Storage and Apps Dynamic Provisioning Managed by OpenShift Infrastructure-Agnostic RHGS Container OPENSHIFT NODE 4
CONTAINER-NATIVE STORAGE ON OPENSHIFT
CONTAINER-NATIVE STORAGE ON OPENSHIFT CONTAINERIZED RED HAT GLUSTER STORAGE GLUSTER VOLUMES RED HAT GLUSTER HOST NETWORK PHYSICAL DISK RHEL HOST OS
CONTAINER-NATIVE STORAGE ON OPENSHIFT HEKETI RESTFUL GLUSTERFS MANAGEMENT REST API RED HAT HEKETI GLUSTERFS S
CONTAINER-NATIVE STORAGE ON OPENSHIFT 1.) PERSISTENT VOLUME CLAIM
CONTAINER-NATIVE STORAGE ON OPENSHIFT 1.) PERSISTENT VOLUME CLAIM 2.)
CONTAINER-NATIVE STORAGE ON OPENSHIFT GLUSTER VOLUME 3.) 1.) PERSISTENT VOLUME CLAIM 2.)
CONTAINER-NATIVE STORAGE ON OPENSHIFT PERSISTENT VOLUME 4.) GLUSTER VOLUME 3.) 1.) PERSISTENT VOLUME CLAIM 4.) 2.) PERSISTENT VOLUME
Current available Backup Strategies Not integrated in the admin or user view of OpenShift Runs separately (most often) outside of OpenShift Might need special precautions for maintaining application data consistency Configuration and interactions directly on the storage environment
GLUSTER SNAPSHOTS AND GEO-REPLICATION Asynchronous Replication GLUSTER VOLUME read-write GLUSTER VOLUME read-only Site A Site B BEFORE SNAPSHOT AFTER SNAPSHOT CURRENT FILE SYSTEM A B C CURRENT FILE SYSTEM SNAPSHOT D A B C AFTER MODIFICATIONS D CURRENT FILE SYSTEM SNAPSHOT A B C D B D+ Deleted Data Modified Data E1 E2 New Data
Potential future backup enhancements Snapshots of Persistent Volumes through Kubernetes Promotion of snapshots to new Persistent Volumes Container with backup application binds the Persistent Volume Opens the road for User-Self-Service to do backup and restores Can run completely inside OpenShift
PERSISTENT VOLUME SNAPSHOTS Persistent Volume Create Snapshot Snapshot Details Promote Snapshot to PV Site A Persistent Volume Site A Perform Backup PERSISTENT STORAGE read-write Site B
THANK YOU plus.google.com/+redhat facebook.com/redhatinc linkedin.com/company/red-hat twitter.com/redhatnews youtube.com/user/redhatvideos