Use local storage


See Local Path Provisioner for deploying the local storage nodes.

Deploy the PXC operator Building Block with the following configuration for the database cluster:


    enabled: true
    storageClass: local-path
    pxc-cluster: 'true'
    - key: pxc-cluster
      operator: Exists
      effect: NoSchedule


Recovering a local-storage cluster from a failing node

Given that a worker node is unrecoverable, the database cluster needs to be recovered manually.
This is due to the fact that the used local-storage PVC has a affinity to the worker node hence keeping the pod in "Pending" state.

# Be sure that the worker node is actually gone!

# Get the PVC name of the pod and delete it
kubectl get pods -n syseleven-pxc-operator -l, --field-selector status.phase=Pending -o "jsonpath={.items[0].spec.volumes[?('datadir')].persistentVolumeClaim.claimName}{'\n'}"
kubectl delete pvc -n syseleven-pxc-operator datadir-pxc-db-pxc-X --wait=false

# Get the pod name and delete it. This will trigger it to request a new PVC on a available worker node
# This might be needed a second time if the PVC isn't deleted fast enough by k8s
kubectl get pods -n syseleven-pxc-operator -l, --field-selector status.phase=Pending -o name | xargs kubectl delete -n syseleven-pxc-operator

# The cluster state will switch back to 'Ready' after pod sucessfully joined the cluster and sync the data.
kubectl get pxc -n syseleven-pxc-operator

Recovering a local-storage cluster which lost quorum

If a cluster loses it quorum, it needs to be recovered manually. This might happen if multiple worker nodes die.

Please follow the official guide.