如何解决DRBD 所有权问题
我有两个集群节点 server1 和 sever2 在 CENTOS7 上运行,我配置了 DRBD。我在两台服务器上都运行了 DRBD,并且正在复制数据。问题是当我执行测试故障转移时,用户和组所有权 (mysql:mysql) 在 server2 上安装时不一致,这导致 MySQL 在所有权更改为 mysql:msyql 之前无法启动。请帮忙。以前有人遇到过这个错误吗?
/proc/drbd server1:
[root@sis1 ~]# cat /proc/drbd
version: 8.4.11-1 (api:1/proto:86-101)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@,2020-04-05 02:58:18
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:21101 nr:2070 dw:23171 dr:4377 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
/proc/drbd server2:
[root@sis2 ~]# cat /proc/drbd
version: 8.4.11-1 (api:1/proto:86-101)
GIT-hash: 66145a308421e9c124ec391a7848ac20203bb03c build by mockbuild@,2020-04-05 02:58:18
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
ns:2070 nr:21101 dw:23171 dr:2916 al:2 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
解决方法
根据原帖中的评论已经确定,我怀疑两台主机上 mysql 用户的 UID 和 GID 不匹配。因此,在故障转移后,文件归 node1 上的 mysql 用户的 UID 所有,而不属于 node2 上的 mysql 用户。
确保 mysql 用户(理想情况下所有用户)的 UID 和 GID 在两台主机上匹配应该可以避免这个问题。