Installation
The installation process consists of three steps:
- Install repctl
- Install Container Storage Modules (CSM) for Replication Controller
- Install CSI driver after enabling replication
Before you begin
Please read this document before proceeding with the installation. It provides detailed steps on how to set up communication between multiple clusters which will be required during or after the installation.
Install repctl
You can download pre-built repctl binary from our Releases page. Alternately, if you want to build the binary yourself, you can follow these steps:
git clone github.com/dell/csm-replication
cd csm-replication/repctl
make build
Installing CSM Replication Controller
You can use one of the following methods to install CSM Replication Controller
- Using repctl
- Installation script (Helm chart)
We recommend using repctl for the installation as it simplifies the installation workflow. This process also helps configure repctl
for future use during management operations.
Using repctl
Please follow the steps here to install & configure Dell Replication Controller
Using the installation script
Repeat the following steps on all clusters where you want to configure replication
git clone github.com/dell/csm-replication
cd csm-replication
kubectl create ns dell-replication-controller
# Copy and modify values.yaml file if you wish to customize your deployment in any way
cp ../helm/csm-replication/values.yaml ./myvalues.yaml
bash scripts/install.sh --values ./myvalues.yaml
Note: Current installation method allows you to specify custom
<FQDN>:<IP>
entries to be appended to controller’s/etc/hosts
file. It can be useful if controller is being deployed in private environment where DNS is not set up properly, but kubernetes clusters use FQDN as API server’s address. The feature can be enabled by modifyingvalues.yaml
.- ip: "10.10.10.10" hostnames: - "foo.bar" - ip: "10.10.10.11" hostnames: - "foo.baz"
This script will do the following:
- Install
DellCSIReplicationGroup
CRD in your cluster - Install
dell-replication-controller
After the installation ConfigMap will consist of only the logLevel
field, to add the rest configuration to the cluster do the following:
- Update the configuration in
deploy/config.yaml
after going through the guide here - Run the following commands to update and complete the installation
cd csm-replication
kubectl create configmap dell-replication-controller-config --namespace dell-replication-controller --from-file deploy/config.yaml -o yaml --dry-run | kubectl apply -f -
Install CSI driver
The following CSI drivers support replication:
- CSI driver for PowerMax
- CSI driver for PowerStore
- CSI driver for PowerScale
- CSI driver for Unity XT
Please follow the steps outlined in PowerMax, PowerStore, PowerScale or Unity pages during the driver installation.
Note: Please ensure that replication CRDs are installed in the clusters where you are installing the CSI drivers. These CRDs are generally installed as part of the CSM Replication controller installation process.
Dynamic Log Level Change
CSM Replication Controller can dynamically change its logs’ verbosity level. To set log level in runtime you need to edit the controllers ConfigMap:
kubectl edit cm dell-replication-controller-config -n dell-replication-controller
And set the CSI_LOG_LEVEL field to the level of your choosing. CSM Replication controller supports following log levels:
- “PANIC”
- “FATAL”
- “ERROR”
- “WARN”
- “INFO”
- “DEBUG”
- “TRACE”
Note: CSI-Replicator sidecar utilizes the same log level as CSI driver. To change the sidecars log level refer to corresponding csi drivers documentation.