GlusterFS内部文件标识符(GFID)是一个uuid,对于整个集群中的每个文件都是唯一的。这类似于普通文件系统中的索引节点号。文件的GFID存储在名为的xattr中trusted.gfid
[root@k8s ~]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
glusterfs-cz45m 1/1 Running 14 (26h ago) 3d2h 10.0.2.34 k8s.node.worker.01 <none> <none>
glusterfs-gnpsk 1/1 Running 14 (26h ago) 3d2h 10.0.2.34 k8s.node.worker.02 <none> <none>
glusterfs-xtlmp 1/1 Running 14 (26h ago) 3d6h 10.0.2.35 k8s.node.worker.03 <none> <none>
[root@k8s ~]# heketi-cli --user=admin --secret='My Secret' --server=http://10.1.241.85:8080 volume info d4c379a9fd02de7a9bc1a59ac3ece02b
Name: vol_d4c379a9fd02de7a9bc1a59ac3ece02b
Size: 1
Volume Id: d4c379a9fd02de7a9bc1a59ac3ece02b
Cluster Id: 563efc153a15e62560fd0afedd3a61fd
Mount: 10.0.2.35:vol_d4c379a9fd02de7a9bc1a59ac3ece02b ### 挂载点
Mount Options: backup-volfile-servers=10.0.2.34,10.0.2.33
Block: false
Free Size: 0
Reserved Size: 0
Block Hosting Restriction: (none)
Block Volumes: []
Durability Type: replicate
Distribute Count: 1
Replica Count: 2
Snapshot Factor: 1.00
############ 10.0.2.35 宿主机 ##############
[root@k8s ~]# mkdir /testgfid
[root@k8s ~]# mount -t glusterfs -o aux-gfid-mount 10.0.2.35:vol_d4c379a9fd02de7a9bc1a59ac3ece02b /testgfid
[root@k8s ~]# cd /testgfid/
[root@k8s testgfid]# ll
total 8
drwxr-sr-x 259 root 2003 8192 Jan 24 23:42 data
drwxr-sr-x 2 root 2003 26 Jan 26 23:28 logs
[root@k8s testgfid]# ll -a
total 8
drwxrwsr-x 5 root 2003 48 Jan 24 23:36 .
dr-xr-xr-x. 18 root root 260 Jan 28 01:25 ..
drwxr-sr-x 259 root 2003 8192 Jan 24 23:42 data
drwxr-sr-x 2 root 2003 26 Jan 26 23:28 logs
[root@k8s testgfid]# getfattr -n glusterfs.gfid.string /testgfid/data/00/00/CgACImHuyn2AS_CWAAAAMT6WPfM4496987
getfattr: Removing leading '/' from absolute path names
# file: testgfid/data/00/00/CgACImHuyn2AS_CWAAAAMT6WPfM4496987
glusterfs.gfid.string="c49afbc3-48db-4ee1-9538-1b0643d056dc"
############# ############
[root@k8s /]# gluster volume info vol_d4c379a9fd02de7a9bc1a59ac3ece02b
Volume Name: vol_d4c379a9fd02de7a9bc1a59ac3ece02b
Type: Replicate
Volume ID: 19558c08-c2b9-4500-a2e6-2c73660f9fc5
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 10.0.2.35:/var/lib/heketi/mounts/vg_f47e1d26a2086bb2121f00512259f0e0/brick_00313ded6f8f323b6eea103d84b6f43b/brick
Brick2: 10.0.2.33:/var/lib/heketi/mounts/vg_250a0c9d90faa2ad4b39b9dbe6c98866/brick_3bd9d75ae41f4c845408f4d06dca4641/brick
Options Reconfigured:
performance.client-io-threads: off
nfs.disable: on
transport.address-family: inet
user.heketi.id: d4c379a9fd02de7a9bc1a59ac3ece02b
[root@k8s /]#
########### glusterfs pod节点 gfid 对应###########
### gfid: c49afbc3-48db-4ee1-9538-1b0643d056dc
### 每个brick有个隐藏文件夹 .glusterfs | gfid 前两个字母:c4 、第34字母: 9a 对应 .glusterfs/c4/9a 目录
################################
[root@k8s 9a]# pwd
/var/lib/heketi/mounts/vg_250a0c9d90faa2ad4b39b9dbe6c98866/brick_3bd9d75ae41f4c845408f4d06dca4641/brick/.glusterfs/c4/9a
[root@k8s 9a]# ll
total 4
lrwxrwxrwx 1 root 2003 51 Jan 24 15:39 c49a8d79-e4da-4118-b236-346c566519df -> ../../9d/19/9d192590-124a-49b1-861b-746c636c37eb/86
-rw-r--r-- 2 root 2003 49 Jan 24 15:49 c49afbc3-48db-4ee1-9538-1b0643d056dc
[root@k8s 9a]# cat c49afbc3-48db-4ee1-9538-1b0643d056dc
Documentation is available at http://nginx.org
[root@k8s 9a]#
参考:
https://www.cnblogs.com/vman/articles/5080375.html
https://qastack.cn/server/823523/glusterfs-split-brain-with-no-path-what-does-it-mean
https://docs.gluster.org/en/latest/Troubleshooting/gfid-to-path/