// Module included in the following assemblies:
//
// assembly-deployment-configuration-kafka.adoc

[id='considerations-for-data-storage-{context}']

= Data storage considerations

An efficient data storage infrastructure is essential to the optimal performance of Strimzi.

Block storage is required.
File storage, such as NFS, does not work with Kafka.

Choose from one of the following options for your block storage:

* Cloud-based block storage solutions, such as {aws-ebs}
* {K8sLocalPersistentVolumes}
* Storage Area Network (SAN) volumes accessed by a protocol such as _Fibre Channel_ or _iSCSI_

NOTE: Strimzi does not require Kubernetes raw block volumes.

== File systems

Kafka uses a file system for storing messages.
Strimzi is compatible with the XFS and ext4 file systems, which are commonly used with Kafka.
Consider the underlying architecture and requirements of your deployment when choosing and setting up your file system.

For more information, refer to {ApacheKafkaFileSystem} in the Kafka documentation.

== Apache Kafka and ZooKeeper storage
Use separate disks for Apache Kafka and ZooKeeper.

Three types of data storage are supported:

* Ephemeral (Recommended for development only)
* Persistent
* JBOD  (Just a Bunch of Disks, suitable for Kafka only)

For more information, see xref:assembly-storage-{context}[Kafka and ZooKeeper storage].

Solid-state drives (SSDs), though not essential, can improve the performance of Kafka in large clusters where data is sent to and received from multiple topics asynchronously. SSDs are particularly effective with ZooKeeper, which requires fast, low latency data access.

NOTE: You do not need to provision replicated storage because Kafka and ZooKeeper both have built-in data replication.
