Selecting the Right Persistent Storage Options for Apps in
Containers
Bipin Kunal & Niels de Vos, Red Hat
Who are Bipin and Niels?
Bipin:
Product lead for Gluster Support and Maintenance
Engineer.
Niels:
Developer and Maintainer at the Gluster community
and involved in related projects.
Agenda
• What is persistent storage
• Why do we need persistent storage
• Type of persistent volumes
• Access modes for your PVs
• Performance details between different Access Modes
What is Persistent Storage?
● Persistent storage is any data storage device
that retains data after power to that device is
shut off.
Why do we need persistent storage?
• Containers are mostly stateless, but produce or
gather data for later consumption.
• Containers may not always be running or
available, the data should be kept so that a next
run can continue where it left off.
POD
RHGS
POD
RHGS
POD
RHGS
POD
RHGS
POD
INFRA
POD
INFRA
PERSISTENT
VOLUME CLAIM
OpenShift: Container-Native Storage
NFS
iSCSI
Azure Disk
GCE Disk
Ceph RBD
GlusterFS
AUTOMATED CONFIGURATION
SINGLE CONTROL PANEL
CHOICE OF PERSISTENT STORAGE
Amazon EBS
Storage Options for OpenShift
NFS WELL UNDERSTOOD, EASY TO DEMO
PROVIDES RWX STORAGE
NO HA, NOT AVAILABLE IN THE CLOUD
REQUIRES PRE-PROVISIONING
Storage Options for OpenShift: NFS
WELL UNDERSTOOD IN THE DC
BLOCK STORAGE, NO RWX SUPPORT
NOT AVAILABLE IN THE CLOUD
REQUIRES PRE-PROVISIONING
iSCSI
NFS
Storage Options for OpenShift: iSCSI
AVAILABLE IN THE CLOUD ;)
NOT AVAILABLE ACROSS AZs
PERFORMANCE DEPENDS ON SIZE
BLOCK STORAGE, NO RWX SUPPORT
Amazon EBS
Azure Disk
GCE Disk
iSCSI
NFS
Storage Options for OpenShift: Cloud Provider Storage
BLOCK STORAGE, NO RWX SUPPORT
SCALABLE, HA
CINDER PREFERRED FOR OCP on OSP
Ceph RBD
Amazon EBS
Azure Disk
GCE Disk
iSCSI
NFS
Storage Options for OpenShift: Ceph
GlusterFS
RUNS ON TOP OF OPENSHIFT
AVAILABLE OUT OF THE BOX
SCALABLE FILE STORAGE, RWX SUPPORT
AVAILABLE EVERYWHERE
GEO-REPLICATION, SNAPSHOTS
Ceph RBD
Amazon EBS
Azure Disk
GCE Disk
iSCSI
NFS
Storage Options for OpenShift: Gluster
Access modes for your PV’s
• ReadWriteOnce (RWO)
– Single node is allowed to read/write
• ReadOnlyMany (ROX)
– Multiple nodes can read at the same time
• ReadWriteMany (RWX)
– Multiple nodes can read and write at the same time
ReadWriteOnce (RWO)
• Applications that do not need to share a
filesystem among instances
• Optimizations possible, block-storage mounted
in the container
• Fewer filesystem operations, only read/write
data
ReadOnlyMany (ROX)
• Static content that was generated
• Snapshot of RWO/X promoted to ROX
• Read-only mounted NFS-export
ReadWriteMany (RWX)
• Dropbox like applications, Wordpress with
uploading images, Jenkins Artifacts
• Performs best with limited create/write, many
read
• Mounted NFS-export
Example: ReadWriteMany (RWX)
• Mounted NFS-export
• 'git clone /srv/glusterfs.git' into the mountpoint
• Repository after clone ~80 MB
50 seconds, 17133 NFSv4 operations
Example: ReadWriteOnce (RWO)
• Disk-image stored on NFS-export
• Mounted NFS-export on the host
• Mounted (loopback) disk-image on the host
< 1 second, ~1 NFSv4 operation
8 seconds, 195 NFSv4 operations (+ sync)
Thank you!
● Red Hat is still
not in shipping
business!
● Visit the Red
Hat stand
register for a
workshop
● Visit for cool
pictures
Selecting the right persistent storage options for apps in containers Open Source Summit Europe 2017

