:_mod-docs-content-type: ASSEMBLY
:context: post-install-storage-configuration
[id="post-install-storage-configuration"]
= Postinstallation storage configuration
include::_attributes/common-attributes.adoc[]
:gluster: GlusterFS
:gluster-native: Containerized GlusterFS
:gluster-external: External GlusterFS
:gluster-install-link: https://docs.gluster.org/en/latest/Install-Guide/Overview/
:gluster-admin-link: https://docs.gluster.org/en/latest/Administrator%20Guide/overview/
:gluster-role-link: https://github.com/openshift/openshift-ansible/tree/master/roles/openshift_storage_glusterfs
ifdef::openshift-enterprise,openshift-webscale[]
:gluster: Red Hat Gluster Storage
:gluster-native: converged mode
:gluster-external: independent mode
:gluster-install-link: https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.3/html/installation_guide/
:gluster-admin-link: https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.3/html/administration_guide/
:cns-link: https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.3/html/container-native_storage_for_openshift_container_platform/
endif::[]

toc::[]

[role="_abstract"]
You can configure persistent storage after installation by using dynamic or static provisioning to retain application data beyond the lifetime of individual containers.

After installing {product-title}, you can further expand and customize your cluster to your requirements, including storage configuration.

By default, containers operate by using the ephemeral storage or transient local storage. The ephemeral storage has a lifetime limitation. To store the data for a long time, you must configure persistent storage. You can configure storage by using one of the following methods:

Dynamic provisioning:: You can dynamically provision storage on-demand by defining and creating storage classes that control different levels of storage, including storage access.

Static provisioning:: You can use Kubernetes persistent volumes to make existing storage available to a cluster. Static provisioning can support various device configurations and mount options.

[id="post-install-dynamic-provisioning"]
== Dynamic provisioning

Dynamic Provisioning allows you to create storage volumes on-demand, eliminating the need for cluster administrators to pre-provision storage. See xref:../storage/dynamic-provisioning.adoc#dynamic-provisioning[Dynamic provisioning].

// include::modules/dynamic-provisioning-gluster-definition.adoc[leveloffset=+2]

// include::modules/dynamic-provisioning-ceph-rbd-definition.adoc[leveloffset=+2]

include::modules/recommended-configurable-storage-technology.adoc[leveloffset=+1]

[id="post-install-deploy-OCS"]
== Deploy Red Hat OpenShift Data Foundation
// This section is sourced from storage/persistent_storage/persistent-storage-ocs.adoc

{rh-storage-first} is a provider of agnostic persistent storage for {product-title} supporting file, block, and object storage, either in-house or in hybrid clouds. As a Red Hat storage solution, {rh-storage-first} is completely integrated with {product-title} for deployment, management, and monitoring. For more information, see the link:https://access.redhat.com/documentation/en-us/red_hat_openshift_data_foundation[{rh-storage-first} documentation].

[IMPORTANT]
====
{rh-storage} on top of Red Hat Hyperconverged Infrastructure (RHHI) for Virtualization, which uses hyperconverged nodes that host virtual machines installed with {product-title}, is not a supported configuration. For more information about supported platforms, see the link:https://access.redhat.com/articles/4731161[Red Hat OpenShift Data Foundation Supportability and Interoperability Guide].
====

include::modules/deploy-red-hat-openshift-container-storage.adoc[leveloffset=+2]
