SlideShare a Scribd company logo
1 of 21
Download to read offline
Approaches for duplicating
Kubernetes Storage with Gluster
Niels de Vos
Gluster Developer and Maintainer
Senior Software Engineer at Red Hat
ndevos@redhat.com
27 August 2018 2
Agenda
● Brief Introduction into Gluster
● Kubernetes Storage Basics
● Use-Cases for Cloning
● Initiating Cloning with Container Data Importer
● Limitations of Cloning with Gluster Volume Snapshots
● Improved Cloning based on reflinking
● Future with Container Storage Interface
27 August 2018 3
Introduction into Gluster
● Software Defined Storage
● Scale-out, distributed and high-available
● Designed as a filesystem
– Block Storage as an add-on
– Object Storage as an add-on
● Easy to install, configure and maintain
– Packages available for several Linux distributions
27 August 2018 4
Introduction into Gluster
● High Availability
– 3-way Replication
– 2-way Replication + Arbiter
– Dispersed Volumes
●
Scalability
– Distributed Volumes
27 August 2018 5
3-way Replication
27 August 2018 6
Distributed Volumes
27 August 2018 7
Commonly Used Features
● Meta-data caching
● Geo-replication
● Volume snapshots
● Policy based split-brain resolution
● Brick multiplexing
● Sharding
27 August 2018 8
Related Open Source Projects
● oVirt
● Samba
● NFS-Ganesha
● QEMU
● Kubernetes
● glusterfs-coreutils
● Gluster-colonizer
● …
27 August 2018 9
Kubernetes Storage Basics
● StorageClass
● PersistentVolumes
● PersistentVolumeClaim
● Containerized Data Importer
27 August 2018 10
StorageClass
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: glusterfile
provisioner: gluster.org/glusterfile
parameters:
resturl: "http://heketi.default.svc.cluster.local:8080"
restuser: admin
27 August 2018 11
PersistentVolumeClaim
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: store-the-data-here
spec:
accessModes:
- ReadWriteMany
storageClassName: "glusterfile"
resources:
requests:
storage: 1Gi
27 August 2018 12
Use-Cases for Cloning
● Testing maintenance operations
– Upgrading applications, data conversion
– Migration from storage provider
● Scaling access to (readonly) data
● Base population for consumption and modification
– ‘golden’ data for similar applications or instances
● Backup and archiving
27 August 2018 13
Initiating Cloning with CDI
● SmartCloning
– Exposed as a feature in the StorageClass
– Based on annotations for a PVC
– Creates a new PVC, with `CloneOf` annotation
27 August 2018 14
SmartCloning
27 August 2018 15
Initiating Cloning with CDI
● Host-Assisted Cloning
– ‘dumb’ recursive copy between PVCs
– Fallback when missing ‘CloneOf’ annotation
27 August 2018 16
Host-Assisted Cloning
27 August 2018 17
Limitations with Gluster Volume
Snapshots
● Whole volumes only
● Gluster management operation
● LVM inherited limits
– Thin-pool configuration and monitoring
● No (re)distribution over storage servers
27 August 2018 18
Improved Cloning based on Reflink
● File cloning on modern filesystems
● Copy-on-write semantics
● Standard copy_file_range() syscall
● On Gluster likely also through setxattr()
● Local filesystems only, restricted to bricks
27 August 2018 19
Improved Cloning based on Reflink
● PVCs based on sub-directories
● Clone of a PVC becomes a recursive copy
● Need to be careful with rebalance
27 August 2018 20
Next: Container Storage Interface
● CSI-Snapshot Controller for Kubernetes
– Uses DataSource object in PVC description
● Proposed feature for CSI and Kubernetes
– https://github.com/container-storage-interface/spec/pull/244
– https://github.com/kubernetes/community/pull/2533
Thanks!
Niels de Vos – ndevos@redhat.com
https://people.redhat.com/ndevos/talks/2018-08-mountpoint/

