同步操作将从 happyfish100/FastCFS 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
2核CPU、4G内存、10G硬盘
当日志出现Connection refused
或者Transport endpoint is not connected
之类的异常记录。
请检查防火墙设置。FastCFS 共有9个服务端口,这些对应的端口应该打开:
11011
11012
41011
41012
31011
31012
21014
21015
21016
有。应按顺序启动fvote
(可选),fdir
, fauth
(可选),fstore
,fuseclient
。
支持。
实现机制:从本组的其他服务器上获取数据,恢复指定硬盘(即存储路径)上的所有数据。
使用场景:硬盘坏掉后更换为新盘,或者因某种原因重新格式化硬盘。
单盘故障恢复后,重启fs_serverd时,加上命令行参数 --data-rebuild <store_path>,
其中 store_path为要恢复数据硬盘对应的存储路径。
leader/master选举时采用过半数机制,一个分组的节点数最好为奇数(比如3个)。
配置项为 quorum,默认值为auto,表示节点数为奇数时开启,为偶数时关闭。
详情参见源码目录下的conf/full/cluster.conf
v3.4引入公用选举节点,在偶数节点数(比如双副本)时也可以防脑裂,详情参见配置文档。
为了保证数据一致性,当停机时间超过配置参数max_shutdown_duration(默认配置300秒),
需要等待本组的其他服务器在线才可以选出master/leader。
以3副本为例,如果3台服务器停机均超过max_shutdown_duration,而有的服务器没有启动,
那么master/leader选举不出来,导致不能写入数据。此时启动fdir_serverd需要加上命令行
参数--force-master-election,启动fs_serverd需要加上命令行参数--force-leader-election
faststore需要源码编译,修改make.sh,将
CFLAGS='-Wall'
修改为:
CFLAGS='-Wall -DFS_DUMP_SLICE_FOR_DEBUG=32'
启动fs_serverd,数据将导出到 $base_path/data/dump/slice.index,例如:
/opt/fastcfs/fstore/data/dump/slice.index
文件格式:
类型 文件ID block偏移量 slice偏移量 slice长度 数据长度 数据CRC32
可以通过 diff 命令比较同一组服务器下的两个节点导出的slice.index是否相同。
注意:-DFS_DUMP_SLICE_FOR_DEBUG=32 这个编译选项仅供测试环境进行数据一致性验证,请不要在生产环境使用。
这是因为客户端没有启用auth,需要将配置文件/etc/fastcfs/auth/auth.conf中的auth_enabled设置为true,修改后重启fcfs_fused生效。
友情提示:如何配置auth服务请参阅 认证配置文档
出错信息:reason given by server: No such file or directory
解决方法:
NFS v3直接使用服务端配置的目录如:/opt/fastcfs/fuse,而v4将服务端配置的路径作为基路径,mount要使用/
NFS挂载默认会使用最新的NFS协议,挂载命令示例(支持v4前提下使用):
mount -t nfs -onolock 172.16.168.131:/ /mnt/nfs
NFS v3挂载命令示例:
mount -t nfs -onolock 172.16.168.131:/opt/fastcfs/fuse /mnt/nfs
指定NFS v4挂载命令示例:
mount -t nfs -onolock,nfsvers=4 172.16.168.131:/ /mnt/nfs
友情提示:
FastCFS基于trunk file进行空间分配,目前trunk file只会增加而不会释放。文件数据删除后空间会回收利用,通过fuse client上df命令可以看到FastCFS的可用空间将增加。
一些特殊情况下,需要清除掉faststore的数据,此时要删除faststore的系统目录(server.conf中配置的base_path,默认为/opt/fastcfs/fstore)和用户数据存放目录(默认为/opt/faststore/data,配置多盘的情况要逐一删除数据目录),删除命令示例(文件删除后不可恢复,请再三确认后执行):
rm -rf /opt/fastcfs/fstore /opt/faststore/data
/opt/fastcfs/fcfs/logs/fcfs_fused.log 中的错误示例:
[2023-02-25 06:39:08] ERROR - file: client_proto.c, line: 607, fdir server 192.168.3.210:11012 response message: response status 1, error info: Operation not permitted
问题排查:
依次查看各台fdir server上的日志文件 /opt/fastcfs/fdir/logs/fdir_serverd.log,找到对应的出错信息,然后使用最新版本的fdir_stat 查看对应的完整路径(文件名),根据文件或目录owner、权限、访问用户及其用户组进行排查。
按文件或目录inode查询示例:
fdir_stat -Fn fs 9007199660325177
按父目录inode + 子目录名或者文件名查询示例:
fdir_stat -Fn fs 9007199667318991 test
友情提示:如果采用的是装包方式,程序fdir_stat 所在的rpm包名为fastDIR-client,deb包名为fastdir-client
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。