From 2669d5de6f73fb22edb72917a12ec7037dff5e32 Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Tue, 1 Sep 2026 17:07:10 +0500 Subject: [PATCH] docs(storage): note that the replicated class requires DRBD The StorageClass examples in the two install guides and in the disk encryption page are copied verbatim by operators, and nothing beside them says that `layerList: "drbd storage"` is served by a kernel module that may not be present. On a substrate without DRBD the class is created successfully and then every PVC bound to it stays Pending, so the failure surfaces several steps away from the file that caused it. Say it where the class is written, and name the flag that goes with it. The `linstor` package needs `drbd.enabled: false` on such a substrate, and without that the satellite pod never becomes Ready, so LINSTOR registers no nodes and nothing binds at all -- not only the replicated class. LUKS is orthogonal and is called out as such on the encryption page. Signed-off-by: Myasnikov Daniil --- content/en/docs/next/getting-started/install-cozystack.md | 2 ++ content/en/docs/next/install/cozystack/platform.md | 2 ++ content/en/docs/next/storage/disk-encryption.md | 2 ++ 3 files changed, 6 insertions(+) diff --git a/content/en/docs/next/getting-started/install-cozystack.md b/content/en/docs/next/getting-started/install-cozystack.md index e97078fa..b0b38312 100644 --- a/content/en/docs/next/getting-started/install-cozystack.md +++ b/content/en/docs/next/getting-started/install-cozystack.md @@ -329,6 +329,8 @@ Finally, we can create a couple of storage classes, one of which will be the def allowVolumeExpansion: true ``` + The `replicated` class requires DRBD: `layerList: "drbd storage"` is served by the DRBD layer inside the LINSTOR satellite, so it works only where the `drbd` kernel module is loadable. On a substrate that cannot provide one, install the `linstor` package with `drbd.enabled: false` — without that the satellite pod never becomes Ready, LINSTOR registers no nodes at all and every PVC stays Pending — and omit `replicated` from this file. What remains is `local`: storage-only volumes, pinned to the node that provisioned them, kept in a single copy with no replication and no remote access. + 1. Apply the storage class configuration ```bash diff --git a/content/en/docs/next/install/cozystack/platform.md b/content/en/docs/next/install/cozystack/platform.md index 981033f8..1a5e1ee3 100644 --- a/content/en/docs/next/install/cozystack/platform.md +++ b/content/en/docs/next/install/cozystack/platform.md @@ -361,6 +361,8 @@ Create storage classes, one of which should be the default class. allowVolumeExpansion: true ``` + The `replicated` class requires DRBD: `layerList: "drbd storage"` is served by the DRBD layer inside the LINSTOR satellite, so it works only where the `drbd` kernel module is loadable. On a substrate that cannot provide one, install the `linstor` package with `drbd.enabled: false` — without that the satellite pod never becomes Ready, LINSTOR registers no nodes at all and every PVC stays Pending — and omit `replicated` from this file. What remains is `local`: storage-only volumes, pinned to the node that provisioned them, kept in a single copy with no replication and no remote access. + 1. Apply the storage class configuration ```bash diff --git a/content/en/docs/next/storage/disk-encryption.md b/content/en/docs/next/storage/disk-encryption.md index 70cae5d5..e3e0a718 100644 --- a/content/en/docs/next/storage/disk-encryption.md +++ b/content/en/docs/next/storage/disk-encryption.md @@ -70,5 +70,7 @@ volumeBindingMode: Immediate allowVolumeExpansion: true ``` +`replicated-encrypted` requires DRBD: the `drbd` layer in `layerList: "drbd luks storage"` is served inside the LINSTOR satellite, so it works only where the `drbd` kernel module is loadable. On a substrate that cannot provide one — where the `linstor` package is installed with `drbd.enabled: false` — create only `local-encrypted`. LUKS encryption itself is independent of DRBD and works either way. + Now you can use the `StorageClass` to create `PersistentVolumeClaims` (PVCs) for encrypted storage.