More Related Content

What's hot

Monitoring your shiny new docker environment
Monitoring your shiny new docker environmentMonitoring your shiny new docker environment
Monitoring your shiny new docker environmentSamuel Vandamme
 
EOSC-hub: Dynamic On Demand Analysis Service
EOSC-hub: Dynamic On Demand Analysis ServiceEOSC-hub: Dynamic On Demand Analysis Service
EOSC-hub: Dynamic On Demand Analysis ServiceEOSC-hub project
 
TiDB + Mobike by Kevin Xu (@kevinsxu)
TiDB + Mobike by Kevin Xu (@kevinsxu)TiDB + Mobike by Kevin Xu (@kevinsxu)
TiDB + Mobike by Kevin Xu (@kevinsxu)Kevin Xu
 
OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...
OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...
OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...OpenNebula Project
 
CEPH DAY BERLIN - WELCOME
CEPH DAY BERLIN - WELCOME CEPH DAY BERLIN - WELCOME
CEPH DAY BERLIN - WELCOME Ceph Community
 
Introducing MagnetoDB, a key-value storage sevice for OpenStack
Introducing MagnetoDB, a key-value storage sevice for OpenStackIntroducing MagnetoDB, a key-value storage sevice for OpenStack
Introducing MagnetoDB, a key-value storage sevice for OpenStackMirantis
 
BDE SC4 Hangout - Hajira Jabeen, general architecture
BDE SC4 Hangout - Hajira Jabeen, general architectureBDE SC4 Hangout - Hajira Jabeen, general architecture
BDE SC4 Hangout - Hajira Jabeen, general architectureBigData_Europe
 
Introducing gluster filesystem by aditya
Introducing gluster filesystem by adityaIntroducing gluster filesystem by aditya
Introducing gluster filesystem by adityaAditya Chhikara
 
Just in Case: Archive-It & DuraCloud Integration
Just in Case: Archive-It & DuraCloud IntegrationJust in Case: Archive-It & DuraCloud Integration
Just in Case: Archive-It & DuraCloud IntegrationKristen Yarmey
 
OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...
OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...
OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...OpenNebula Project
 
OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...
OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...
OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...OpenNebula Project
 
Rook: Storage for Containers in Containers – data://disrupted® 2020
Rook: Storage for Containers in Containers  – data://disrupted® 2020Rook: Storage for Containers in Containers  – data://disrupted® 2020
Rook: Storage for Containers in Containers – data://disrupted® 2020data://disrupted®
 
Ceph Day Santa Clara Welcome
Ceph Day Santa Clara WelcomeCeph Day Santa Clara Welcome
Ceph Day Santa Clara WelcomeCeph Community
 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Severalnines
 
Storing your data in the cloud: doing right reversim 2018
Storing your data in the cloud: doing right reversim 2018Storing your data in the cloud: doing right reversim 2018
Storing your data in the cloud: doing right reversim 2018Orit Wasserman
 
OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...
OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...
OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...OpenNebula Project
 
OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...
OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...
OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...OpenNebula Project
 
GIS on Rails by Oleksandr Kychun
GIS on Rails by Oleksandr Kychun GIS on Rails by Oleksandr Kychun
GIS on Rails by Oleksandr Kychun Pivorak MeetUp
 

What's hot (20)

Monitoring your shiny new docker environment
Monitoring your shiny new docker environmentMonitoring your shiny new docker environment
Monitoring your shiny new docker environment
 
EOSC-hub: Dynamic On Demand Analysis Service
EOSC-hub: Dynamic On Demand Analysis ServiceEOSC-hub: Dynamic On Demand Analysis Service
EOSC-hub: Dynamic On Demand Analysis Service
 
TiDB + Mobike by Kevin Xu (@kevinsxu)
TiDB + Mobike by Kevin Xu (@kevinsxu)TiDB + Mobike by Kevin Xu (@kevinsxu)
TiDB + Mobike by Kevin Xu (@kevinsxu)
 
OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...
OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...
OpenNebulaConf2017EU: Transforming an Old Supercomputer into a Cloud Platform...
 
CEPH DAY BERLIN - WELCOME
CEPH DAY BERLIN - WELCOME CEPH DAY BERLIN - WELCOME
CEPH DAY BERLIN - WELCOME
 
Purser
PurserPurser
Purser
 
Introducing MagnetoDB, a key-value storage sevice for OpenStack
Introducing MagnetoDB, a key-value storage sevice for OpenStackIntroducing MagnetoDB, a key-value storage sevice for OpenStack
Introducing MagnetoDB, a key-value storage sevice for OpenStack
 
BDE SC4 Hangout - Hajira Jabeen, general architecture
BDE SC4 Hangout - Hajira Jabeen, general architectureBDE SC4 Hangout - Hajira Jabeen, general architecture
BDE SC4 Hangout - Hajira Jabeen, general architecture
 
Introducing gluster filesystem by aditya
Introducing gluster filesystem by adityaIntroducing gluster filesystem by aditya
Introducing gluster filesystem by aditya
 
Just in Case: Archive-It & DuraCloud Integration
Just in Case: Archive-It & DuraCloud IntegrationJust in Case: Archive-It & DuraCloud Integration
Just in Case: Archive-It & DuraCloud Integration
 
M-PIL-3.2 Public Session
M-PIL-3.2 Public SessionM-PIL-3.2 Public Session
M-PIL-3.2 Public Session
 
OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...
OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...
OpenNebulaConf2017EU: Elastic Clusters for Data Analysis by Carlos de Alfonso...
 
OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...
OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...
OpenNebulaConf2017EU: Enabling Dev and Infra teams by Lodewijk De Schuyter,De...
 
Rook: Storage for Containers in Containers – data://disrupted® 2020
Rook: Storage for Containers in Containers  – data://disrupted® 2020Rook: Storage for Containers in Containers  – data://disrupted® 2020
Rook: Storage for Containers in Containers – data://disrupted® 2020
 
Ceph Day Santa Clara Welcome
Ceph Day Santa Clara WelcomeCeph Day Santa Clara Welcome
Ceph Day Santa Clara Welcome
 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
 
Storing your data in the cloud: doing right reversim 2018
Storing your data in the cloud: doing right reversim 2018Storing your data in the cloud: doing right reversim 2018
Storing your data in the cloud: doing right reversim 2018
 
OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...
OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...
OpenNebulaConf2017EU: Growing into the Petabytes for Fun and Profit by Michal...
 
OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...
OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...
OpenNebulaConf2017EU: Welcome Talk State and Future of OpenNebula by Ignacio ...
 
GIS on Rails by Oleksandr Kychun
GIS on Rails by Oleksandr Kychun GIS on Rails by Oleksandr Kychun
GIS on Rails by Oleksandr Kychun
 

Similar to Approaches for duplicating Kubernetes Storage with Gluster

Introduction to rook
Introduction to rookIntroduction to rook
Introduction to rookRohan Gupta
 
Containarized Gluster Storage in Kubernetes
Containarized Gluster Storage in KubernetesContainarized Gluster Storage in Kubernetes
Containarized Gluster Storage in KubernetesNeependra Khare
 
Webinar: Data Protection for Kubernetes
Webinar: Data Protection for KubernetesWebinar: Data Protection for Kubernetes
Webinar: Data Protection for KubernetesMayaData Inc
 
Redis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisRedis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisOpenEBS
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...MayaData Inc
 
Kubernetes 1.12 Update and Container Security with Liz Rice
Kubernetes 1.12 Update and Container Security with Liz RiceKubernetes 1.12 Update and Container Security with Liz Rice
Kubernetes 1.12 Update and Container Security with Liz RiceCloudOps2005
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSVMware Tanzu
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSCarlos Andrés García
 
GlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized StoreGlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized StoreAtin Mukherjee
 
Mirantis Contributions to Kubernetes Ecosystem
Mirantis Contributions to Kubernetes EcosystemMirantis Contributions to Kubernetes Ecosystem
Mirantis Contributions to Kubernetes EcosystemMoscowKubernetes
 
Red Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open StackRed Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open StackRed_Hat_Storage
 
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOpsGérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOpsOpen Source Experience
 
Running stateful applications in containers with k8 s persistent volumes and ...
Running stateful applications in containers with k8 s persistent volumes and ...Running stateful applications in containers with k8 s persistent volumes and ...
Running stateful applications in containers with k8 s persistent volumes and ...Kapil Arora
 
Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022
Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022
Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022JayjeetChakraborty
 
OpenEBS hangout #4
OpenEBS hangout #4OpenEBS hangout #4
OpenEBS hangout #4OpenEBS
 
Choose the Right Container Storage for Kubernetes
Choose the Right Container Storage for KubernetesChoose the Right Container Storage for Kubernetes
Choose the Right Container Storage for KubernetesYusuf Hadiwinata Sutandar
 
Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Andrew Leung
 
OpenEBS CAS SDC India - 2018
OpenEBS CAS SDC India - 2018OpenEBS CAS SDC India - 2018
OpenEBS CAS SDC India - 2018OpenEBS
 

Similar to Approaches for duplicating Kubernetes Storage with Gluster (20)

Introduction to rook
Introduction to rookIntroduction to rook
Introduction to rook
 
Containarized Gluster Storage in Kubernetes
Containarized Gluster Storage in KubernetesContainarized Gluster Storage in Kubernetes
Containarized Gluster Storage in Kubernetes
 
Webinar: Data Protection for Kubernetes
Webinar: Data Protection for KubernetesWebinar: Data Protection for Kubernetes
Webinar: Data Protection for Kubernetes
 
Redis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisRedis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for Redis
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
 
Kubernetes 1.12 Update and Container Security with Liz Rice
Kubernetes 1.12 Update and Container Security with Liz RiceKubernetes 1.12 Update and Container Security with Liz Rice
Kubernetes 1.12 Update and Container Security with Liz Rice
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
 
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKSPostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
PostgreSQL-as-a-Service with Crunchy PostgreSQL for PKS
 
Gluster d2
Gluster d2Gluster d2
Gluster d2
 
GlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized StoreGlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized Store
 
Gluster d2
Gluster d2Gluster d2
Gluster d2
 
Mirantis Contributions to Kubernetes Ecosystem
Mirantis Contributions to Kubernetes EcosystemMirantis Contributions to Kubernetes Ecosystem
Mirantis Contributions to Kubernetes Ecosystem
 
Red Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open StackRed Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open Stack
 
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOpsGérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
 
Running stateful applications in containers with k8 s persistent volumes and ...
Running stateful applications in containers with k8 s persistent volumes and ...Running stateful applications in containers with k8 s persistent volumes and ...
Running stateful applications in containers with k8 s persistent volumes and ...
 
Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022
Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022
Skyhook: Towards an Arrow-Native Storage System, CCGrid 2022
 
OpenEBS hangout #4
OpenEBS hangout #4OpenEBS hangout #4
OpenEBS hangout #4
 
Choose the Right Container Storage for Kubernetes
Choose the Right Container Storage for KubernetesChoose the Right Container Storage for Kubernetes
Choose the Right Container Storage for Kubernetes
 
Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Netflix Titus WASP October 2017
Netflix Titus WASP October 2017
 
