引出
fastDFS 版本 5.11,cent os 7, 问题复现过程:
- 安装集群,两台机器A和B,每台都有一个tracker和storage,上传文件,成功。
- A停掉所有服务,上传文件,成功
- B停掉所有服务,然后A启动所有服务,这时上传,失败,报找不到文件或节点,errno = 2
追踪
查看 data/logs/storage.log
发现storage没有挂上,不断连tracker失败。
因为安装使用的是自己编译的绿色安装包,
初步判断可能是基础库版本的问题,导致tracker在通信上的失败。因为绿色包不需要yum编译环境。
用redHat6.5下yum 打包so,最后的bin执行上述方案成功,重试一次,又失败了。
测试原版需要编译的版本,也有这个问题。
根据tracker.log debug 跟踪, 函数 tracker_get_writable_storage
发现trakcer_relationship.c并没有进行选主,尝试加日志重编译再开始
tracker报错行所在函数体有如下关系判断
tracker_mem.c -> 4267
g_tracker_last_status.last_check_time >