0

我已经在节点 A、B、C 中安装了 GlusterFS。节点 A 和 B 是 GlusterFS 服务器(brick1-4),同时它们是用于创建文件的 GlusterFS 客户端。并且节点 C 不存在砖块,它只是一个 GlusterFS 客户端来挂载mount -t glusterfs nodeA:/XXX /mnt/glusterfs

这是问题:

  1. 在节点C,我执行time ls /mnt/glusterfs,第一次是10s,第二次是0.3s,它从缓存中获取了dentry。在free -m节点 C 中,它根本没有改变。所以我free -m在节点 A 和 B 中执行,使用的内存增加了。
  2. 换句话说,dentry 被缓存在服务器中,客户端没有缓存 dentry。
  3. 如何解释这种现象?顺便说一句,Gluster 版本是 3.3.0。

这里是测试,controller节点和compute2节点是两个GlusterFS服务器,compute1节点是GlusterFS客户端(不带砖),挂载到/mnt/glusterfs。我在compute1节点执行ls.sh列出目录。
'free -m before and after the ls.sh in compute1' 控制器节点和compute2节点通过'echo 3 > /proc/sys/vm/drop_caches'清除了缓存,'free -m'之前的结果并且在图片中显示了 ls.sh 之后。

控制器节点中 ls.sh 前后“free -m”的结果

4

0 回答 0