// This assembly is included in the following assemblies:
//
// assembly-config.adoc

[id='assembly-storage-{context}']
= Configuring Kafka and ZooKeeper storage

[role="_abstract"]
Strimzi provides flexibility in configuring the data storage options of Kafka and ZooKeeper. 

The supported storage types are:

* Ephemeral (Recommended for development only)
* Persistent
* JBOD (Kafka only; not available for ZooKeeper)

To configure storage, you specify `storage` properties in the custom resource of the component. 
The storage type is set using the `storage.type` property.

You can also use the preview of the node pools feature for advanced storage management of the Kafka cluster.
You can specify storage configuration unique to each node pool used in the cluster. 
The same storage properties available to the `Kafka` resource are also available to the `KafkaNodePool` pool resource.

The storage-related schema references provide more information on the storage configuration properties:

* link:{BookURLConfiguring}#type-EphemeralStorage-reference[`EphemeralStorage` schema reference^]
* link:{BookURLConfiguring}#type-PersistentClaimStorage-reference[`PersistentClaimStorage` schema reference^]
* link:{BookURLConfiguring}#type-JbodStorage-reference[`JbodStorage` schema reference^]

WARNING: The storage type cannot be changed after a Kafka cluster is deployed.

include::../../modules/configuring/con-considerations-for-data-storage.adoc[leveloffset=+1]

include::../../modules/configuring/ref-storage-ephemeral.adoc[leveloffset=+1]

include::../../modules/configuring/ref-storage-persistent.adoc[leveloffset=+1]

include::../../modules/configuring/proc-resizing-persistent-volumes.adoc[leveloffset=+1]

include::../../modules/configuring/ref-storage-jbod.adoc[leveloffset=+1]

include::../../modules/configuring/proc-adding-volumes-to-jbod-storage.adoc[leveloffset=+1]

include::../../modules/configuring/proc-removing-volumes-from-jbod-storage.adoc[leveloffset=+1]
