![Page 1: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/1.jpg)
USING CONTAINER-NATIVE STORAGE:MYTHS AND BEST PRACTICESHow to Care for Your Storage
José A. RiveraSenior Software Engineer2018.04.10
or
![Page 2: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/2.jpg)
OVERVIEW
● ● ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
![Page 3: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/3.jpg)
OVERVIEWPlatform-agnostic Storage
● ● ● ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
Scalable (1000+ volumes)
Highly-Available(across availability zones)
Automated (Dynamic Provisioning)
Integrated(installs with / runs on OpenShift)
![Page 4: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/4.jpg)
OPENSHIFT NODE 2 OPENSHIFT NODE 3
OPENSHIFT NODE 1
RHGS Container RHGS Container
OPENSHIFT NODE 4
MASTERAPP Container APP Container
APP CONTAINER
RHGS Container
OVERVIEWContainer-Native Storage
● ● ● ● ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
![Page 5: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/5.jpg)
“A request for storage”
Provider: ABCCapacity: 10 GiBFeatures: XYZ
PersistentVolumeClaim
“A provider of storage”
Provider URL: …Credentials: …Options: ...
StorageClass
“Provisioned Storage”
Name: …Size: …AccessMode: ...
PersistentVolume
APPLICATION POD(S)
“sets up”
“submits” “submitted to” “creates”
Storage Backend
“instructs” “provisions”
“mounted by”
OVERVIEWDynamic Provisioning
● ● ● ● ● ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
![Page 6: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/6.jpg)
MYTHS
● ● ● ● ● ● ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
![Page 7: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/7.jpg)
MYTHSCollocation means increased performance
MYTH:Collocating my application pods with my storage pods will increase storage I/O performance.
● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○ ○ ○ ○
![Page 8: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/8.jpg)
MYTHSCollocation means increased performance
MYTH:Collocating my application pods with my storage pods will increase storage I/O performance.
FACT: Only for read-only use cases, and not a significant amount.
● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○ ○ ○ ○
![Page 9: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/9.jpg)
MYTHSStorage should be isolated
MYTH:Storage nodes should only host CNS pods.
● ● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○ ○ ○
![Page 10: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/10.jpg)
MYTHSStorage should be isolated
MYTH:Storage nodes should only host CNS pods.
FACT: For the vast majority of cases, storage nodes can be treated like any other app or infrastructure node.
● ● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○ ○ ○
![Page 11: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/11.jpg)
MYTHSSplit devices between multiple clusters
MYTH:I can isolate different types of devices on the same node in multiple CNS clusters.
● ● ● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○ ○
![Page 12: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/12.jpg)
MYTHSSplit devices between multiple clusters
MYTH:I can isolate different devices on the same node in multiple CNS clusters.
FACT: A given storage node may only run one RHGS pod, and thus can only be part of a single cluster.
● ● ● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○ ○
![Page 13: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/13.jpg)
MYTHSIsolate volume types
MYTH:I should isolate different types of storage volumes into their own clusters.
● ● ● ● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○
![Page 14: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/14.jpg)
MYTHSIsolate volume types
MYTH:I should isolate different types of storage volumes into their own clusters.
FACT: A single CNS cluster can provide a variety of volume types.
● ● ● ● ● ● ● ● ● ● ○ ○ ○ ○ ○ ○
![Page 15: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/15.jpg)
BEST PRACTICES
● ● ● ● ● ● ● ● ● ● ● ○ ○ ○ ○ ○
![Page 16: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/16.jpg)
BEST PRACTICESStorage node specs
Each storage node should meet the following specifications:
● MEMORY: 8 GB of RAM + 30 MB of RAM per active volume○ This counts all volumes in the cluster, even if a given node is not hosting any
data for some of those volumes● CPU: No technical minimum, recommended minimums are:
○ Intel Xeon Nehalem-Ex or equivalent○ Dual socket server○ Quad-core processors
These minimums account for OS needs and other applications running on the same node.
● ● ● ● ● ● ● ● ● ● ● ● ○ ○ ○ ○
![Page 17: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/17.jpg)
BEST PRACTICESCluster size
Cluster size is heavily dependent on anticipated workloads, but there are some recommended minimums and sizing guidelines:
● Technical minimum of 3 nodes using default configuration● Recommended minimum of 4 nodes to increase failure tolerance● Two separate clusters are recommended, one for user applications and one for
infrastructure applications● Recommended maximum of 1000 concurrent volumes per 3-node cluster
○ Max does not scale linearly with additional nodes○ Recommended to add additional clusters to support > 1000 volumes
● ● ● ● ● ● ● ● ● ● ● ● ● ○ ○ ○
![Page 18: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/18.jpg)
BEST PRACTICESIncreasing capacity
CNS provides various ways to increase storage capacity:
● Add more devices to existing nodes● Add more nodes to existing clusters
○ Maximum 128 nodes per cluster● Add more clusters to existing CNS installations
○ Can be immediately used by existing StorageClasses● Deploy additional CNS installations
○ Requires namespace isolation
Rough maximum of 17 Petabytes of total storage capacity using three-way replicated volumes.
● ● ● ● ● ● ● ● ● ● ● ● ● ● ○ ○
![Page 19: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/19.jpg)
QUESTIONS?
● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ○
![Page 20: MYTHS AND BEST PRACTICES USING CONTAINER ......USING CONTAINER-NATIVE STORAGE: MYTHS AND BEST PRACTICES How to Care for Your Storage José A. Rivera Senior Software Engineer 2018.04.10](https://reader030.vdocuments.site/reader030/viewer/2022041100/5ed6f015ff4a11075f771482/html5/thumbnails/20.jpg)
THANKS!
José A. Rivera <[email protected]> @jarrpa
Container-Native Storagehttps://www.redhat.com/en/technologies/storage/use-cases/container-native-storage
OpenShift Advanced Installer - GlusterFS Documentationhttps://docs.openshift.com/container-platform/3.9/install_config/persistent_storage/persistent_storage_glusterfs.html
● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●