Recover volume after unexpected detachment
Longhorn will reattach the volume if the volume engine fails unexpectedly.
xfs filesystem.xfs filesystem is not allowed and will trigger the error XFS (sdb): Filesystem has duplicate UUID <filesystem UUID> - can't mount.xfs filesystem on the host. The device path on host for the attached volume is /dev/longhorn/<volume name>In order to recover unexpectedly detached volumes automatically, users can set restartPolicy to Always then add livenessProbe for the workloads using Longhorn volumes.
Then those workloads will be restarted automatically after reattachment and remount.
Here is one example for the setup:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: longhorn-volv-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 2Gi
---
apiVersion: v1
kind: Pod
metadata:
name: volume-test
namespace: default
spec:
restartPolicy: Always
containers:
- name: volume-test
image: nginx:stable-alpine
imagePullPolicy: IfNotPresent
livenessProbe:
exec:
command:
- ls
- /data/lost+found
initialDelaySeconds: 5
periodSeconds: 5
volumeMounts:
- name: volv
mountPath: /data
ports:
- containerPort: 80
volumes:
- name: volv
persistentVolumeClaim:
claimName: longhorn-volv-pvc
livenessProbe will be <volumeMount.mountPath>/lost+foundlivenessProbe.periodSeconds, e.g., 1s. The liveness command is CPU consuming.kubectl -n <namespace of your workload> get pods <workload's pod name> -o wide
sshdocker ps
By checking the columns COMMAND and NAMES of the output, you can find the corresponding container
docker restart <the container ID of the workload>
Typically the volume mount propagation is not Bidirectional. It means the Longhorn remount operation won’t be propagated to the workload containers if the containers are not restarted.
© 2019-2025 Longhorn Authors | Documentation Distributed under CC-BY-4.0
© 2025 The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.