<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Storage Subsystem Guides on Cozystack</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/</link><description>Recent content in Storage Subsystem Guides on Cozystack</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/index.xml" rel="self" type="application/rss+xml"/><item><title>Preparing Disks for LINSTOR Storage Pools</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/disk-preparation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/disk-preparation/</guid><description>&lt;p&gt;This guide explains how to prepare physical disks for use with LINSTOR when they contain old metadata that prevents automatic detection.&lt;/p&gt;
&lt;h2 id="problem-description"&gt;Problem Description&lt;/h2&gt;
&lt;p&gt;When setting up storage on new or repurposed nodes, physical disks may contain remnants from previous installations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RAID superblocks&lt;/li&gt;
&lt;li&gt;Partition tables&lt;/li&gt;
&lt;li&gt;LVM signatures&lt;/li&gt;
&lt;li&gt;Filesystem metadata&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This old metadata prevents LINSTOR from detecting disks as available storage.&lt;/p&gt;
&lt;h3 id="symptoms"&gt;Symptoms&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;linstor physical-storage list&lt;/code&gt; shows empty output or missing disks&lt;/li&gt;
&lt;li&gt;Disks appear with unexpected filesystem types (e.g., &lt;code&gt;linux_raid_member&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Storage pools only show &lt;code&gt;DfltDisklessStorPool&lt;/code&gt; without actual storage&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="diagnostics"&gt;Diagnostics&lt;/h2&gt;
&lt;h3 id="set-up-linstor-alias"&gt;Set up LINSTOR alias&lt;/h3&gt;
&lt;p&gt;For easier access to LINSTOR commands, set up an alias:&lt;/p&gt;</description></item><item><title>Configuring a Dedicated Network for LINSTOR</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/dedicated-network/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/dedicated-network/</guid><description>&lt;p&gt;This guide explains how to improve storage reliability and performance by redirecting LINSTOR replication traffic
to a dedicated network interface.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The Cozystack platform is built to support high-availability (HA) workloads,
which means the system must continue operating even if one or more nodes go offline.
Kubernetes handles this well for stateless workloads.
However, stateful workloads, such as file storage or virtual machine disks, require a reliable storage backend.&lt;/p&gt;
&lt;p&gt;When you choose the &lt;code&gt;replicated&lt;/code&gt; storage class for a PersistentVolumeClaim (PVC) or DataVolume,
LINSTOR creates multiple synchronous replicas of the data across different nodes.
This ensures that if a node fails (due to a power outage, hardware issue, etc.),
the data remains instantly available on another node.&lt;/p&gt;</description></item><item><title>Configuring DRBD Resync Controller in LINSTOR</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/drbd-tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/drbd-tuning/</guid><description>&lt;p&gt;Cozystack administrators can adjust DRBD synchronization performance by setting tuning parameters
for the LINSTOR Controller.&lt;/p&gt;
&lt;p&gt;This allows you to optimize the speed of resynchronization without overloading the replication network or storage backend.&lt;/p&gt;
&lt;p&gt;For detailed explanations of all available parameters and tuning recommendations, please refer to the official LINBIT guide:

&lt;a href="https://kb.linbit.com/drbd/tuning-the-drbd-resync-controller/" target="_blank"&gt;Tuning the DRBD Resync Controller&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a multi-datacenter setup, also read the 
&lt;a href="https://deploy-preview-470--cozystack.netlify.app/docs/v0/operations/stretched/drbd-tuning/" target="_blank"&gt;Multi-DC DRBD configuration&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="recommended-settings-for-10g-networks"&gt;Recommended Settings for 10G Networks&lt;/h2&gt;
&lt;p&gt;We consider the following values to be optimal for clusters connected with a 10-Gigabit network:&lt;/p&gt;</description></item><item><title>Using NFS shares with Cozystack</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/nfs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/nfs/</guid><description>&lt;h2 id="enable-nfs-driver"&gt;Enable NFS driver&lt;/h2&gt;
&lt;p&gt;Add &lt;code&gt;bundle-enable: nfs-driver&lt;/code&gt; to your Cozystack configuration:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;bundle-enable&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;nfs-driver&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait a minute for the platform chart to reconcile, then verify the HelmRelease has been created:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get helmrelease --namespace cozy-nfs-driver nfs-driver
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="export-share"&gt;Export share&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt install nfs-server
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir /data
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod &lt;span style="color:#40a070"&gt;777&lt;/span&gt; /data
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020"&gt;echo&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#39;/data *(rw,sync,no_subtree_check)&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; /etc/exports
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;exportfs -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="configure-connection"&gt;Configure connection&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0e84b5;font-weight:bold"&gt;---&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;apiVersion&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;storage.k8s.io/v1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;kind&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;StorageClass&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;metadata&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;nfs&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;provisioner&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;nfs.csi.k8s.io&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;server&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#40a070"&gt;10.244.57.210&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;share&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;/data&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;reclaimPolicy&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Delete&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;volumeBindingMode&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Immediate&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;allowVolumeExpansion&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;mountOptions&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- nfsvers=4.1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="order-volume"&gt;Order volume&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;apiVersion&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;v1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;kind&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;PersistentVolumeClaim&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;metadata&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;task-pv-claim&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;spec&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;storageClassName&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;nfs&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;accessModes&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- ReadWriteMany&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;resources&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;requests&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;storage&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;3Gi&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Creating Encrypted Storage on LINSTOR</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/disk-encryption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v0/storage/disk-encryption/</guid><description>&lt;p&gt;Cozystack administrators can enable encrypted storage by creating a custom StorageClass.
This guide explains how to set up encryption passphrase, create an encrypted storage class, and use it in applications.&lt;/p&gt;
&lt;p&gt;LINSTOR provides at-rest encryption for persistent volumes using 
&lt;a href="https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#s-linstor-encrypted-volumes" target="_blank"&gt;LUKS&lt;/a&gt;.
This ensures that data stored on disk is encrypted and can only be accessed when the volume is mounted and unlocked.&lt;/p&gt;
&lt;h2 id="set-up-encryption-in-linstor"&gt;Set Up Encryption in LINSTOR&lt;/h2&gt;
&lt;p&gt;To start using encryption, set up an encryption passphrase in LINSTOR.&lt;/p&gt;</description></item></channel></rss>