The following document guides you through the upgrade process for LINSTOR® Operator from version 1 ("v1") to version 2 ("v2").
LINSTOR Operator v2 offers improved convenience and customization. This however made it necessary to make significant changes to the way LINSTOR Operator manages LINBIT SDS. As such, upgrading from v1 to v2 is a procedure requiring manual oversight.
Upgrading LINSTOR Operator is done in four steps:
- (Optional) Migrate the LINSTOR database to use the Kubernetes backend.
- Collect information about the current deployment.
- Remove the LINSTOR Operator v1 deployment, keeping existing volumes untouched.
- Deploy LINSTOR Operator v2 using the information gathered in step 2.
Prerequisites
This guide assumes:
- You used Helm to create the original deployment and are familiar with upgrading Helm deployments.
- Your LINBIT SDS deployment is up-to-date with the latest v1 release. Check the releases here.
- You have the following command line tools available:
- You are familiar with the
linstor
command line utility, specifically to verify the cluster state.
Key Changes Between Operator V1 and V2
Administrative Changes
-
The resources
LinstorController
,LinstorSatelliteSet
andLinstorCSIDriver
have been replaced byLinstorCluster
andLinstorSatelliteConfgiuration
- The default deployment runs the LINSTOR Satellite in the container network The migration script will propose changing to the host network.
Operational Changes
-
In Operator v1, all labels on the Kubernetes node resource are replicated on the satellite, making
them usable in the
replicasOnSame
andreplicasOnDifferent
parameters on the storage class. In Operator v2, only the following labels are automatically synchronized:kubernetes.io/hostname
topology.kubernetes.io/region
topology.kubernetes.io/zone
LinstorSatelliteConfiguration.spec.properties
to synchronize additional labels. -
The following settings are applied by Operator v2 cluster-wide:
DrbdOptions/Net/rr-conflict: retry-connect
DrbdOptions/Resource/on-suspended-primary-outdated: force-secondary
DrbdOptions/Resource/on-no-data-accessible: suspend-io
DrbdOptions/auto-quorum: suspend-io
- Operator v2 also includes a High-Availability Controller