OpenEBS CAS SDC India - 2018
OpenEBS CAS SDC India - 2018OpenEBS CAS SDC India - 2018
OpenEBS CAS SDC India - 2018
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Approaches for duplicating Kubernetes Storage with Gluster

  • 1. Approaches for duplicating Kubernetes Storage with Gluster Niels de Vos Gluster Developer and Maintainer Senior Software Engineer at Red Hat ndevos@redhat.com
  • 2. 27 August 2018 2 Agenda ● Brief Introduction into Gluster ● Kubernetes Storage Basics ● Use-Cases for Cloning ● Initiating Cloning with Container Data Importer ● Limitations of Cloning with Gluster Volume Snapshots ● Improved Cloning based on reflinking ● Future with Container Storage Interface
  • 3. 27 August 2018 3 Introduction into Gluster ● Software Defined Storage ● Scale-out, distributed and high-available ● Designed as a filesystem – Block Storage as an add-on – Object Storage as an add-on ● Easy to install, configure and maintain – Packages available for several Linux distributions
  • 4. 27 August 2018 4 Introduction into Gluster ● High Availability – 3-way Replication – 2-way Replication + Arbiter – Dispersed Volumes ● Scalability – Distributed Volumes
  • 5. 27 August 2018 5 3-way Replication
  • 6. 27 August 2018 6 Distributed Volumes
  • 7. 27 August 2018 7 Commonly Used Features ● Meta-data caching ● Geo-replication ● Volume snapshots ● Policy based split-brain resolution ● Brick multiplexing ● Sharding
  • 8. 27 August 2018 8 Related Open Source Projects ● oVirt ● Samba ● NFS-Ganesha ● QEMU ● Kubernetes ● glusterfs-coreutils ● Gluster-colonizer ● …
  • 9. 27 August 2018 9 Kubernetes Storage Basics ● StorageClass ● PersistentVolumes ● PersistentVolumeClaim ● Containerized Data Importer
  • 10. 27 August 2018 10 StorageClass --- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: glusterfile provisioner: gluster.org/glusterfile parameters: resturl: "http://heketi.default.svc.cluster.local:8080" restuser: admin
  • 11. 27 August 2018 11 PersistentVolumeClaim --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: store-the-data-here spec: accessModes: - ReadWriteMany storageClassName: "glusterfile" resources: requests: storage: 1Gi
  • 12. 27 August 2018 12 Use-Cases for Cloning ● Testing maintenance operations – Upgrading applications, data conversion – Migration from storage provider ● Scaling access to (readonly) data ● Base population for consumption and modification – ‘golden’ data for similar applications or instances ● Backup and archiving
  • 13. 27 August 2018 13 Initiating Cloning with CDI ● SmartCloning – Exposed as a feature in the StorageClass – Based on annotations for a PVC – Creates a new PVC, with `CloneOf` annotation
  • 14. 27 August 2018 14 SmartCloning
  • 15. 27 August 2018 15 Initiating Cloning with CDI ● Host-Assisted Cloning – ‘dumb’ recursive copy between PVCs – Fallback when missing ‘CloneOf’ annotation
  • 16. 27 August 2018 16 Host-Assisted Cloning
  • 17. 27 August 2018 17 Limitations with Gluster Volume Snapshots ● Whole volumes only ● Gluster management operation ● LVM inherited limits – Thin-pool configuration and monitoring ● No (re)distribution over storage servers
  • 18. 27 August 2018 18 Improved Cloning based on Reflink ● File cloning on modern filesystems ● Copy-on-write semantics ● Standard copy_file_range() syscall ● On Gluster likely also through setxattr() ● Local filesystems only, restricted to bricks
  • 19. 27 August 2018 19 Improved Cloning based on Reflink ● PVCs based on sub-directories ● Clone of a PVC becomes a recursive copy ● Need to be careful with rebalance
  • 20. 27 August 2018 20 Next: Container Storage Interface ● CSI-Snapshot Controller for Kubernetes – Uses DataSource object in PVC description ● Proposed feature for CSI and Kubernetes – https://github.com/container-storage-interface/spec/pull/244 – https://github.com/kubernetes/community/pull/2533
  • 21. Thanks! Niels de Vos – ndevos@redhat.com https://people.redhat.com/ndevos/talks/2018-08-mountpoint/