我已经在主客户端服务器上配置了glusterfs,该服务器复制到从属服务器到同一路由,glusterfs在两台服务器上都安装了root用户。
**在这两个服务器中,我都有这样的用户:**
omar
johan
charlie
nisha
robert
安装步骤如下:
# apt-get install glusterfs-server
# gluster peer probe slave
# gluster peer status
> State: Peer in Cluster (Connected)
# gluster volume create replica replica 2 transport tcp master-client:/home/charlie/replica slave:/home/charlie/replica
# gluster volume start replica
通过主客户端配置客户端
# mkdir /home/charlie/replica_editor
# mount.glusterfs master-client:/replica /home/charlie/replica_editor
测试集群,使用charlie作为用户在replica_editor上创建文件:
charlie@master-client:~/replica_editor$ touch test
root@master-client:/home/charlie/replica_editor# ls -ltr
> -rw-rw-r-- 1 charlie charlie 0 May 26 08:56 test
查看主服务器副本文件系统:
root@master-client:/home/charlie/replica# ls -ltr
> -rw-rw-r-- 1 charlie charlie 0 May 26 08:56 test
当查看从属服务器复制文件系统时,它具有相同的创建日期,相同的权限但所有者不是查理,是其他用户在此不重要。
root@slave:/home/charlie/replica# ls -ltr
> -rw-rw-r-- 1 robert robert 0 May 26 08:56 test
将root用户手动更改为charle时,会将replica_editor所有者更改为另一个。
root@slave:/home/charlie/replica# chown charlie:charlie test
> -rw-rw-r-- 1 charlie charlie 0 May 26 08:56 test
charlie@master-client:~/replica_editor$ ls -ltr
> -rw-rw-r-- 1 johan johan 0 May 26 08:56 test
为什么会发生这种情况,而我没有在安装时指定用户的任何内容。
答案 0 :(得分:0)
我可以同化这个:
主客户端服务器有一些用户,glusterfs-slave不知道哪些用户是这样的,所以它使远程文件的所有者成为主客户端的同一用户,但是由他的主UID识别。我觉得像一个偏远的形式。就这个
root@master-client:/home/charlie/replica# ls -ltr
-rw-rw-r-- 1 charlie charlie 0 May 26 08:56 test
root@slave:/home/charlie/replica# ls -ltr
-rw-rw-r-- 1 1004 1004 0 May 26 08:56 test
当看到master-client passwd文件时,我可以看到:
root@master-client:~# cat /etc/passwd | grep 1004
charlie:x:1004:1004
在slave passwd文件中看起来一样,我看到了:
root@slave:~# cat /etc/passwd |grep charlie
charlie:x:1002:1002
如果我希望副本文件由slave-charle用户拥有,我只需要仔细编辑passwd文件并将charlie UID更改为与master-client相同
root@slave:~# vim /etc/passwd
before: charlie:x:1002:1002
after: charlie:x:1004:1004
如果UID 1004已经是用户的UID,只需交换它们即可。 然后我们会自动看到:
root@slave:/home/charlie/replica# ls -ltr
-rw-rw-r-- 1 charlie charlie 0 May 26 08:56 test