本文永久链接: https://www.xtplayer.cn/longhorn/decrypt-the-longhorn-volume-and-read-the-data/

1,需要将 pvc 对应的工作负载缩减为 0,不然可能会提示卷已经被挂载。在 pod 缩减为 0 之后,在 Attached Node & Endpoint:中无法看到挂载的主机路径。鼠标放在右侧 replicas 上,会显示卷原始的镜像保存路径,如下图。每个卷的每个副本都是以 img 镜像形式保存在主机上,pod 挂载卷的时候会将此 img 挂载到主机上,然后再挂载到 pod 中。

2,进入卷镜像保存路径,可以看到如下信息

root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219# ll
total 250136
drwx------ 2 root root 4096 Aug 13 16:00 ./
drwxr-xr-x 6 root root 4096 Aug 13 16:06 ../
-rw-r--r-- 1 root root 10737418240 Aug 13 16:00 volume-head-000.img
-rw-r--r-- 1 root root 126 Aug 13 06:07 volume-head-000.img.meta
-rw-r--r-- 1 root root 144 Aug 13 16:00 volume.meta
root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219#

3,解密卷镜像

cryptsetup luksOpen volume-head-000.img test2

root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219# cryptsetup luksOpen volume-head-000.img test2
Enter passphrase for volume-head-000.img:

解密之后可以在 /dev/mapper/ 目录下看到解密后的镜像。

root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219# ll /dev/mapper/
total 0
drwxr-xr-x 2 root root 100 Aug 13 16:21 ./
drwxr-xr-x 20 root root 4280 Aug 13 16:21 ../
crw------- 1 root root 10, 236 Aug 13 16:17 control
lrwxrwxrwx 1 root root 7 Aug 13 16:21 test2 -> ../dm-1
lrwxrwxrwx 1 root root 7 Aug 13 16:17 ubuntu--vg-ubuntu--lv -> ../dm-0
root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219#

4,挂载镜像到主机指定目录,可以看到卷的数据信息。

root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219# mkdir /tmp/123
root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219# mount /dev/mapper/test2 /tmp/123
root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219#
root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219# ll /tmp/123
total 24
drwxrwxrwx 3 root root 4096 Aug 13 15:57 ./
drwxrwxrwt 14 root root 4096 Aug 13 16:29 ../
-rw-r--r-- 1 root root 0 Aug 13 15:57 1111111111111111111
-rw-r--r-- 1 root root 0 Aug 13 15:57 2222222222222222222
drwx------ 2 root root 16384 Aug 13 06:07 lost+found/
root@rancher-1:/var/lib/longhorn/replicas/pvc-f1611c3c-0250-4f17-b603-87b1dcc59b6b-ca483219#