我有一个服务器,它通过NFS将一个包含约 700 万个文件(主要是图像)的目录从其本地磁盘导出到网络客户端。
为了 HA,我需要添加第二个,并使其与第一个保持同步,两者之间的增量尽可能小。
研究建议为此使用lsyncd或其他基于inotify的解决方案,但鉴于创建inotify手表的文件数量需要永恒。对于同样的事情rsync的。
其他可能的解决方案似乎是DRDB,或群集文件系统,如头孢或glusterfs,可是我不得不与那些没有经验,不知道哪一个会更合适,并与许多文件以及应对并仍提供不俗的表现。
请注意,活动主要是读取,很少发生写入。
在 GlusterFS 中,假设我在一个卷上有 2 个节点(服务器)。假设音量信息是这样的:
Volume Name: volume-www
Brick1: gluster-server-01:/volume-www/brick
Brick2: gluster-server-02:/volume-www/brick
Run Code Online (Sandbox Code Playgroud)
从客户端,我们知道,我们必须volume-www通过从一台服务器挂载来挂载卷。喜欢:
mount -t glusterfs gluster-server-01:/volume-www /var/www
Run Code Online (Sandbox Code Playgroud)
我仍然觉得有一个阻塞点,因为我gluster-server-01只连接到它。
当然,我可以再次从另一个健康的服务器手动挂载。但是有没有更聪明的方法(工业方法)来解决这个问题?
我有一个正在运行的六节点 glusterfs 集群。今天早上,我注意到其中一台机器表现得很奇怪,所以为了安全起见,我重新启动了它——手动 STONITH,如果你愿意的话。
重新启动后,其他三个节点在gluster pool list和中将重新启动的计算机识别为“已连接” gluster peer status,但另外两个节点显示“已断开”状态。奇怪的是,即使在 中显示“断开连接”的节点gluster pool list仍然显示为“已连接” gluster volume heal [volname] info。
我gluster peer probe从两边都试过了,没有效果。我已经验证,我可以从认为其“已断开连接”的计算机连接到重新启动的节点上的端口 24007 和端口 49154(gluster volume status在将其识别为“已连接”的对等体上显示的砖端口)。
/var/log/glusterfs/glustershd.log在将重新启动的服务器视为已断开连接的节点上包含:
[2018-01-09 11:36:39.258109] I [MSGID: 114018] [client.c:2280:client_rpc_notify] 0-palantir-client-4: disconnected from palantir-client-4. Client process will keep trying to connect to glusterd until brick's port is available
[2018-01-09 11:36:50.074074] E [socket.c:2309:socket_connect_finish] 0-palantir-client-4: connection to xxx.xxx.xxx.205:24007 failed (No route to host)
Run Code Online (Sandbox Code Playgroud)
然而,一个半小时后,它还没有重新连接,尽管第一个日志条目声称它会继续尝试。
鉴于这一切,我需要做什么才能让两个错误的对等点重新连接到重新启动的节点?
我正在测试 glusterfs,并且正在遵循有关创建设置卷的指南。我在尝试创建精简配置卷时遇到错误。这是部分
使用 lvcreate 命令从先前创建的池中创建一个精简配置的卷:
例如:
lvcreate -V 1G -T gfs_vg/gfs_pool -n gfs_lv建议在精简池中只创建一个 LV。
这是我遇到的错误:
/usr/sbin/thin_check: execvp failed: No such file or directory
Check of pool gfs_vg/gfs_pool failed (status:2). Manual repair required!
Aborting. Failed to locally activate thin pool gfs_vg/gfs_pool.
Run Code Online (Sandbox Code Playgroud)
谷歌搜索这个问题。我试图通过 修复它lvconvert,但它似乎不起作用
root@DSI:/home/main# lvconvert --repair gfs_vg/gfs_pool
/usr/sbin/thin_repair: execvp failed: No such file or directory
Repair of thin metadata volume of thin pool gfs_vg/gfs_pool failed (status:2). Manual repair required!
Run Code Online (Sandbox Code Playgroud)
有谁知道是什么问题?