Selecting the right persistent storage options for apps in containers Open Source Summit Europe 2017

  • 1.
    Selecting the RightPersistent Storage Options for Apps in Containers Bipin Kunal & Niels de Vos, Red Hat
  • 2.
    Who are Bipinand Niels? Bipin: Product lead for Gluster Support and Maintenance Engineer. Niels: Developer and Maintainer at the Gluster community and involved in related projects.
  • 3.
    Agenda • What ispersistent storage • Why do we need persistent storage • Type of persistent volumes • Access modes for your PVs • Performance details between different Access Modes
  • 4.
    What is PersistentStorage? ● Persistent storage is any data storage device that retains data after power to that device is shut off.
  • 5.
    Why do weneed persistent storage? • Containers are mostly stateless, but produce or gather data for later consumption. • Containers may not always be running or available, the data should be kept so that a next run can continue where it left off.
  • 6.
  • 7.
    NFS iSCSI Azure Disk GCE Disk CephRBD GlusterFS AUTOMATED CONFIGURATION SINGLE CONTROL PANEL CHOICE OF PERSISTENT STORAGE Amazon EBS Storage Options for OpenShift
  • 8.
    NFS WELL UNDERSTOOD,EASY TO DEMO PROVIDES RWX STORAGE NO HA, NOT AVAILABLE IN THE CLOUD REQUIRES PRE-PROVISIONING Storage Options for OpenShift: NFS
  • 9.
    WELL UNDERSTOOD INTHE DC BLOCK STORAGE, NO RWX SUPPORT NOT AVAILABLE IN THE CLOUD REQUIRES PRE-PROVISIONING iSCSI NFS Storage Options for OpenShift: iSCSI
  • 10.
    AVAILABLE IN THECLOUD ;) NOT AVAILABLE ACROSS AZs PERFORMANCE DEPENDS ON SIZE BLOCK STORAGE, NO RWX SUPPORT Amazon EBS Azure Disk GCE Disk iSCSI NFS Storage Options for OpenShift: Cloud Provider Storage
  • 11.
    BLOCK STORAGE, NORWX SUPPORT SCALABLE, HA CINDER PREFERRED FOR OCP on OSP Ceph RBD Amazon EBS Azure Disk GCE Disk iSCSI NFS Storage Options for OpenShift: Ceph
  • 12.
    GlusterFS RUNS ON TOPOF OPENSHIFT AVAILABLE OUT OF THE BOX SCALABLE FILE STORAGE, RWX SUPPORT AVAILABLE EVERYWHERE GEO-REPLICATION, SNAPSHOTS Ceph RBD Amazon EBS Azure Disk GCE Disk iSCSI NFS Storage Options for OpenShift: Gluster
  • 13.
    Access modes foryour PV’s • ReadWriteOnce (RWO) – Single node is allowed to read/write • ReadOnlyMany (ROX) – Multiple nodes can read at the same time • ReadWriteMany (RWX) – Multiple nodes can read and write at the same time
  • 14.
    ReadWriteOnce (RWO) • Applicationsthat do not need to share a filesystem among instances • Optimizations possible, block-storage mounted in the container • Fewer filesystem operations, only read/write data
  • 15.
    ReadOnlyMany (ROX) • Staticcontent that was generated • Snapshot of RWO/X promoted to ROX • Read-only mounted NFS-export
  • 16.
    ReadWriteMany (RWX) • Dropboxlike applications, Wordpress with uploading images, Jenkins Artifacts • Performs best with limited create/write, many read • Mounted NFS-export
  • 17.
    Example: ReadWriteMany (RWX) •Mounted NFS-export • 'git clone /srv/glusterfs.git' into the mountpoint • Repository after clone ~80 MB 50 seconds, 17133 NFSv4 operations
  • 18.
    Example: ReadWriteOnce (RWO) •Disk-image stored on NFS-export • Mounted NFS-export on the host • Mounted (loopback) disk-image on the host < 1 second, ~1 NFSv4 operation 8 seconds, 195 NFSv4 operations (+ sync)
  • 19.
    Thank you! ● RedHat is still not in shipping business! ● Visit the Red Hat stand register for a workshop ● Visit for cool pictures