diff --git a/src/current/v25.4/recommended-production-settings.md b/src/current/v25.4/recommended-production-settings.md index 4240236891c..e51c5ec898c 100644 --- a/src/current/v25.4/recommended-production-settings.md +++ b/src/current/v25.4/recommended-production-settings.md @@ -152,6 +152,8 @@ We recommend provisioning volumes with {% include {{ page.version.version }}/pro This is especially recommended if you are using local disks with no RAID protection rather than a cloud provider's network-attached disks that are often replicated under the hood, because local disks have a greater risk of failure. You can do this for the [entire cluster]({% link {{ page.version.version }}/configure-replication-zones.md %}#edit-the-default-replication-zone) or for specific [databases]({% link {{ page.version.version }}/configure-replication-zones.md %}#create-a-replication-zone-for-a-database), [tables]({% link {{ page.version.version }}/configure-replication-zones.md %}#create-a-replication-zone-for-a-table), or [rows]({% link {{ page.version.version }}/configure-replication-zones.md %}#create-a-replication-zone-for-a-partition). +- Avoid distributed block storage. [CockroachDB's internal architecture]({% link {{ page.version.version }}/architecture/overview.md %}) already handles [data distribution]({% link {{ page.version.version }}/architecture/distribution-layer.md %}) and fault tolerance using the [Raft consensus protocol]({% link {{ page.version.version }}/architecture/replication-layer.md %}#raft). Layering CockroachDB's data directory on top of another distributed file or block system will lead to severe performance and stability issues. This configuration causes double replication (wasting space), introduces unpredictable network latency into critical I/O paths, and leads to unreliable durability semantics. Always use volumes that guarantee high, consistent IOPS and throughput. For per-cloud storage recommendations, see [Cloud-specific recommendations](#cloud-specific-recommendations). + {{site.data.alerts.callout_info}} Under-provisioning storage leads to node crashes when the disks fill up. Once this has happened, it is difficult to recover from. To prevent your disks from filling up, provision enough storage for your workload, monitor your disk usage, and use a [ballast file]({% link {{ page.version.version }}/cluster-setup-troubleshooting.md %}#automatic-ballast-files). For more information, see [capacity planning issues]({% link {{ page.version.version }}/cluster-setup-troubleshooting.md %}#capacity-planning-issues) and [storage issues]({% link {{ page.version.version }}/cluster-setup-troubleshooting.md %}#storage-issues). {{site.data.alerts.end}}